What is it like to be a Junior Developer?

Discover the ups and downs of being a Junior Developer and learn tips for cooping with yout boss, balance expectations and survive Day 1


Fabio Ferreira
by Fabio Ferreira
,
Cover Image for What is it like to be a Junior Developer?

How does it feel to be a junior developer? And what tips can I provide to help you make the most of your initial steps? And if you aren’t a Junior but work in an organization that recruits them, perhaps some of this will help you think about how to make their first day memorable.

So, as a junior developer, you’ve gone through the agony of job seeking. You’ve landed an interview and have been agonizing over how to portray yourself in the best possible light to persuade the people interviewing you that you’re the perfect person. Fantastic. You’ve been hired. So, what are your expectations?

You may anticipate being granted additional responsibility and autonomy in your work now that you have the job. You will be expected to put in the effort to learn and improve, to take the initiative in problem-solving and skill development, and to work well with others. Your boss may request that you assist them with some of their responsibilities, such as refactoring code, debugging, and developing new features. You can also anticipate comments and direction from more experienced engineers and your management.

The Highs and Lows of Onboarding Junior Developers

Starting a new job is always challenging, no matter how many times you’ve done it before. Feeling nervous is normal, even on your first or second job. But don’t worry. Just because you feel nervous doesn’t mean you can’t do the job. On your first day as a junior developer, it’s ideal to be introduced to the team, learn about what everyone is working on, and collaborate with an experienced coworker on a new project, possibly as a pair.

You’ve gotten to know your peers a little better, built a working connection with the person you’re partnering with, been shown around the codebase, been introduced to the tools in use, and got a sense of how the team works. You were also involved in the creation of genuine production code.

If you’re lucky, someone may have also given you donuts and coffee.

That’s a relatively upbeat assessment, I know. However, this is the case with many companies. To be honest, they are most likely still in the minority.

More than likely, I’m afraid your first day will be difficult. This varies greatly depending on where you start working, of course, but in my experience, most businesses, to be honest, are not very good at onboarding employees.

Starting a new job can often be a tedious and frustrating experience. Many companies, bogged down by work or bureaucracy, forget about new hires, leading to a lack of preparation. “Oh, I didn’t realize you started today” is a typical greeting for new hires. They’re then handed off to someone who’s too busy to help, given unimportant tasks, and told to “go sit over there and do it.” Such tasks often include “filling out these forms” or simply “sitting here.”

Surviving Day 1 as a Junior Developer

I recall being assigned to a desk for 48 hours, with only a pile of manuals to keep me company. However, I soon discovered that the content of the manuals was not relevant to my role. This can be a disheartening start, especially if you are eager to begin working. Being left in the dark about your surroundings can be isolating and stressful. Unfortunately, many companies are too busy to provide a proper onboarding experience. This can lead to anxiety about your tasks, especially if they are deemed critical.

While the initial experience may have been lackluster, it’s important to remember that it doesn’t dictate the future. My suggestion to junior developers in a similar situation is not to jump to conclusions and cut their colleagues slack. They may just be having a rough day or struggling with introductions.

It’s important to maintain enthusiasm for the job, even in adversity. You cannot resolve this situation alone. If you have been given paperwork to complete, consider reaching out to the person who gave it to you and ask for clarification on who to submit it to. This way, you’ll have a point of reference if you need assistance.

If you’re presented with a wiki or documentation, see it as an interim solution. Make the most of it and strive to learn as much as possible. Don’t put too much pressure on yourself to absorb everything, as this is not a realistic expectation. Instead, consider how the information may be helpful in the future.

Coping with Unproductive Onboarding

The other bad thing that can happen on your first day is rare, but I have seen it happen. But I brought it up here because, as a junior, you’re very likely to run into something like this at some point. You were given a task and told to finish it on your own. It’s scary and confusing, and you feel a little out of your depth. You probably don’t know what will happen if you mess it up and aren’t sure how to move forward. We all have to deal with this from time to time.

Most people get a little better at dealing with situations like this as they get older, but it’s always a little scary. So don’t make yourself feel bad.

Overcoming the Challenges as a Junior Developer

I have a couple of suggestions for how to deal with this. Unless your new employees are lost in what they’re doing, they’ll expect more junior developers to need more help. I think it’s good for juniors to realize that everyone is a junior at something. Everyone needs help. So, if you feel like you need something, you should feel fine asking for it.

If I were your boss and you were given a task clearly out of your comfort zone, I would want you to tell me that you don’t know how to do it instead of struggling on your own. A good employer will care most about delivering whatever they are making and you growing into their role well. This isn’t a test because you’re being set up to show your flaws. This is one of these two things, or at least it should be. It’s really about helping with the work, or it’s meant to help you learn, or it could be a little of both. 

If you do a bad job or don’t learn anything, neither of these goals is met. So do whatever it takes and ask yourself what you need to do to learn or help. If I were your boss and I gave you a task that I knew was new to you but that I thought would be good for you to learn from, I would tell you that’s what I was doing. If you were the only person I could ask to do it, I would also tell you that and tell you how and where to ask for help if you get stuck.

Balancing the expectations

People don’t expect you to do great work immediately if you’re new to a team, no matter how junior you are. So, if you’re given a task that scares you or makes you feel a little challenged, I suggest you say so. Then, ensure you know how to start the job and who you can ask for help if you get stuck. You should expect to get stuck at some point. If your workers are good and smart, they will expect this and respect you for being clear.

Even if you don’t ask for help, the best employers will check up on you regularly. After all, they don’t know what you can do yet or what help you need to learn.

I think the best employers will try to actively guide your learning by giving you progressively more complex tasks and more responsibility as time progresses and your understanding and skills improve. If you are hired as a junior developer and are thrown into the deep end on your first day, my practical advice is the same: figure out what the problem is, where to start, and, most importantly, who to ask for help and direction. But if I were in your shoes, I’d be honest and say that I’m not sure about my new employer. This is a terrible way to bring someone new into a group. But I think it’s not smart to do this for younger people. 

As I’ve already said, this is a rare first day. And if it doesn’t happen to you, I wouldn’t worry too much about it.

Making the Most of Your First Day

We started with the best knowledge. Let’s paint a clearer picture of that great first day. When you get there, you’re welcomed and shown around the team you’ll be working with. When I used to work on teams, we usually started the day by getting together and talking about what we would be doing that day. And what interesting or helpful things happened the day before? People often call this meeting a “stand up” because everyone usually stands up to keep the meeting short. If you want to stand up, don’t worry, you don’t have to. This is a time for the team to work. And you are a guest there today.

At this point, I think it would be best if you were polite but mostly quiet until you were asked to join in. As I said, this is a work session, and you don’t yet know how the team works. After the standup, you will be paired up with someone. This will be a more experienced person whose job is to tell you about the team, how to organize it, how the team organizes its work, and the code and tools used.

As a technical leader, I always liked spending as much time as possible with every new team member on their first day, especially junior developers. I wanted to tell them about the system and our team or give them a high-level look at the problem we’re trying to solve and how we’re doing it. And give yourself a lot of time to talk with the new person and answer any questions they might have.

Navigating the Learning Curve of a Junior Developer

Work is always going on in these places, but your first day as a junior developer is yours. As your bosses, we want to help you relax as much as possible so you can learn and enjoy it. This is the first step toward your learning enough to do useful work in the future. Good employers will spend a lot of time helping you with this. 

Once you knew what was going on with my team, you would return to your partner for the day. And if everything goes well, you’ll work with them on new system parts on the first day. In bigger companies, you’ll be working on code that will be used in production just days or minutes after you commit it. I have to say that this is probably a more unusual example. But I’ve seen and tried it out with many teams, so it’s not impossible.

When a junior developer joins a new team, they have a lot to learn, including new code, new ways of working, and new problems to solve. Most often, junior developers have even more. Even if you have a lot of experience writing code and are very good at it, doing this as part of a team is different. No one will expect you to know everything on your first day unless you get a terrible boss by accident. In reality, your first day through a big event for you is only one day.

Getting a good start in the coming weeks/months

So, let’s talk about some general tips for getting off to a good start in the coming weeks and months.

As someone used to hire developers, including junior developers, I would assume, if you don’t mind me saying so, that any new hire is going to be a cost at first rather than a benefit. You’ll slow down the team as you get used to it and learn how it works.

If the employer is good, they will see you as an investment. They will let you go slower because they hope and expect that you will become a helpful team member in the long run. This means that in the beginning, as a junior developer, you should focus on learning the skills you need to be a valuable member of the team.

Find Mentors and People to Learn From

Your problem is kind of like two issues in one. First, figure out what you need to know because there’s so much you could learn, and your bosses might not be the best teachers. I think you should be in charge of your learning. Find people who can teach you things; if they don’t offer help, ask them for it. Your employer should ideally use pair or mob programming. This is the best way to learn quickly. But if you don’t know how to solve a problem, ask someone to help you. So you’ve found a mentor who can help you with whatever is making you stuck. 

Some companies run this kind of program. In other places, it’s more casual whether or not you have a mentor. Find people you can learn from, and when you need help, ask them for it. Even if it’s a general statement: “I don’t get this idea. Could you tell me how?” Don’t forget that you’re asking them to take your time. So be thankful for everything you have. And if they say no, don’t blame them too much.

Make your free time useful

I don’t like telling people they have to work in their free time. This time is yours and yours only. But you can also learn more quickly if you read, watch videos on YouTube, and do other things related to your new job in your spare time.

So, if you want to become a good developer and take this stuff seriously, you’ll have to do some of this in your free time.

In the first days of your job, you’ll be thinking about how to do things: “How do I get things done?” “Which button is on my ID?” testing, etc. Unless you write code as a hobby, you probably haven’t done much of it yet. So learning your programming language will be a big part of your learning curve. I think you’re going to have to deal with this, and it might be a bit of a problem for you. 

Your programming language is not important

What will make you a good programmer is not having a deep understanding of a language. The syntax of your programming language is a tool, not an end in itself.

It’s kind of like playing an instrument. You can learn everything there is to know about the guitar and still not play it well. Or, you can learn three chords and become a world-famous star if your music is excellent.

Code is the tool you use. The music is what we do with it. Yes, you have to practice your instrument and learn how to play it well. Some people find it easier than others to learn how to code. But no one is born good at it.

All of the great developers I’ve worked with write a lot of code, which is something they all have in common. So make code and have fun with it.

A Junior Developer must always build things

If you have time, build something that has nothing to do with your work. Use test-driven development, learn about your tools, and get better at playing your instrument. But for now, I think you should stick with the three chords. Get good at the basics. Don’t be too hard to understand. I believe that we can tell how good a piece of code is by how easy and safe it is to make changes to it in the future.

If you are just starting, the best advice I can give you is to think about writing code that is easy to understand. And think about that. Write simple code. If you have to think about how it works, could you explain it better? Test-driven development is a great way to help you do this. So I think you should also look into that.

It takes years to learn this skill, but it is the cherry on top. You need to code in small pieces. It needs to be built in parts. You need to break the problems into parts you can name. Each part should be simple enough that you or anyone else can read and understand it in a few minutes. A lot of the code you will see won’t look like this. But let’s not make the same mistakes again.

Your goal is to solve problems and write good code. So make it readable, maintainable, and something you can reflect on and be proud of.

Conclusion

In conclusion, starting as a junior developer can be a daunting experience, but it doesn’t have to be. Your first day can be a mix of good and bad experiences, but it’s essential to be patient, stay positive, and not lose interest in the job.

It’s important to have mentors who can guide you through your learning curve and help you grow as a developer.

Employers should also play a role in helping junior developers settle in and providing a supportive work environment.

Remember, code is just a tool, and what’s more important is the music you create with it. Practice and building things are crucial to becoming a successful developer.

Don’t be afraid to ask for help and make the most of your free time by learning and growing in your field.

Here at Talendor, many junior developers find an opportunity for entry-level jobs in several companies. If you’re interested, we invite you to apply here.

#agile#home#IT management#productivity#software development

Fabio Ferreira
Fabio Ferreira
Tech lead and Talent Specialist Acquisition. Helping Saas companies and scrappy startups. Nothing makes me happier than meeting new people, building new relationships, solving issues, and helping the success of enterprises.
Cover Image for What Software Architecture Should Look Like

What Software Architecture Should Look Like

Learn what software architecture is, how to evaluate and improve it. Avoid common pitfalls and start designing smarter.


Fabio Ferreira
by Fabio Ferreira
Cover Image for The problem with End-to-end Testing

The problem with End-to-end Testing

It sounds like a good idea to implement end-to-end testing on your software. But is it really? Is that the only approach? Let’s find out.


Fabio Ferreira
by Fabio Ferreira
Cover Image for Neural networks for dummies

Neural networks for dummies

Are you new to neural networks and unsure/confused about how it works? Then let’s dive into it and put on our scientist hat for a moment.


M. Muneeb Hashmi
by M. Muneeb Hashmi
Cover Image for Is Agile still relevant In Software Development?

Is Agile still relevant In Software Development?

Agile is essential in software development. It boosts productivity and drives corporate growth. Is Agile, however, still relevant today?


Adam Spencer
by Adam Spencer