From Junior to Mid-Level Software Developer: How I Did It (And How You Can Too)
TECH NEWBIESMINDSETCAREER
9/1/20254 min read
Dear reader, I have a major update: I was recently promoted from Analyst to Assistant Vice President. Whoop whoop! 🎉
When you’re a career switcher (quick recap: I used to be a Pharmacist before pivoting into tech… I know, wild right?), there’s always that tiny voice whispering: “Did I make the right choice?”
This promotion, just 2 years into my role, was my proof that yes, I did. And it got me reflecting on the last two years: the wins, the struggles, and the specific things that helped me grow from junior to mid-level developer.
If you’re looking to make the same leap, here are the 5 things that changed everything for me (and can for you too):
1. Creating a roadmap (and getting my manager on board)
One of the first things I did was get clear about what someone who was at the next level actually did. I wanted to know how they thought, what they worked on, and how they worked on it. I went through this with my manager, and together, we came up with tasks I could execute throughout the year that would demonstrate these competencies. In Community Pharmacy, we didn't really have 'promotions' per se. It's quite normal to maintain the same position for decades. So all this stuff was pretty new to me. Doing this exercise with my manager made my pathway so much clearer - I now knew where I was heading, and I had a concrete plan on how to get there.
I built my own ‘brag sheet’, which had the goals we had set out for the year. Every time I did something that would prove as evidence for one of those competencies, I would add it to the document. This enabled me to keep track of everything and ACTUALLY remember it because trust me, you won't remember everything unless it's written down. This eventually provided a bulletproof case when it came to the review season.
👉 So, if you don’t have a roadmap yet, start by asking your manager what a “mid-level” looks like where you are. Then use this FREE brag document to track your achievements.
2. Choosing discomfort on purpose
I’ll be real with you, growth in tech does not come from playing it safe. As juniors, it’s easy to stick to the tickets where you already know the solution. But those tickets won’t stretch you.
So I made it a rule: at least some of the time, I’d pick the scary tickets. The ones I looked at and thought, “I have no idea where to start.” That’s where the real learning happened.
Yes, I asked a million questions. Yes, I made mistakes. But I also built confidence, learned to collaborate, and discovered areas outside my stack, like dabbling in DevOps and even touching UI/UX.
👉 For you: Next time you’re choosing tasks, ask yourself, “Does this make me uncomfortable?” If the answer’s yes… take it.
3. Making learning non-negotiable
Tech moves fast, and if you don’t carve out space to learn, you’ll blink and feel left behind.
One thing I made sure to do was to be intentional about having learning time, whether it was in my spare time, or during some free time at work. For me, this looked like:
Getting more advanced in my current tech stack by reading a React newsletter on my commute
Doing a quick Udemy lesson at work
Experimenting with side projects on weekends
Even 10 minutes a day compounds over months. And when you’re intentional, those “small” moments of learning make you sharper, faster, and more confident at work.
👉 Ask yourself: Where can you sneak in 10–20 minutes a day? Commutes, waiting for dinner to cook, even scrolling time. Replace just one of those with learning, and watch how it adds up.
4. Building relationships outside my team
Contrary to popular belief, your performance accounts for only about 10% of your overall career success. This surprised me too, I used to think promotions would come simply by keeping my head down and churning out code. But I was wrong. Exposure has the greatest impact on your career. After all, what’s the point of producing great work if no one knows about it? Exposure is about putting yourself out there, being known and letting people know who you are and what you can do.
For me, this meant staying genuinely interested in people across the firm and their roles. I scheduled coffee chats, built a network beyond my department, and cultivated mentors, sponsors, and friends who made coming to work enjoyable.
Not only did this broaden my perspective on how the business operates, but it also opened doors to opportunities I would never have discovered otherwise.
👉 If you’re shy about networking, start small: book 15 minutes with someone in another department and just ask them about their role. You’ll be surprised how much you can learn (and how much more visible you’ll become).






5. Sharing knowledge early and often
Like many other Junior developers, I too fell into the trap of thinking that I needed to "know everything" before I could share anything of value with my team. But one of the greatest lessons I learnt is that sharing is how you learn.
I started small, writing documentation, volunteering to pair program, mentoring interns. Every time I taught something, I learned it deeper. And it positioned me as someone who adds value beyond just coding.
👉 Don’t wait until you feel like an “expert.” Share what you know right now. Future you will thank you.
That’s how I grew from junior to mid-level in 2 years: with a roadmap, by choosing discomfort, making learning non-negotiable, building relationships, and sharing knowledge.
If you’re aiming for that leap, here’s what I want you to take away: you don’t need to be perfect. You just need to be consistent, curious, and willing to stretch.
Your promotion is closer than you think.
Until next time,
Ruth