Tired of ads? Enjoy an ad-free experience by signing up.
Matt Kjer · · 4 min read

What to do when being a junior developer is too damn hard

More often than not, you’ll come straight out of university, have an internship under your belt, and be exposed to a whole heck of stuff you didn’t know existed in the first place. I started a list of tools that I was exposed to in my first few weeks as a developer: Docker, Rancher, Bamboo, Jenkins, Puppet, Maven, Gradle, Sass, Transpilers, Babel, Angular, React, JSP files, Continuous Integration and Delivery, AWS, Swagger, Inferno, Elastic Search, LDAP, and Spring. The list goes on.

My point here is that in your first few weeks and months—if not years—of being a software developer, you will be overwhelmed. There are so many standard industry tools and utilities that you just don’t hear about in an academic setting. We never learned about CI/CD, how to deploy applications to an AWS EC2 instance, or how to debug a Maven project, for instance.

There’s a vast difference between the skills that a university teaches you and the ones you’ll need to become a competent developer. But realize this: You are not alone. Almost every junior I’ve talked to feels the same way. They come into the “real world” and are promptly humbled by the vast extent of learning they have yet to do.

There’s some good news, though. Everybody knows. Every senior and intermediate developer out there has been through the same feelings of inadequacy, feeling overwhelmed and like a fraud. They know what it’s like to be called a junior developer and then contemplate every life decision that led them to take a job they feel they don’t know how to do.

So here’s my advice:

Embrace the feeling of inadequacy

Use it as the fire under your ass to learn everything you can. I dubbed my first year as a developer as the year of the “annoying talking sponge.” As an annoying talking sponge, it’s your responsibility to ask as many questions as you can and absorb as much information as you can handle. Do your due diligence first. If you have a problem, try to fix it yourself. If it takes you longer than half an hour, ask. Most of the developers I’ve encountered are happy to share their knowledge because they’ve been in your seat before.

Focus on depth rather than breadth

I assumed that to be a competent developer, I’d have to understand everything about the software delivery process. I wanted to be able to write my own Spring back-end application, design and implement the front end in React, plug it through to AWS, then automate the build process with a CI/CD pipeline. What I set up for myself was an exercise in frustration where I’d flit from one technology to the next, gaining a general understanding of what it did without implementing anything.

The solution to this revolves entirely around focus. Take the technology stack you’re learning at work and build on that. If you’re writing back-end code, take those technologies and do something to expand on it. I made the mistake of struggling with a back-end Java project at work, then in my spare time, I’d be writing front-end Javascript applications. Just because the senior developer in your team is full-stack doesn’t mean you need to be—yet. Build on the skills you need right now, secure that depth of knowledge, then flesh it out from there.

There are so many technologies and frameworks (I’m looking at you Javascript) that it’s very easy to just nibble at everything and not make any substantial progress. Stay focused. I’m not saying stifle your curiosity. In an industry as dynamic as software development, you can’t afford to do that. I’m just saying that there’s a time to put your blinkers on and focus immediately on what’s in front of you.

Comparing yourself to others

I’d also deem this as a necessary evil. “I wish I was as good as X. They know f***ng everything.” It’s an unfair comparison, but a necessary one. They’ve most likely been in the industry for several years, and this is only your first. It would cheapen their years of blood, sweat, and tears if you came in at the same level as a senior developer.

Sure, you’ll feel like you’re not “as good as” or “know as much as,” but that’s the whole point of having role models and people to aspire to. These are the people you need to surround yourself with to learn! If you can, approach one of these people and secure them as a mentor. It’s easier said than done, but you’d be surprised how many intermediate or senior developers are happy to take up that mantel for people they think are worth their time.

When I pressured some of these seemingly omnipotent lords of development on how they got over this inadequacy hump, they surprisingly had the same answer: “It just takes time.” So, if you are a junior developer and are perhaps feeling a little overwhelmed, stay focused. Work on things that are relevant to you right now and just give it some time.

This article was first published on Medium.

Stay ahead in Asia’s tech landscape

You've reached your 2 free content limit for the month. Sign up for free to read the full story.

🏄 For casual readers / 👶 Free

Basic

US$0

Free forever

Get instant access to this article and more every month

0 premium content

Unlimited news briefs

5

5 articles

Ad-free reading experience

Just US$0 per day

⌛Sign up in 20s. No payment details needed.

📖 For learners / 👍 Starter

Lite

US$4.92/month

Billed annually at US$59/year

Get instant access to this article and more every month

4

4 premium content

Unlimited news briefs & articles

Ad-free reading experience

Just US$0.17 per day

Cancel anytime

Our subscriber community includes professionals from these companies:

Stay updated on the go with our mobile app.

Get latest insights with smoother, more personalized experience through TIA mobile app.

Community Writer

Matt Kjer

Documenting the Junior Developer experience, one commit at a time.