DEV Community

Cover image for Advice to a New Engineer
Michael Gardanier
Michael Gardanier

Posted on

Advice to a New Engineer

Everyone who has started any new job (software or otherwise) can probably remember the first few days spent desperately trying to retain as much information as possible while drowning in the torrent of new tech, new processes, new company culture, etc. After that initial fire hose, if you're like me, then you may find yourself feeling very proud that you remember some less important detail (e.g. that your boss' birthday is coming up) only to realize that you already forgot something much more important (e.g. how to login to your new company email account).

As I thought through the experience of the first few weeks and months of my current job, I found that there are some key things I learned that helped me adjust and come up to speed. Every company has different ways they approach onboarding, and some may be more effective than others, but in the end, that's probably not something you can control. What may be most valuable about these tips I learned is that they all are totally within your power to influence!

So with that being said, here are my 4 recommendations for starting a new tech job on the right foot

1. Ask questions

Don’t be afraid to come across as not knowing something…that’s totally fine!
As the new guy on the job it was really easy for me to catch myself feeling confused and alone simply because I didn't want to come across as helpless or, even worse, technically ignorant. Luckily my coworkers were awesome and quickly taught me not to be afraid of asking questions.

The truth is, no one knows everything on day one, and you have to learn somehow. There is certainly a lot of value in figuring out something on your own, and I don't want to discredit that approach at all. I only want to point out that banging your head against a wall for 2 days to learn something that you could have figured out in 5 minutes if you asked a question might not always be the best approach -- for you or the business.

Image description

2. Don’t ask questions

Wait...what? Yes I realize this seems to contradict the last point, but I think there is an important balance to keep in mind. Asking another person to help you usually means a sacrifice of their time, energy, or valuable focus. So make sure to respect that sacrifice and avoid pestering the same person or people over and over again with small questions.

Generally it saved a lot of trouble if I made an attempt to figure something out myself before rushing to get someone else involved. Sometimes I was able to figure it out on my own, however even if I couldn't, that extra solo effort made it easier for me to understand a coworker's answer.

There is a balance between asking so many questions that you don't learn anything vs quietly spending hours, days, or weeks trying to "do it yourself" instead of asking for help. I never found a magic formula to perfectly determine when to ask someone else vs dig in on my own, rather to just be conscious of other people's time and energy.

I suppose if there is one concrete rule I found, it's to avoid asking the same question twice. If someone took the time to help me find the answer, it was the least I could do to write that down so I didn't have to waste their time later.

Image description

3. Write down/track what you learned/did each day

For whatever reason, starting on my first day I began taking short notes on what I accomplished each day. It wasn't an exhaustive, page long journal entry or anything. Rather it was a few lines each day about the main tasks and any tips or important things I might want to remember. As time went on I began to realize some benefits of doing this that I hadn't originally considered.

The first was in regards to repetitive tasks. Chances are when you are new, you might be assigned to do similar tasks often since there isn’t a wide breadth of things you know how to do yet. So having some notes you can reference might be helpful. And if it prevents you from having to bother someone else again, even better!

The other benefit of writing down my daily accomplishments was more subtle. Imposter syndrome is real…even after you’ve been at the job for years. Having something tangible you can look at to show yourself everything you’ve learned can be helpful in convincing yourself that although you may feel less capable than others (for now!), you really aren’t helpless. Maybe you are more confident in your skills than I am, and if so, this may not be necessary. But I found many times in the early weeks and months that I would turn back through the pages of that notebook and feel a slight boost of confidence as I realized everything I had learned. I suppose your mileage may vary.

4. Raise your hand

Often there is a set process for how you are assigned work. That’s great, and make sure to kill it at those tasks. But, in my experience, occasionally there will be times when your manager or other department leaders may ask for a volunteer to <insert task here>. Even if you don’t know how to do it, raise your hand! It’s a great way to learn something new, while also building trust with those around you. Bonus points if it’s something that most people don’t like doing (or don't know how to do). It was through these volunteer opportunities that I learned how the puzzle pieces of the business fit together while also expanding my understanding of the system.

Conclusion

That's basically it. Starting a new position is overwhelming for so many reasons, and this isn't meant to be more urgent things to stress you out. In the end, the main goal is just to make a new job more comfortable, help you come up to speed faster, and perhaps to feel more confident in yourself too. I'm sure there are many ways to do that, and these are just a few that I found worked for me.

Top comments (13)

Collapse
 
wraith profile image
Jake Lundberg

Great tips! 😄 These are absolutely things all new hires should be doing/considering.

In regard to #2, something I try to do is to batch a bunch of the small questions into a single interaction with someone. So rather than interrupting someone 10 different times, try to group a bunch of questions, and then ask the person 10 questions, but only interrupt them once. This isn't 100% foolproof, but it really helps. Just don't wait to have 10 questions before reaching out if 1 or 2 of them are blocking you from completing your task!

I'm so happy to see that you mentioned #3! In my opinion, this is the single best thing a new hire can do to contribute to the company right away. I encourage people to not only write down what they learned, but also what they were unable to learn without someone else's help. What questions did they have, and then what were the answers the got? Now that you have that information, tidy it up and post it somewhere public, like in the team's GitHub wiki, in a Confluence doc, wherever they are putting documentation. Now, the next person wont have to interrupt anyone because they can just read through your docs! I find new hires are the best people for this because after a while, you gain that "insider knowledge" and lose the ability to empathize with those that don't have it.

Again, great post, and keep up the great work!

Collapse
 
anotherengineer profile image
Michael Gardanier • Edited

I agree that batching questions is a good way to avoid pestering others, definitely something worth keeping in mind.

And I also agree that capturing the perspective of new hires is such a powerful way to learn about what it "actually feels like" to use the docs, setup guide, etc. After being immersed in a company for some time it is hard to truly empathize with someone new!

Collapse
 
jakemc profile image
Jake • Edited

Thanks for the great post, I loved 'ask questions' and 'don't ask questions' haha. But so true.

Most of all, I loved 'write down and track what you did/learned each day' - I wish I did this sooner... I wish I started blogging sooner, actually, to write down everything I learned and consolidate it in memory.

One tip I would add is to get good at project management (agile - kanban, scrum) and master:

1. Communication: deadlines, who is responsible for completing a task, and just plain communicating in a way that makes you nice to be around and motivates others around you. The last one is huge and gets missed by many, but basically, your opportunities in life come down to charisma (being highly competent AND being pleasant to be around/likable).

2. The project management tool your team is using: for example, my team uses monday dev which is kind of a new product from them and doesn't have a heap of documentation yet. But poking around and learning how to make the most of its features (bug tracking, retrospectives, roadmap planning) has definitely paid off in just making me look better at my job – especially the higher-level strategic things like roadmap planning and retrospectives. I'm angling for a promotion!

Full disclosure: I'm not an engineer, but I am a data scientist who works with engineers (of the software and ML variety). I genuinely think that the above applies to almost any role tbh...

Collapse
 
iamspathan profile image
Sohail Pathan

Nicely covered.

I wish I could have read this article when I was starting my job. I think I made these mistakes like asking too many questions, depending on my seniors, and trying to avoid long overdue tasks.

But I was fortunate because I got a chance to work with smaller teams, and that made me realize how important it is to respect others' time. Hence, I myself rote a blog to share what founders are looking for when hiring candidates in small/early-stage startups.

You can read it here: apyhub.com/blog/what-startups-look...

Collapse
 
jodoesgit profile image
Jo

I laughed at your first two. Because I am the queen of asking questions, but equally have shot myself in the foot by asking too MANY questions. And now know how to meter said questions...to a point =P! Nice read, thanks for the post =)

Collapse
 
anevskii profile image
Stefan Anevski • Edited

I liked this post so much, thank you @anotherengineer for this post. I found myself here because 2 months ago I got employed as a software engineer and all of the things you said here I'm going through them. I'll make sure that I follow those steps for sure!

Collapse
 
anotherengineer profile image
Michael Gardanier

Congrats on the new position, so exciting!

Collapse
 
eljayadobe profile image
Eljay-Adobe

The "Ask Questions" is very good advice.

I phrase it "Don't be afraid to ask questions."

And it isn't just for new engineers, it's for all engineers. Why? Because this stuff is hard.

Collapse
 
anotherengineer profile image
Michael Gardanier • Edited

Shhh, you're going to expose the secret goal of this post -- helping us all feel better about not being universal experts regardless of years of experience ;)

Collapse
 
tbowzz profile image
Tyler Bowers

Great post by a great engineer. I think your points highlights the value of an engineer being willing (and brave enough!) to communicate when things are hard. Forming the habits when new will translate to having the skills later on, too!

Collapse
 
anotherengineer profile image
Michael Gardanier

Yeah it can be tempting to hide when we struggle with something, but I agree that being open about it can be the best way to learn and develop quickly!

Collapse
 
jack94507501 profile image
Jack

This text is great to read, really great advice.

Collapse
 
stefanmoore profile image
Stefan Moore

I read something similar to this a while back. Thanks for posting this.