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 they know what to expect if they are hiring Jr level programmers. 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 to learn and grow the most. Often this should be the same area you will be able to contribute to the project’s goals 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 vague, but being a software engineer is especially at the junior level; it is a lot like having your first job in any industry. There will be people who will 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 stress you out because being a software engineer who 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 a Junior Software Developer’s typical role is; let me explain that in the next section. Keep reading.
What is the Role of a JR Software Engineer?
It should be the junior Level members’ role 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 can move out of the Jr role and often relate to how quickly you will 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. Soon, on my YouTube channel, I will be interviewing people from the top tech companies to get their perspectives on getting hired.
So far, you have seen the junior level developer’s role 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 it is most different from all the other levels at the Jr level. 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 to skill them in this list.
The essential 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 will be the top skill you can have when starting your career out.
The next most important skill is 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 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 vital communication skills, but you need to be aware of the differences in your friends’ 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 more extensive, but it is not my goal to put out 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. 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 Tech lead, he changed things up a little to have a little less structure, which works well. When you are trying to get your first programming job, it is good 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.