Back

January 28, 2022

Reflections after 8 years as a software developer

My insights and tips that can help you in your professional and personal life.

careerattitudedeveloper

Over these 8 years working professionally as a software developer, I can say I've been through many stages and situations. In some, I would have quit it all and become a musician in some band. In others, everything was great and perfect. Today, everything indicates that I've achieved a balance between my professional and personal lives, and I can say with complete certainty that I really enjoy the software field and that I made the right call in leaving accounting and not becoming a musician.

A few days ago I realized I could share some reflections and lessons in an attempt to help people who are starting out in the field and perhaps bring different perspectives to those who are already more experienced developers.

Finding balance

1. Do good work for yourself, not for them

To me, this is the main lesson. Strive to learn, improve, and do things the best way possible — not for the company, but for yourself. The knowledge you acquire is yours, and no company can take it away from you.

2. If you get comfortable, you'll lose your chance

One of the worst things you can do in the development field is to feel too comfortable with your job and stop learning. If you do that, you'll be afraid to change and grow your career, and you'll also fear what might happen if you get laid off. Your options for improving your career or your life keep getting smaller, and of course, you'll eventually start to hate Mondays.

3. Critique the code, not the person

If a colleague does something wrong, there's a way to say it. Don't point a finger at the person, because you've also done wrong things in your career. Try to help everyone, improve the code or point out what can be better; that will make the person look up to you more and can turn you into a mentor.

Also remember: criticizing code is not criticizing the person. The code was or is bad, not the person. And finally, everything can be improved!

4. Invest in good tools for your workspace

When I started working from home, I sat on a dining room chair, my computer was slow, I didn't have a second monitor, and I had no backup in case the power went out.

After 1 month I noticed the problems: back pain, poor productivity, time lost waiting for the computer to run something.

I bought a chair, got the second monitor that was at my parents' house, requested a laptop upgrade, and later bought a UPS. At the time it all seemed very expensive, but today I see them as investments. I no longer have back pain and I'm able to be more productive.

5. If you have days to rest, rest

Not everything is work and money. Taking vacations and enjoying weekends and holidays will be good for you — to think about whether you're comfortable with what you're doing, or to do different things and disconnect from your routine.

I've always had my best ideas in my free time, and the best decisions of my life were always made during my free time.

6. Technical debt is bad

Technical debt is a concept in software development that reveals the implicit cost of extra work caused by an easy (limited) solution in an attempt to speed things up, instead of using a better approach that would take longer but deliver better results in the long run.

If you do things quickly, without applying good practices and without thinking enough, you'll suffer in the future and will have to spend hours of your free time fixing it. A book tip that covers this is Clean Code: A Handbook of Agile Software Craftsmanship.

7. Learn to read the documentation

The rush to use something makes us skip the documentation or fail to understand how to use it properly.

If you want to do something right without wasting time, don't take shortcuts. Read the documentation carefully. Otherwise, you probably won't do things the best way possible.

Be critical of StackOverflow, Google, and other sources. Don't just copy the solution — understand it.

8. Keep your own pace

The development world evolves very fast; every day a new framework and a new tool shows up. Take it easy and keep learning and growing, always at your own pace. Don't panic if you can't learn everything. The key is to learn the important and fundamental things well.

9. Learn to disconnect

Don't take work problems home. If there's a bug or a technical problem you don't know how to solve, leave it for the next day. In the end you'll save time and you won't hate your job because you spent all day trying to fix something. A rested mind is much more efficient.

Otherwise, anxiety will keep you awake, and the next day you'll start with the same problems, but sleepy and tired. This isn't easy to put into practice, but it's one of the most valuable things I've learned.

Conclusion

What I've written here is a personal opinion and may seem obvious. But on many occasions, even knowing how we can improve our work and our life, we don't do it. Don't leave it for the last minute — if I had applied these same tips when I started, I'm sure I would have saved time, headaches, and stress.

Remember that there is no single path; make your own. Some things may not work for you, so focus on your own plan. Don't compare yourself to others; compare yourself to yourself and see how much you've improved over time.

And finally, have fun! Enjoy the journey and stay positive. :)