DEV Community

Cover image for Three Helpful Rules for Junior Devs

Three Helpful Rules for Junior Devs

Max Antonucci on August 28, 2017

Much as I love coding, being a junior developer has often felt horrible. For so much of it, the following questions (if not more) have been crowdin...
Collapse
 
andy profile image
Andy Zhao (he/him)

Awesome post, Max. I really appreciate articles like this since I'm just starting out my dev career.

Definitely agree with your first point. The slightly smaller question of "have I learned what I needed to do a good job?" swallows me whole, and it makes it really hard for me to focus on learning step by step. I've found it so helpful to prioritize, even if it's only a little, my learning.

Also, I've definitely felt many times that I'm not doing enough, whether it's learning or writing up tests or features, etc. It just seems like I never have enough time. I usually go a little crazy thinking about that until I realize that I'm human like everyone else, and that soothes me.

Thanks a lot for the write up!

Collapse
 
maxwell_dev profile image
Max Antonucci

Thanks, I'm very glad you liked the post! That question definitely does haunt me a lot too, especially if dealing with a tough obstacle and am wondering if I missed learning something that would have helped. But that also can help guide what I want to learn next - when I had issues with JS dependencies, that's when I knew to focus on CommonJS and ES6 Modules.

A lot of it is solved by learning to ask yourself the right questions about how much you should learn and what to prioritize next. It was a great takeaway from a book "The Five Elements of Effective Thinking," which I've found very useful in how I study coding. I highly recommend it for further reading!

Collapse
 
maxdevjs profile image
maxdevjs

Third point is paramount, having fun puts things in perspective.

Collapse
 
maxwell_dev profile image
Max Antonucci

Plus it reduces the risk of losing interest in larger projects partway through. That's an especially big risk with me as I'm learning Ember for my job, it's great but there's so many different conventions and syntax rules to learn along the way.

Thread Thread
 
maxdevjs profile image
maxdevjs • Edited

Absolutely.

Collapse
 
jtvanwage profile image
John Van Wagenen • Edited

Thank you for sharing! Starting out on that first job can be very intimidating. Thankfully we learn a lot and stick with it and overcome. As one who's getting more "seasoned" as a Dev, I'm grateful for the new devs and the perspective they bring.

One of the questions you posed at the start of the article stuck out to me: "Have I learned enough for my colleagues to value me?" I feel like this is a good question, but the way it's asked is dangerous. I know this was an example of an anxious question--I know I've asked it before--but I wanted to take a minute and share what I've learned and my perspective on this question.

The way this question is asked puts an unnecessary emphasis on what your colleagues think. Unfortunately it's impossible for you to read their minds and know what they're feeling. Because of this, you're left to guess and guessing someone's thoughts or feeling is really dangerous for the vast majority of people. We often paint a much worse picture than what reality is when we're left to read minds and this can really hurt ourselves unnecessarily.

So, I said this was a good question just asked in the wrong way. What would be a better way to ask this? Here are a few options:

  • Am I adding value to the company?
  • Am I providing value to my peers?
  • Am I doing the best I can do?

Asking it like this turns the focus to you and asks it in a way that can be quantified (depending on the metrics gathered). Turning the focus onto you eliminates guesswork. The only mind you have to read is your own, which you're probably pretty good at by now. This also puts you in control of the outcomes. Instead of blaming others, you'll know if you're struggling and where you can improve.

So, if you find yourself asking a question like this one, try to phrase it in a way that you can control and that will give you a path forward that's more clear than guesswork.

Thanks again for your thoughts!

Collapse
 
maxwell_dev profile image
Max Antonucci

I felt exactly the same way for the longest time! I had a big list of projects and articles I wanted to tackle, and never getting through them caused me lots of needless work anxiety. Picking the ones based on priority and enjoyment really narrowed that list down. Like so much in life, it comes down to being willing to accept some trade-offs. We don't need to do it all at once.

Collapse
 
daviddeejjames profile image
David James • Edited

I code since it challenges my mind while letting me be creative.

Couldn't agree more, as a progressing junior trying to find more challenging work, this whole article spoke volumes! I've started taking the bite-size/codepen approach as well, makes it easier to learn things outside of work.

Collapse
 
maxwell_dev profile image
Max Antonucci

I'm glad you enjoyed it! The bite-size approach is probably what helped me the most, since it does the most to soothe the everyday worry that I'm not doing enough. Even if it's not making small pens myself, saving ones I'll find useful or giving feedback are all small parts of the learning process. They lay the foundation for our future learning after all.

Collapse
 
josuerc026 profile image
Josue Arce • Edited

You summed up everything I, and many others, feel on a daily basis.

I think a big take away is to focus on one particular technology at a time, learn new information in small digestible pieces, and the most important thing is to be consistent. We have a tendency to burn ourselves out and then go on a long hiatus because it becomes more of a burden.

I can't wait to share this post at work tomorrow. Thanks again Max!

Collapse
 
maxwell_dev profile image
Max Antonucci

Thank you so much! I agree burnout is a major thing to avoid. As tempted as I've been to learn so much at once, if you burn out then you're only being less productive long term.

I'm very flattered you'll share it with your coworkers tomorrow! I hope they all enjoy it as well :)

Collapse
 
nanoanno profile image
nanoanno • Edited

Hey Max! Thanks for sharing this.

I especially like #1. Feeling like there are a million things to learn is definitely something that hits home for me. Making a list, prioritizing it, and chipping away at it is a great approach.

Collapse
 
maxwell_dev profile image
Max Antonucci

I absolutely agree. A beauty and horror of programming is there's an infinite amount to learn. That means constantly choosing what not to learn, but it also helps us value and make better use of what we do learn.

It's like "The Life Changing Magic of Tidying Up" but for our brains - focus less on what to discard and more on what to keep!

Collapse
 
kylegalbraith profile image
Kyle Galbraith

Great post, Max. I think you provide an awesome insight into a lot of the questions all developers across the spectrum of experience ask themselves.

One thing I would add to your third point, and perhaps it is a point of its own. Is that it is normal to not enjoy your work every once and a while. It is normal to get frustrated and feel like you are not moving forward, but you should never harp on this feeling. In working with a lot of developers even the best ones can get down in the dumps for a bit. The great ones pick themselves back up and solve the problem.

Collapse
 
maxwell_dev profile image
Max Antonucci

I totally agree with that addition to the third point. Feeling that frustration with work at times is normal, but just feeling it without not judging our skills as a developer from it is important. It's actually come up a lot with my work in Ember lately. I regularly feel frustrated with learning the conventions, but I just feel it and let it pass as I eventually get the hang of it.

Collapse
 
dikethelmak profile image
Dike Thelma Kelechi

Thanks alot for this, For some time now, I have been battling with this.But thanks, I know what to do now.

Collapse
 
ardennl profile image
Arden de Raaij

My times of being a junior dev are over, still this helps me with my crippling anxiety 😀

Collapse
 
maxwell_dev profile image
Max Antonucci

I'm very glad you still found it helpful :)

Collapse
 
damcosset profile image
Damien Cosset

I struggled so much because of the first point... So overwhelming sometimes. A mindset change and prioritize !!

Collapse
 
roh777 profile image
Rohit Yadav

Thanks for this. This was much needed, Max.

Collapse
 
ankitutekar profile image
Ankit Utekar

Awesome post !! I recently got my first job and joined there as trainee SDE . Could relate to each and every question you've mentioned 🙌

Collapse
 
katzy687 profile image
Natti Katz

"Have I learned everything?" is the wrong question, since the answer never changes. The right question is "Have I prioritized learning the right things?"

I needed to read this

Collapse
 
maxwell_dev profile image
Max Antonucci

I'm very glad you liked it. It's even helpful for me to reread every now and then since I forget that rule sometimes. Especially during stressful times.

Collapse
 
00babe9 profile image
00babe9

So, junior devs must evade outsourcing companies?

Collapse
 
fatimazola profile image
fatimaZola

So much helpful, especially as I fit perfectly to that description. Even commenting here is me practicing some of the points you addressed in the article. Thanks a lot.

Collapse
 
maxwell_dev profile image
Max Antonucci

You're very welcome! It's always the small steps that count after all, since they make the journey a lot easier and more sustainable :)