Skip to content

How to get better at web development

Posted on:September 19, 2023

Here are some quick and field-tested tips to enhance your craftsmanship:

1. Pick one language

And master it. You won’t become a master overnight, but you should aim to become comfortable with its syntax, use cases, best practices, and more.

The best way to achive this? Build something. While you can gain knowledge from watching tutorials on YouTube or reading articles, quick learning often leads to quick forgetting. The difference between hearing about something and actually experiencing it is massive. Build anything on your own. Face problems, confront unknowns, and when you overcome them, you’ll gain valuable lessons.

Building something doesn’t mean finishing something. It’s ok to abandon a project if the goal was to learn. As long as you learnt it, move on and never look back.

2. Build larger projects

Some problems only reveals themselves in large codebases. How about managing files and directories? How do you handle the little complexities sparkled all along the code? When should you refactor a significant chunk of functionality in an application?

You face this kind of problems on a daily basis when working as a developer, and the intuition to grasp what’s going on and fix problems before they become unmanageable is a really usefull skill to have.

3. Dont commit to main, review your code.

Looking to a code as a creator is a completely different experience than doing it as a reader or reviewer.

When you code it, you know all the nitty-gritty details. Why this is this way and not another. Why someting is implemented in a certain manner, etc. You get the point.

But when you review code, your focus should be on questions like “Why did the developer do it this way?” or “What is the purpose of this code?” or even “Wtf is this?”

Allow your code to rest for a few days, then return to it with fresh eyes to identify weak points. Has this module and easy to understand interface? Is your code explict or you need to have good understanding of other parts of the codebase? Can you make this function a little bit more general without compromising the solution to your current problem?

This are questions you have to do when you code, but, as we do, we usually think tactically instead of strategically1. Reviewing code allow us to deliver better and more maintenable code.

4. Don’t be a lone wolf, collab when you can

Being a good developer means more than just producing quality code; it also involves discussing approaches, defending your point of view, reaching consensus on technical decisions, and more. Technical skills add value, but soft skills multiply it.

Additionally, collaborating exposes you to different problem-solving approaches and perspectives you might not have considered. That’s real experience right there.

5. Expose yourself to as many sources as posible

Watch conferences, read blog post, understand what they are talking about and THINK about what, or how, would you do it. Did you feel you lack resources to form an informed opinion about something you’ve encountered? That’s great, you have just found a new opportunity to fill a knowledge gap.

6. Read books, or at least start them

I think that technical books -or another programming related books, really- are an excelent source of knowledge even for a first time approach to any topic. The effort and thought put into a book is something really valuable, hardly found anywhere else. You want to get a good grasp of a certain topic? You have a good chance of achieving it by reading first chapters of a canonical book in that area. You really want to go down the rabbit hole for this topic? Read the book entirely.

7. You know something? Then teach it

I’m almost sure that you, reader, are just a regular programmer, not a 10x coding god or something. Well, you have another background, you have faced another problems, or solve mines in another way. You know stuff, share your knowledge. I’m sure that you have read this before, but it’s true: Teaching something forces you to verbalice what you know, and doing so it present yourself all the holes in your knowledge of the topic that prevents you to get the whole picture. In order to teach things, you have to break down difficult concepts, understanding them fully.

If you do this in public like, for example, by writing a blog, you will also get the advantage of constructive criticism. If you make mistakes, people will correct you, helping you improve. Also, commenters will recive an ego boost2. Win-win

8. Get out of comfort zone

Are you working routinely? try to elevate your game. Push yourself, see how far you can make it. Push your boundaries, challenge your limits and make that strange and daunting zone, comfortable too.


Footnotes

  1. Programmers, specially early in their careers, focus on get the problem solved, no matter how. With this approach is really hard to create a good system. When coding strategicly, for instance, we rather solve the current task slower but without adding unnecessary complexity to the codebase.

  2. Beware of the god complex, thought.