I have been in web development for more than five years and it’s been quite a journey — trying out different technologies and experimenting with different styles. I’ve been successful at times, but I’ve also had my fair share of disappointment. In this post, I’m going to talk about certain realizations I’ve had over the course of my life as a web developer, with the hope you can learn from my mistakes.
1. Write Clean Code
The first thing you realize when you start making large applications is that a huge amount of time is required for debugging. Often, you’ll spend more time debugging than writing new code.
In such a situation, it’s highly important you write properly indented and commented code, which adheres to best practices. Imagine you have hundreds of lines of code, and you have no idea what’s causing a small bug. What’s worse is that if you write unreadable code, you’ll probably fail to understand what each snippet does after some time. Are you sure you want to go down that path? Here are some tips to make writing clean code easier.
2. Language first, framework later
People often first learn the tricks of a framework, and then move on to the language. That’s actually not the right way to go.
The popularity of Django can be attributed to the strengths of Python — so it’s important that you get comfortable with Python before trying out Django and not the other way round.
The simple reason here is that if you know about the underlying language, it helps you understand how the framework works. If you have no idea about the trades of a a language, there is no way you will understand why something is done a certain way in the framework.
4. Don’t just read, implement
I’ve often seen developers read through tutorials or sometimes even whole books without anything much to show for it. However, my biggest concern is how much would you retain if you just read?
If you want to learn Ruby on Rails, try to develop a small application as you are going through the documentation or a set of tutorials. If you want to try the MEAN stack, get it running in your local machine and explore the different options — that’s the best way to learn!
5. Jack of all trades, Master of one
It’s good to explore new technologies, but one must remember to stick to one for most purposes. It’s always tempting for beginners to learn multiple languages at the same time, but it’s advisable to stick to one until you develop a certain level of mastery over it.
Once you have a go-to language for your day-to-day needs, you can move on to new ones. You may also changed your preferred language in this process, but attempting to master one before you move on to others is often a wise decision. Here’s some advice for choosing which one to start with.
6. Learn version control
In today’s world, it’s very rare that you work on a project alone. To collaborate with others, you need to learn something called version control!
Developers usually don’t dive into version control until they absolutely need to do so. However, as version control is necessary to work in a team, it’s a good idea to understand how it works and the basic commands that get you started early on.
7. Learn from the work of others
Mastering a technology on your own is great, but sometimes you learn a lot by just looking at the code of others. Be it your colleagues or random tutorials on the internet, try to find why someone approaches a problem in a certain way — and ask questions if necessary.
It’s also important for developers to realize that it’s impossible to know everything, but the knowledge is out there — you just need to Google it. As a beginner, if you’re stuck there is high probability that someone like you had the same problem in the past and the solution is somewhere out there in the internet (this often happens to the veterans too!)
8. Ask for code reviews (and enjoy them!)
Over the years, code reviews have immensely improved my programming skills. Proper code reviews take time on the part of the reviewer, so you should always ask others to review what you have written — your peers as well as mentors. It helps expose loopholes in your approach, and makes you learn. If you find someone who genuinely takes interest in reviewing your code, take their reviews seriously. Here’s a look at an advanced way to code review.
Lastly, never take code reviews personally. Code is like art — it’s difficult when someone points out errors in what you have created, but code reviews can only make you better — provided you take them the right way!
This post stems from my experiences as a web developer and what I have learned from events that have shaped my life. For further reading, check out this article on how to be a good developer.
What have you learned that you would have loved your younger self to have known? Let us know in the comments below.