What Not to Do as a Junior Developer

Congrats! You have chosen the best and most overwhelming career. There are so many great things about being a developer or software engineer but do not fall into these pitfalls junior engineers frequently fall into!

  1. Be a Smart Ass

    You may think this is a given but you would be surprised how many junior developers have an attitude and that they know better than everyone. Let me tell you no matter how much faster you could do your work than the others in your class you do not know more than your senior developer and you have no reason to be cocky. No one likes helping someone with a bad attitude and trust me you will need help. You will quickly learn you really don’t know much at all and your senior developers can teach you SO much if you let them. So leave your ego at home.

  2. Stay Quiet

    Ask questions! As a junior developer people do not expect you to know everything and that is okay! However, they don’t know what you don’t unless you ask them! You also may ask questions that make the team think about how they have implemented something in a different way or bring up something they have never thought of. A fresh pair of eyes is always a good thing.

    You are also allowed to have an opinion. Feel free to voice it with an open mind. Your higher-level developers may not know some technology that you are aware of, or they may have a reason they are doing what they are instead and they will explain to you why that is the better option for that situation.

  3. Try to Learn a Bunch of Languages

    Becoming a software engineer or developer can be super exciting but also daunting at the same time. There are SO many languages to learn and all kinds of fun stuff you can do. Half of what your senior is talking about you won’t understand but you’ll want to! Just slow down a second! Learning the foundations of development and of the specific stack you are working in is SO important. You will find yourself getting much further in your career by focusing on principals and a couple of languages than trying to learn all the languages and stacks. It is so important to understand the nuances of the stack you are in. Take your time to understand development principals and the stack your job is requiring you to understand before moving on from there. Principals and a lot of the base knowledge will transfer to other languages. You will find picking up languages is much easier when you understand the principles and designs behind software development.

    Also start thinking about what kind of development you want to do and focus on that area. Do not try to be an app developer, a web developer, a machine learning developer, and a game developer all at once. They are all SO different. It is okay to dabble to really try and understand what may interest you long term but once you know what path you want to take focus on one thing at a time. It will help you more in the long run.

  4. Focus on Frameworks

    I see SO many juniors trying to learn a bunch of different frameworks and skip the basics because why would you use the basics of the framework does it for you?! Well, there are a lot of reasons.

    The main reason is to understand what the framework is doing. Reading docs for frameworks and APIs will be a struggle if you don’t understand what they are doing under the hood. Frameworks aren’t always the best way to go either. You need to understand what the framework is doing so that you can make an educated decision on which to use or if you should use it at all.

    Frameworks are always changing but the underlying languages don’t change as much. React, Vue, and Angular are all very different but at the end of the day, they are all JavaScript. Understanding how JavaScript as a base language works will help you better understand how the frameworks function and how what they are doing affects state, performance, and other functions within your application. You will be able to catch issues before you even run into them that you wouldn’t if you didn’t understand the underlying language.

    Debugging can also be a struggle. In Javascript for instance you could be implementing an async-await call and try to log out the response and get. [Promise] or you may be erroring with “unresolved promise” and you are like what’s a promise?! Then struggle on how to fix your issue or how to see what you actually wanted. In case you don’t know in JavaScript async-await is really a wrapper around promises.

    Performance isn’t always the best with frameworks either. For instance in JavaScript to flatten an array you can use .flat() but it is horribly inefficient. If you know more of the basic language you can easily write a performant loop to do the same thing. But also understanding the difference is something you should take the time to learn.

  5. Burn Yourself Out

    There is so much to learn and so much to do that you may feel overwhelmed. It may make you obsess over what you don’t know and everything you need to learn. This is a very deep rabbit hole that will never end. Try not to obsess over it! You will quickly burn yourself out and trust me you will need the energy and passion throughout your career. You have chosen a unique career that moves faster than any other career and that you will need to continuously learn how to do your whole career. Try not to burn out so that you can be the best developer you can be for more than a few years. It may not seem like you are burning yourself out but you will all of a sudden hit a wall and it will suck. Seriously take time off and don’t overwork yourself. You will thank yourself later!

I hoped this helped and I hope you love being a software engineer as much as I do it’s an amazing unique career but also a lot! Take your time! Enjoy your time as a Junior Developer to learn and stoke your passion for it before people actually expect things from you ;p

If you would like to get an email when new articles are released sign up for the newsletter below!

Previous
Previous

Overcoming Common Agile Software Development Struggles

Next
Next

What You Should Do as a Junior Developer