The first six months

Lessons learned as a junior developer

August 24, 2022 · Felipe Vogel ·

I’ve reached a milestone: six months into my first developer job 🎉 Time for some reflection! What have I learned? If I were to give advice to myself six months ago, what wisdom would I impart? Here are a few highlights.

Find balance

Learning the ropes as a junior developer can be exhausting, especially if you have a competitive “gotta get tons done” personality like I do. Impressing your peers and exceeding your manager’s expectations feels so good that it’s hard to slow down.

But the cost is real, as I’ve been painfully reminded. A couple times already I’ve gotten into a cycle of overwork ⇨ burnout ⇨ lethargic exhaustion ⇨ panic ⇨ repeat. More recently, here are some ways I’ve found to stay out of that unpleasant cycle:

Keep up your learning journey

For two years before I got this job, I learned programming on the side while working a “pay the bills” type of job. It was a huge relief to put that stage behind me, but a few months into my new job I found myself missing the freedom and adventure that I felt when I was learning programming.

Thankfully it was an easy fix, because I was the one holding myself back. Juniors at my company are encouraged to take time to deepen their skills, apart from product work; I just wasn’t taking the time. Part of the problem was that I simply needed to slow down (see above). As soon as I did that, it became easier to spend an hour here and there on learning and deepening my skills.

I’ve found a few other practices useful in maintaining a learning habit:

Don’t be a silo: connect more, communicate better

Working remotely (as much as I love it) can make it harder to connect with others unless you’re very intentional. I mean this both in the sense of getting to know my colleagues, and also in the sense of hashing out important information.

An example of the latter is communicating with all stakeholders and making sure we’re all on the same page. I’ve found myself in situations where different people want different things from a new feature that I’m working on. The first time this happened, it was fine because I just added extra features that weren’t in the original spec, and everyone loved it. A few weeks later, as I worked on a different new feature, I again made adjustments mid-course based on feedback from a stakeholder, but this time it didn’t turn out so well. The adjustments I made departed from the original spec in ways that I realized were unacceptable only after a barrage of questions and complaints from other stakeholders. I then had to rush to redo some of my work on my last two days before going on vacation. Moral of the story: don’t be the monkey in the middle! 🙈 Get everyone together in the same room (Zoom call) if necessary.

As for getting to know my colleagues, I did great at the beginning when I scheduled an introductory Zoom call with each and every person in the product and engineering departments. However, it wasn’t long before I lost touch with even the handful of juniors that started at the same time that I did, and only now am I reconnecting with them. My hope is that we can get back to telling each other about our struggles and successes, as well as sharing new things that we’re learning.


I have a few other regrets about the past six months, but they all go back to these three lessons I’ve learned: find balance, keep learning, and don’t be a silo.

More fundamentally, I’m trying to shift my focus away from regrets and mistakes, and instead appreciate all that I’ve learned. These lessons are already helping me be happier and more fulfilled, and that makes me even more excited for all that I’ll learn in the next six months.

👉 Newer: OOP vs. services for organizing business logic 👈 Older: RVTWS 🚀 Back to top