Thoughts about Web Development and Coding from a Newbie
Older Article
This article was published 7 years ago. Some information may be outdated or no longer applicable.
For someone who uses computers as an everyday user, getting involved with code and development sounds both scary and exciting at the same time. I used to think about computers as a tool necessary for my day-to-day job (writing documents in Microsoft Word, creating simple relations and calculations in Microsoft Excel). Then I got curious. What’s behind every programme? How does browsing the web work? What happens in the background when I click the subscribe button on my favourite page? How much work sits behind that simple button the user interacts with for a millisecond?
These questions pulled me slowly into the world of coding. When I started reading articles and watching videos on YouTube, my jaw dropped at the amount of information, programming languages and tools that are out there. That was just the tip of the iceberg (and trust me, even this tip contains a mountain of uninterpretable information for me right now).
If you think about computers and applications a little deeper (not as an everyday user), every single pixel, every button, everything you see on your screen at this very moment is there for a reason. It was developed by someone who turned a dull, blank page into something functional and added behaviour to it. To me, this is like painting. Someone has created something remarkable from a blank canvas using imagination and creativity.
Roadblockers, or are they?
Are you any good at maths? and Isn’t it unfortunate that you didn’t learn this “thing” in school? are the first two questions my friends, family and colleagues fire at me when I tell them I’m interested in web development. These assumptions couldn’t be further from the truth, and they lead people to some incorrect conclusions.
I think for some things, schools aren’t necessary. If you’re interested (and I mean, really, really interested), and if you’re dedicated enough, you can learn to code by yourself. The open world of the Internet puts every piece of information a few clicks away.
I wouldn’t say maths is strictly needed for coding, but they do share a connection. Maths also teaches logical thinking, something crucial for coding as well.
There are of course some programming languages or situations where maths is an absolute necessity, but for creating a basic web page, you won’t need to know how derivation and differential algebra work.
A different world
When I started learning how HTML works, I put my headphones on, hit shuffle on my favourite songs and started typing weird-looking angle brackets. I was able to create something and see the end result appear on my screen. That was a magical moment, and it made me want to learn even more.
I know that many people already working in IT wouldn’t agree with the above. Programming isn’t only about creating. There’s debugging and other tasks that can make a developer’s life miserable. But it’s always a matter of perspective. Think about the religious war around working from home versus working from an office. The feeling of creation is what caught me first. There are no limitations to what you can create (except the rules of the actual programming language and whatever restrictions you impose on yourself).
If you want, you could make a pink dancing elephant as your cursor. Or you could build something more useful. Everything is a matter of time and patience. I know it sounds like a cheap motivational speech, but anyone who puts enough time and energy into coding can achieve quite a lot. To me, this is the real advantage of programming: your projects depend on you, not on others. You’re responsible for your work, and you know your limitations. If you put in 100% effort, the final product will come out as you planned it. In other fields, where you’re just a cog in the machine, if others put in 90%, it doesn’t matter if you give 100%. The result will still be an imperfect project.
Learn, learn, learn
The constant development and the sheer size of this field can be intimidating. People may think “I’m never going to acquire the necessary skills for programming”. But it’s just like working at any department of a company. In a logistics company, the warehouse manager doesn’t need to know the transport planner’s job as deeply as their own. You pick the right segment of the programming world, the one that fits you best. If you’re a full-stack web developer, you don’t necessarily need to know how machine learning works. If you’d like to programme displays on trains (why not!?), you don’t need to understand CSS.
I also believe that the constant learning that comes naturally with programming is motivating, even though some people find it daunting. You’ve got no chance of getting bored with your daily work because there’s always something new to pick up.
Because of the constant growth in this field, you can build a stable career with many opportunities for progression. Web pages and web applications are already woven into our everyday lives. Life would be much harder without them. Think about how easy it is to buy a concert ticket or check the train schedule online. Have you seen what Smart TVs are capable of, not to mention Smart Fridges? Developers behind these applications are working on such innovations every day, making our lives more comfortable.
My plan
I plan to start acquiring web development skills. I’ve already started with HTML and managed to put together some basic sites that, well, have the classic ’90s look. My plan is to continue learning modern web development patterns and architectures while picking up CSS and JavaScript. When it comes to JavaScript, there’s a lot of material out there plus a ton of frameworks and libraries. The JavaScript part looks the most terrifying, but learning the easy parts never made a huge impact. With sacrifice comes great reward. Along the way, I also plan to learn about DOM manipulation and some backend basics. At this point, I don’t even know where to place some of the languages, tools, techniques and technologies I’ve read about. But maybe we’ll talk about those in a later post.
Conclusion
I’ll record my learning progression on this blog. For now, I can only hope that this post will make others feel like they want to give coding a go, or at least that it’ll be useful for other beginners to get a push from an absolute newbie jumping headfirst into web development. See you at the deep end!