When I Was a Mid-Junior Mobile Developer

Amorn Apichattanakul
4 min read10 hours ago

--

In the previous article, we explored what it takes to move from a Junior Mobile Developer to a Mid-Junior role. Now, let’s look at what life is actually like in this next stage of your career.

1. More Responsibility & Independent Problem-Solving

When I became a Mid-Junior Developer, I noticed a big shift in how I worked day to day. As a Junior, I often ran straight to a Senior Developer whenever I hit a snag or needed direction. But once I stepped up, the expectation was different — I had to figure things out myself first.

Self-Reliance: I had to identify problems and propose solutions before approaching a Senior Developer. Rather than asking them “What should I do?” I’d say “Here’s what I think we should do — does this make sense?”

Adapting Solutions: Seniors would give feedback or share an alternative approach, but I’d still need to blend my own insights with theirs. Ultimately, I knew the codebase or issue in detail, so I had to decide how to implement the final fix.

This shift forced me to be more analytical and confident in my problem-solving. It wasn’t enough to rely on someone else’s plan; I had to own the process from start to finish.

2. Staying Current with Tools & Platforms

Moving into a mid-junior role also means keeping up with new APIs, devices, and frameworks from Apple or Google. You need to stay aware of upcoming changes in Swift, Kotlin, or Flutter — especially anything that might break your code in the future.

Since you’re the one shipping features and guiding junior developers, it’s crucial to understand:

Certificates & App Store/Play Store Policies: Know how to submit apps, navigate release processes, and comply with platform guidelines.

Available Tools: Use CI/CD and other resources from App Store/Play Store to streamline development, help your team, and support the business effectively.

3. Mentoring Junior Developers

Another major change was the increased mentorship responsibility. Suddenly, I found myself in the position where Juniors were coming to me with questions, much like I had gone to Seniors before.

Guidance & Empathy: Because I had recently been a Junior, I understood where they were coming from — what struggles they faced, how they felt about asking “basic” questions, and what mistakes they were likely to make.

Growing as a Leader: Mentoring isn’t just about teaching others; it’s one of the best ways to sharpen your own skills. Explaining concepts clearly forced me to revisit my own knowledge and fill any gaps I discovered along the way.

Being the “go-to” for Junior developers helped me realize how much I had grown. It also underscored the importance of communication — a skill that becomes even more critical as your responsibilities expand.

To Sum Up:

Your basic coding knowledge is already strong — keep building on it. However, you also need to focus on “best value” rather than just “best practices.” As a junior developer, your main concern was typically coding itself, but as a mid-level developer, you have to factor in value. For example, is it worth doing something now? What if we don’t do it immediately? How might that affect future outcomes?

At this stage, you don’t need to make all the final decisions by yourself — just start thinking about these questions. You can (and should) still consult senior developers for their opinions.

What You Need to Learn to Move from Mid-Level to Senior (From My Own Experience)

To move from a mid-level to a senior role, you need to take on responsibilities typically handled by senior developers. Here are a few areas to focus on, which you can develop under the guidance of a senior mentor:

1. Take Ownership of Architecture & Complex Problems

As the leader of a feature, you’re now responsible for every phase — from initial concept to production release. Make sure you fully understand the entire scope of each feature, including how it fits into the broader system.

2. Think About Business Impact

While best practices matter, you also need to balance them with the value your solutions bring to the project. At the end of the day, coding creates products that earn revenue. Keep financial factors in mind when deciding priorities, timelines, and resource allocation.

3. Mentorship

Best practices aren’t one-size-fits-all; they depend on business needs too. Guide junior developers to avoid both over-engineering and under-engineering. Find the sweet spot that meets project requirements without adding unnecessary complexity.

4. Be a Leader & Apply Software Engineering Principles

Demonstrate solid engineering principles in a practical way. Show your team how to implement them without going overboard or cutting corners. Since you have a broader perspective, you make the final call on which approach is most appropriate.

You’ve been honing your communication skills since you were a junior. Now it’s time to extend those skills beyond your immediate engineering team to collaborate with business owners, analysts, and other non-technical stakeholders. Keep refining this skill by learning more about your project’s domain — whether it’s finance, e-commerce, or another field — so you can effectively bridge technical and business priorities.

dunning-kruger software engineering

What’s Next?

In the next article, I’ll dive deeper into how I transitioned from Mid-Junior to Senior — covering the new challenges, advanced technical skills, and the leadership mindset that can elevate the entire team. As a Senior, you become the go-to person; your decisions often set the direction for everyone. If you’re wrong, the entire team could suffer the consequences. That’s why broad, well-rounded knowledge is crucial for making sound technical and strategic choices.

--

--

Amorn Apichattanakul
Amorn Apichattanakul

Written by Amorn Apichattanakul

Google Developer Expert for Flutter & Dart | Senior Flutter/iOS Software Engineer @ KBTG Join us for more info https://www.facebook.com/groups/1565880160729817

No responses yet