Navigating the waters of a new job can be difficult and you might be wondering what to expect as a Junior Software Engineer or Junior Software Developer. Let me tell you it is not any more complicated than any other new job.
Answer: Show up with a good attitude, ready to learn, and able to jump in and start trying new things. Each boss will be slightly different, but if they are hiring Jr level programmers, they know what to expect. As a junior-level employee, your main goal should be to learn how the company wants you to do things and then do your best work.
It is up to your manager to find the best fit for you in terms of where you can learn and grow the most. Often this should be the same area you will be able to contribute to the goals of the project or company the most.
Be ready to ask lots of questions. An excellent question to start with is, “how long do you want me to try something before asking for help?”
Ideally, you should even ask this during the interview process as it might help you determine if the company will be a good fit for your learning style and personality.
I know my answer might seem kind of vague, but being a software engineer is especially at the junior level is a lot like having your first job in any industry. There will be people that are going to teach you along the way but you’re also going to be expected to do work pretty quickly and start getting your feet wet.
However, don’t let this should stress you out, because being a software engineer that just got hired you have the skills needed to contribute to the project or to the smaller subset of goals the business may have.
You may wonder what is the typical role of a Junior Software Developer let me explain that in the next section keep reading.
What is the Role of a JR Software Engineer?
It should be the role of the Jr Level members on the team to learn from the more Sr Level members of the team. Ask questions, take notes, and try things.
Most managers and companies will have a few days for you to get familiar with the company policies and procedures. Then you will be expected to get started relatively quickly after that.
The basic requirements are as follows:
- Assisting in regular software development and engineering problems
- Constant learning about your new companies codebase
- Familiarizing yourself with the policies and coding standards of your new company
- Working on bug fixes
- Writing reports
- Writing documentation
- Meeting with and communicating with colleagues and bosses
The amount expected from you will directly relate to how fast you are able to move out of the Jr role and often relates to how quickly you will be able to learn.
To give you an example I have heard that working at Google and Facebook what most companies would call Sr level or mid-level is often started at a Jr level. But unlike other companies, you will likely work at you will be expected to start making contributions on day one. In the near future on my YouTube channel, I will be interviewing people from the top tech companies to get their perspective on getting hired.
So far you have seen the role of the Jr level developer is going to be different based on the company, but for the most part, the role is more about learning good practice and focusing on the process and not the outcome.
Now that we have an idea of the role we should look at the skills that will be most important.
Which Skills are Going to be More Important?
You can start any job at an advantage for promotion, raises, and other perks by knowing what you should focus on first. Software Engineering and Development are no different, but at the Jr level, it is most different from all the other levels. Now we will cover the skills that will help you the most.
Before I mention what will help you the most you should understand more than likely the skills I left off this list such as the ability to solve problems, coding skills, and things like the ability to read and follow directions or use a computer. These are all things you likely are already more than adequate enough that we can skill them in this list.
The most important skill is going to be communication. Jr level programmer is going to need to communicate problems and solutions with more experienced co-workers. Your ability to communicate both spoken and written is going to be the top skill you can have when starting your career out.
The next most important skill is actually listed in the first. You need to be able to write clearly. This will come into play both in email communications and commenting in your code. Code comments should be short and to the point, for the most part, your code should need very little commenting and be rather obvious. You will also need to be able to write clearly when you are making documentation for your co-workers or end-users.
Another top skill is version control, especially with teams. Building this skill will help with the vital communication skills as well, but you need to be aware of the differences in professional communication and that of your friends.
Beyond that top skills are going to include:
- Ability to listen and follow instruction
- Quick study for new procedures and policies
- Data structures
- Basic understanding of computer systems and networking
- Basic design skills
I could make this list much bigger, but it is not my goal to put a bunch of fluff.
If you still think Jr Programmer might be a good fit for you then you might be asking what you will be doing most days. Keep reading to find out the typical day of a Jr Level Software Engineer.
What Do Junior Developers Do Most Days?
I have hired junior-level software developers and of the first tasks I have them do is review the codebase. Then depending on their skill level, I might have them watch some learning videos on the technology stacks we use, or if they are already familiar I’m going to start giving them simple bugs to fix.
When I hired a Techlead he changed things up a little to have a little less structure and that works well for him. When you are trying to get your first programming job it is a good idea to ask what the typical day might look like.
Here is the typical day of the Jr Level Programmers:
- 09:00 Get to work and get settled in
- 09:15 start morning stand-up meeting: What is expected? What problems did we have? What are the solutions?
- 09:30 Get started on first task(s) of the day, check email respond if needed
- 11:00 Confer with colleagues or manager about the current status of projects
- 11:20 Continue with the current task(s) or start new ones
- 12:30 Lunchtime
- 01:30 Return from lunch work on documentation, check email, respond if needed
- 02:30 Depending on current load, either return to main tasks, spend time reading/learning, or continue on documentation
- 05:45 Confer with colleagues and manager: what was done? What is left for tomorrow?
- 06:00 Go home
Each manager and company is going to be different, but this is how I have run my teams.