Advice to a Junior Developer

I learned the value of hard work by working hard. Margaret Mead

This is the first post in a series where the Capgemini Microsoft team will offer advice to junior developers they wish they had been given when they first started. I joined Capgemini in 2015 as a higher apprentice and will finish my Software Engineering degree next year.

I have been on five projects since joining Capgemini, and have almost always been the most junior person on the team, which has given me a wealth of experience in knowing what has both helped and hindered me.

As there is no singular, concrete definition of what a junior developer is, and when and how they graduate from this “junior” status, it is hard to tell who my target audience is. With this in mind, I have tried to keep my advice broad enough to be useful regardless of the reader’s perceived juniority. This is less “Advice to Junior Developers” and more “Things I Wish I Hadn’t Had to Work Out Myself”.

1. Become a professional in an area through getting as much experience as possible and certifications if available. This can be part of the criteria for certain pay grades, so it’s good to start early and find something you’re OK with working with frequently and hopefully enjoy.

2. The feeling of joining a new project and initially having no idea what’s going on is normal. Anyone who is put in a position of joining an already in progress project in a technology they don’t have much experience with will feel like that. It’s a good way to learn about a completely new area that you might not otherwise have found.

3. There will be more senior colleagues who do not understand that “junior” is not synonymous with “bad”. Bear with these people, they are trying to help and do not mean to be condescending, and as you gain experience and reputation in a team, you will be able to prove them wrong. Don’t beat yourself up over how other people rank you.

4. There will be projects where you just don’t get on with a member of the team, as in every other aspect of life. You don’t have to become best friends with everyone you work with, just keep it professional — working with people you disagree with is something you have to put up with in any industry. Just remember you won’t be stuck with them forever.

5. Try not to get continuously pigeonholed into a role you really don’t like. Make it clear what you want to do and roles you really wouldn’t enjoy. You may not always be able to work in your dream role, and it’s important to at least try at roles you’re given that you didn’t initially want. Communicating about where you want to take your career will avoid you accidentally becoming an expert in a discipline you don’t enjoy.

6. Find someone with experience you feel like you can ask all your ‘stupid’ questions. As much as you’re told that there are no stupid questions, it’s hard not to feel like there are a lot of things you should inherently just ‘know’, even though nobody has told you. It’s better to ask the questions than just pretend you know what’s going on without ever really understanding something. Having a designated person you feel comfortable talking to who won’t judge you for the questions you’re asking is incredibly helpful. If you aren’t given a mentor automatically, there’s nothing wrong with finding your own by asking someone in your team.