Web development is really REALLY hard! 🪨
Happy New Year everyone! Just like every year since 1998 when this site started, I am looking forward to sharing more developer tips and connecting with you all over the next year. It’s going to be a blast! 🚀
This iteration of the newsletter is about acknowledging the immense difficulty we will encounter when learning web development. It’s one of those important topics that we should acknowledge more often.
Web Development is Hard!
Let’s address one thing up front: web development is hard. This “web development” thing isn’t a single language or uber-concept that we can quickly learn and be able to start building things in. It is three complex languages in the form HTML, CSS, and JavaScript that are both wide and deep. We need to know how each language works in isolation, and we need to also know how to choreograph and combine the languages together to create something that resembles a web page:
Homer's web page!
There’s more. This view of web development is still a bit oversimplified. Many web apps today are built on top of modern frameworks like React, Angular, and Vue. These frameworks are themselves frameworked by libraries that extend and make them more powerful. For example, Next.js takes React and makes it more suitable for apps. Nuxt does something similar for Vue.
Now, let’s throw in the build process. How do our web apps ultimately find their way to our users? What does the CI/CD pipeline look like? Where do we host our web apps? What is the testing strategy - unit tests, visual regression tests, or something else?
And what about…
Phew! Learning web development is like partaking in a journey wrapped in a marathon while swimming upstream with a bear and unicorn chasing you. This challenging-ness doesn’t mean we shouldn’t take the first step, or the next step, or the one after that in becoming a web developer.
Where to begin?
As you and many of your peers are taking the steps towards becoming proficient in HTML, CSS, and JS, I often get asked the following question: How do I get started? What is the best way to learn?
The first step is in finding out how comfortable you are with the basic web concepts. The Building Your First Web Page article and video is the perfect starting point where you build a page that contains a bit of HTML, a bit of CSS, and a bit of JavaScript. As you are going through it, pay attention to what parts make a lot of sense and what parts are confusing. That will give you a good signal on which topics to dive deeper into.
Be Consistently Persistent
The most important thing is to keep at it. Be persistent. You will run into roadblocks. Your code will look 100% correct, yet it won’t work in the browser. The div
element that should be left-aligned will be center-aligned for some reason. When someone on a mobile device visits your page, the page freezes. There will be no shortage of issues you will run into, but tackling each issue head-on will teach you important techniques that will help make you a better developer.
Remember: you are not alone in this. Don’t hesitate to post on the forums if you need some pointers from me and a community of over 200k developers like yourself who are at various stages of becoming a web developer who will be happy to help you out! 🐘
Till next time!
Kirupa 🥳