DEV Community

Cover image for Becoming An Intermediate Developer

Becoming An Intermediate Developer

James Hickey on April 02, 2019

In a previous article, I looked at a way to map out the various stages of your software development career: ...
Collapse
 
gcdcoder profile image
Gustavo Castillo

"The intermediate stage is like stepping into puberty for your career."

Love this quote 🤟

Collapse
 
jamesmh profile image
James Hickey

Thanks man! 👍

Collapse
 
glenmccallumcan profile image
Glen McCallum

Always, always claim the hardest ticket in the sprint! It is usually the most valuable to the company and you get the most visibility to higher ups.

Collapse
 
jamesmh profile image
James Hickey

Word. 🤜🤛

Collapse
 
steelwolf180 profile image
Max Ong Zong Bao

Awesome article :) Guess I'm having my puberty for the 2nd time. Jokes aside really good advice on tackling important projects and the hard stuff.

Collapse
 
jamesmh profile image
James Hickey

Thanks Max!

Collapse
 
diogomgbrito profile image
Diogo Brito

"Intermediate developers usually have a mental urge or "pull" to believe that they actually know everything they need to know."

I was wondering if I was feelling like that, this quote made it clear! I was afraid to be the only one feeling like that, glad I'm not 😄

Collapse
 
helenanders26 profile image
Helen Anderson

This was such a great read, and all so true. Just like teenagers testing boundaries and thinking they know best, intermediates have a lot of confidence in the processes and projects they have delivered.

Do you feel there that seniors have less of this confidence once they are aware of all the things they don't know?

Collapse
 
jamesmh profile image
James Hickey

Thanks Helen!

Speaking from my own experience, which is similar to many others from reading, etc. on the topic, there's a point where you become confident due to the real-world experience that you've had and because you've built an expertise in some niche area, yet humbled because you know that there's always a better way to do things or just more to learn.

But then, even the expertise that's there is still subject to change!

I believe a big part of being in a "real" senior role is that you are able to effectively mentor people and learn new things quickly. Pre-requisites for that are being humble, able to listen well, not shove your ideas down people's throats, able to guide people and point them in the right direction, etc.

Intermediate devs will tend to focus on the areas that they are getting good at.

Whereas, seniors will have a very wide breadth of knowledge (in addition to an in-depth knowledge of some specialized area) so they understand that, for example, non-relational databases are great for solving problems X,Y,Z but that relational databases are good for dealing with A,B,C.

With seniors, in general, there's more of a grasp of the foundational principles that enable them to understand foreign topics much quicker and easier by discovering where those principles are "inside" those topics.

For example, NoSQL can be confusing and overwhelming when first looking at it. But, at the end of the day, all you really need to know is that you're just saving JSON objects. It's basically like taking a relational DB and saying "I need this to be really fast so let's turn off all the extra stuff (transactions, integrity, blah blah) and just shove JSON into a table."

Once the intermediate has established some expertise, he needs to come back out of that pit and start gaining wider more general knowledge (which sounds weird, but it's true). I think that after "mastering" (in a sense) one area, it's easier to now look at more general topics and be able to gauge what's important to know about each of those topics. And when needed, you can dive into that.

That was long 😜. Good question!

Collapse
 
austinstanding profile image
Austin Standing

Great article! You not only answered the questions that have been on my mind this week, but you gave me some next steps.