Interest

reflections 2 years as an developer

reflecting on my journey 2 years in as a developer and the advice i'd share with my beginner self

Rounded avatar
Mohamed Hassan
reflections 2 years as an developer

Reflecting on my journey over the last 2 years, there have been many lessons, some of which I had to learn the hard way. If I had to do it all over again, I would have definitely done a lot of things differently, here is what I would advise my beginner self:

1. Optics is often more important than what you do

Managing how your work is perceived, especially when dealing with non-technical folk, will significantly impact your success and the opportunities provided to you.

2. You’re doing great work, but probably undermining it

Somewhat relating to the previous point, when it comes to discussing your work, it’s easy to simplify it to a mere “creating a button”. But the truth is, so much more went into creating the button than just creating a button. You’ve developed a reusable button component, with multiple variants, and written tests, ensuring its reliability and functionality. You have also replaced the old buttons with the new one.

It’s essential to communicate the full scope of your work because, beyond the other engineers working with you on a day-to-day basis, no one else really understands the depth and significance of your contributions.

3. Networking is overrating

In my experience with networking, it often takes the form of a transactional interaction between people seeking to add value to each other’s work/lives. However, the challenge arises when you have no value to offer to someone you want to network with. There’s a successful founder who has bootstrapped a startup that recently got acquired and you’re hoping to network with him - what benefit would he get from networking with you?

I don’t want to reduce human interactions to an exchange of value, but I think this is important. Additionally, there are some really cool people who will network, give you advice, and even mentor you, but unfortunately, not everyone is cool.

Develop expertise in a specific niche and become someone that you would want to network with.

4. Make sure you’re working towards something that can be measured

Progression is a massive pain point, there is nothing more frustrating than having arbitrary targets like “be more engaging in meetings” that put you at the mercy of your manager who will decide whether you’re achieving them or not on just vibes- get ahead of it!

5. Master your craft and block out low-level noise

Backend, Cloud, Blockchain, AI, etc, the technology that you could learn is forever expanding. Even within the FE, the sheer volume of knowledge available is often overwhelming - my advice, hone the skills that you’re supposed to be good at.

Instead of trying to develop expertise in everything, it is in your best interest to be an expert in your area (for me FE). If you’ve been hired as a FE Engineer, you’re better off being an 8/10 in the FE and 2/10 in the BE rather than being a 5/10 in both.

This isn’t to dismiss the importance of adding breadth to your knowledge, it’s just to highlight that a reasonable amount of depth comes first.

6. More code isn't always the answer

The core of the work we do as engineers lies in solving problems, writing code is just one way to solve a problem. Not everything can be solved by writing more code, something that I had to learn the hard way.