Post
Web Development
HyperText Markup Language (HTML
CSS
WCAG
Localization
Software Development
Project Management
Information Design
Typography
Image
Build
Static
Shop
CSS Optimization Basics
Bulls.)Beginners
recommendations.)Not
6–12 months—
Web Development
The Communist Manifesto
The Web Development
Simple
Focus
Jens Oliver Meiert
❧
Karl Marx
Friedrich
Passive
No matching tags
No matching tags
ES
❧
themselves).Second
No matching tags
One of the greatest aspects about web development is probably that the results show immediately—save an .html file, open it in a browser, test any content, structure, styling, scripting changes instantly. This practice seems important for every web developer. For a web developer to become good at their work, and particularly to become excellent, they need to acquire a great grasp of what’s happening around them. ❧ At this point, what we’ve covered must appear more like maximal rather than minimal web development. After we’ve learned and practiced and published for a while it’s time to lock in on the primary goal of minimal web development: to find the shortest way, to determine the least amount of code possible to build whatever we set out to build. Normally we do want to find a balance (and balance is important in many matters web development)—but here the goal is to first go for what’s most minimal, what’s the minimum needed, what can achieve the result and do the job: the shortest way. To repeat the objective of this writing, emphasis is on learning minimal web development, and to take it from there. That is also true minimal-simple: for understandable-simple, it’s not, not for each and every developer. The ambition to become a professional, an expert web developer who knows their craft so to find effective but simple solutions comes with another particular balance to strike. A sketch about minimal web development, yes—what’s most important to it. In a nutshell: Understand the technologies by reading the standards and specifications, by practicing, and by publishing; familiarize with related topics; do it yourself; look for the shortest way by keeping things simple, by tailoring, and by telling simple and simple apart; automate; and review. Developing as much as possible.One of the greatest aspects about web development is probably that the results show immediately—save an .html file, open it in a browser, test any content, structure, styling, scripting changes instantly.This ease of trying things is an advantage. It allows us to be very fast in setting up test cases as well as entire sites and apps, and therefore to build up experience.This practice seems important for every web developer. There’s a tremendous difference in perception of a web developer with a quality website compared to one without one (or a bad one).❧ Reading the specs, practicing, and publishing: When exercised diligently—over the course of 6–12 months—, these make for a great basis, after which it’s time to look at some specifics.Web development is not a small, isolated topic. For a web developer to become good at their work, and particularly to become excellent, they need to acquire a great grasp of what’s happening around them.To give an impression of what topics and areas should be of interest, but also to convey that not everything is of equal import, one may categorize those other areas as “primary” and “secondary” topics to familiarize with.The following topics all serve the “Big Picture,” and still, the two lists aren’t exhaustive.For few of these topics is there a single main resource; the list may get amended to point to outstanding books on the matters. Some topics, like character sets and encodings to pick just one example, are not part of these lists because luckily, this situation seems so much under control that a web developer may not anymore in their career stumble into difficulties and issues related to them.❧ At this point, what we’ve covered must appear more like maximal rather than minimal web development. Most of all, practice means to do it yourself—without any direct help, and without any tools that take over our tasks.There’s the option to use tools for development, and tools are increasingly important—even critical in complex projects—, but they’re as useful to learn coding as it is to use ready-to-heat-up dough and buns to become a baker. That refers to tools that do things for us, of course, as editors are still as allowed as are ovens: We just don’t want the editor to auto-correct or auto-strip or auto-compress just yet, much as we wouldn’t want the oven to auto-blend and auto-spread and auto-check to assist the baker apprentice.To practice and code for ourselves, what is allowed, and what isn’t?These lists are neither ordered nor exhaustive.❧ The benefits are as manifold, as the approach aims toThe goal here, after all, is to learn the craft of web development. Over time, and my suggestion is again to work like this for 6–12 months, we can add and play with tools; but as much as tools are important, and again critical in large-scale projects (really not so much in small ones), they’ll leave our story now.After we’ve learned and practiced and published for a while it’s time to lock in on the primary goal of minimal web development: to find the shortest way, to determine the least amount of code possible to build whatever we set out to build.This isn’t simple itself, and, as I’m explaining in CSS Optimization Basics, it’s the mindset that’s really interesting here. Hence the differentiation between minimal-simple and understandable-simple.Normally we do want to find a balance (and balance is important in many matters web development)—but here the goal is to first go for what’s most minimal, what’s the minimum needed, what can achieve the result and do the job: the shortest way.The task still requires understanding, but after one has thoroughly understood and pierced through the topic. To repeat the objective of this writing, emphasis is on learning minimal web development, and to take it from there.Keeping it simple, therefore, is first leaving out what can be left out.Keeping it simple then also demands for the notion of tailoring. (Yes.)If the goal is quality, however, and excellence, indeed, then tailoring is mandatory, and it brings up one important condition and one important practical point:The condition is to know our needs, because otherwise we cannot develop nor even customize anything so to truly suit us.The practical point is to be aware of customization, because yes, we need it for tailoring, but no, it’s also a burden on our resources, asking for development time. That is also true minimal-simple: for understandable-simple, it’s not, not for each and every developer.The example shall remind us where we want to take minimalism, but also show a potential pitfall regarding the balance mentioned: It’s greatly instructive and impactful for us to explore the absolute minimum possible—that’s absolutely encouraged here—but there’s another dimension then in that later, once we managed to push all the way for minimalism, we use the experience we acquired to find those spots that allow, in our teams, the right amount of understanding and, with that, collaboration.Minimal, yes, but not at all cost. Simple and simple.The ambition to become a professional, an expert web developer who knows their craft so to find effective but simple solutions comes with another particular balance to strike. That balance is to automate as much as possible without, at least at the current stage of our field, getting too comfortable and neglecting the craft itself.This may sound more obscure and difficult than it is.First, the recommendation for the already knowledgeable developer is to automate: Any task repeated should be checked for automatability through scripts and tools. This sense and skill is useful to be developed and fine-tuned, and it makes for an invaluable asset especially in enterprises involving more than one person (the developer themselves).Second, balancing needs to take place where either of the following is true:The first reason makes it economically unwise to automate; the second regards quality a greater priority than efficiency; and the third places higher value on the craft and teaching it than on the efficiency achieved through automation. Reviewing our work—which never precludes understanding and contributing to others’ work—is the counterpart to the more chance-based opportunities for improvement we get through our peers, when they eventually (or not) comment and review and file bug reports against our work.Reviewing, or auditing, or criticizing (as in analyzing) one’s work, is important: We want to acquire a habit of healthy self-reflection so to improve our work and its produce.The ways are manifold, for there’s the option to review everything from code snippets to entire repositories; one can establish a practice of sanity checking code by oneself if there are no peers to review it; reviews can then be one-offs or scheduled to be repeated.Automated tests, then, are part of the review process, too, and so are reviews through external experts. A sketch about minimal web development, yes—what’s most important to it. In a nutshell: Understand the technologies by reading the standards and specifications, by practicing, and by publishing; familiarize with related topics; do it yourself; look for the shortest way by keeping things simple, by tailoring, and by telling simple and simple apart; automate; and review.That may be one basic and perhaps a little different approach—to minimal web development.
As said here by