How to Succeed as a New Software Engineer

 


You just graduated college and joined a great tech company as a software engineer.

Now what?

After reading this article, you will understand what you can do to accelerate your success and become one of the best-equipped entry-level engineers in this industry. You can find a video version of this at the bottom as well.

First 1:1 with your manager

After being introduced to the team, one of the most important things you’ll be doing in your first one-on-one with your manager.

Usually, this is a 30-minute to one-hour meeting with just you and your manager. This is a great opportunity to set up a productive relationship with your manager and get everything you need to kickstart the first phase of your career.

You can start the conversation with a brief introduction of yourself if you haven’t done so with your manager during your interviews. Don’t spend more than five minutes on this because you want to use this opportunity to get information.

Get context

One of the most important pieces of information that you need is context about the team, the project, and what you will be working on. You can get it by simply asking your manager —

What can you tell me about this team and my project?

And then, let your manager talk and listen carefully. Ideally, you should be writing notes to capture the information because it can be overwhelming to try and memorize everything.

This also gives your manager the impression that you care a lot about the work you do, which builds trust. Trust is very important and there’s a lot more to it that I’ll probably talk about in another video. Please remember to subscribe to my channel if you don’t want to miss it.

Once your manager stopped talking, you should ask —

Who else do you recommend I talk to?

This is because important context about the team is often spread across many people, not just your manager. However, it will be unrealistic to talk to every single person in the organization. By asking your manager to recommend just a few key people to talk to, you will be able to get the most critical context very efficiently.

When you talk to those people, ask them the same questions — what can you tell me about the team and my project, and who else do you recommend I talk to? Do this recursively until you run out of new names. Basically, a breadth-first-search that helps you traverse the most important part of the graph of your organization.

Efficiently traversing the graph of your organization

Understand expectations

The next question in the one-on-one with your manager should be —

What are your expectations for me during the first month?

Asking this explicitly and writing them down can be so helpful to both you and your manager because now you always know how you are doing, and where are the potential gaps that you need to close.

Finding a mentor

Once the context and expectations are both clear, the one last thing you need is a good mentor. You should ask your manager who that is and have your manager introduce you two. This person is often the tech lead of your project as well.

First 1:1 with your manager

And that would likely conclude the first one-on-one, leaving your manager impressed with how proactive and eager you are to succeed at your job.

If you have already had your first one-on-one with your manager but you haven’t touched on these topics, it’s never too late! I highly recommend you use your next one-on-one to get these pieces of information.

Working with your mentor

Once you were introduced to your mentor, you should propose to him or her that you set up a weekly one-on-one meeting. This will become an important channel for you to get both tactical suggestions to accelerate your work, and also behavioral coaching that will improve the way you operate.

In your one-on-one meetings with your mentor, you should ask them to help you identify a clear set of tasks. Because you are still a new engineer, these tasks should be relatively well defined. If you are unsure about how to proceed with any of these tasks, you should ask your mentor to help you clarify, and sometimes they would point you to other people for help as well.

Besides making sure you know how to execute these tasks, you should also make sure there are enough tasks in your backlog so that when you finish one of them or get blocked for whatever reason, you have something else to keep you productive, instead of having to sit there and wait.

Outside of your one-on-one meetings with your mentor, you should also feel free to reach out to them for help any time you feel stuck.

I’ve seen many new engineers who felt afraid to ask questions because they thought it may make others feel they were incompetent, but the truth is that new engineers are expected to have questions and it’s very rare and unreasonable to blame someone new for reaching out for help. What’s more important is having a consistent output. By getting stuck for an extended period of time while being radio silent, these engineers could cause real concerns.

Working with your mentor

Reaching consistent productivity

Consistent productivity is often the core expectation for entry-level engineers. When you asked your manager about their expectations for you in your first one-on-one, their answers would likely be some variations of that.

In the first couple of weeks in your new job, you should make it your goal to become productive as soon as possible.

There are different ways to see if you are on track. For example, you can shoot for finishing one or two tasks or committing three to five code changes per week. If your manager gave you more specific expectations, follow that instead.

If you realize that you couldn’t reach that level of productivity by the 3rd or 4th week, you should start debugging why and identify what’s slowing you down.

This could be the poor definition of the tasks assigned to you, which you should work with your mentor or tech lead to getting clarified; this could also be that you weren’t using the right tools or workflows, which you could learn from other experienced team members; or maybe there was a mismatch between your experience and the work, resulting in a steep learning curve, in which case you should talk with your manager and see if that’s intended and whether there’s another project that would better align with your strength and allow you to be more productive.

In any case, you need to make it your highest priority to figure out how to improve the situation and allow yourself to reach consistent productivity.

Reaching consistent productivity

Seeking constructive feedback

Once you feel comfortable producing good output every week, your next priority is to seek feedback. In particular, constructive feedback, aka what can you do differently to achieve better results.

It may feel counterintuitive to look for negative signals that may demotivate you. But if you do this intentionally and proactively, you will feel quite good about it, especially as you see the value later on when you act on the feedback.

You can ask for it from your mentor, your tech lead, or your manager. Sometimes you don’t get constructive feedback easily, because some people are really nice and don’t want to make you feel bad; and sometimes people just haven’t thought that much about you.

When that happens, you need to push very hard and get at least one suggestion from each person you work with. This is because as a new engineer, there should be a million things you could be doing better and you just don’t know about them yet. By proactively seeking feedback, you will identify those growth areas sooner than other people, which allows you to start growing faster.

When you do get constructive feedback, unless there are incorrect facts, it’s very important for you to not be defensive and not waste time explaining yourself, which many people naturally choose to do. What you should do instead is to acknowledge the feedback, and thank the person for sharing it with you, because this will become positive reinforcement that encourages them to keep doing so, which will create a continuous stream of valuable inputs that guide your further growth.

How to succeed as a new software engineer

Once you have done all that, you are already in a great position to start your career development towards the next level. In my next post, I will share how you should approach your first promotion as an entry-level engineer. See you next time!

Post a Comment

Previous Post Next Post