Published on

Your First Year As A Software Engineer

Hold On Tight, Your Life Is About To Change

Authors

Photo by Jasmin Sessler on Unsplash

You made it past the interview and you signed the offer. You’re hired! Now you have a shiny new laptop in front of you and are about to take on the world of software engineering…

Ruh-roh! Now what?

Software engineering is not like other jobs, this is a whole new world.

When I landed my first engineering job, I had spent the previous 10 years in manufacturing. Like, driving a forklift and planning production runs. Getting a job as a software engineer was more than a little bit of a culture shock for me. If you’re fresh out of a boot camp, or entering the software game for the first time, it may be a culture shock for you too.

What I Look For When I Hire Software Engineers
_It Isn’t All About Code_javascript.plainenglish.io


Here are some things you should expect for your first year as a software engineer, and some tips to help make for a smooth ride.

Photo by Ana Municio on Unsplash

Write Things Down

Keep a notebook nearby and use it. Write down the obvious important things like tasks and questions. A notebook is great for notes and ideas. You’ll notice over time your notes get better. You may find yourself referring back to them, too.

I wrote about my experience with notes recently.

I Wrote a Book of My Notes, and You Should Too!
_I wrote down all the things I should know but always forget_medium.com

I’m quite certain that getting into the habit of writing things down allowed me to get better faster. Writing things down allowed me to focus on the important things instead of remembering the important things.

Baby Steps

Rome wasn’t built in a day.

The best way to build a brick wall is one brick at a time.

These cliché quotes are tacky but true. When you are faced with a problem that seems insurmountable, the best way to tackle it is to break it down into smaller bits.

Task: Build a login form

Bits

  • Text and Password input
  • Input Label
  • Hint Text
  • Submit Buttons
  • Form Layout
  • Api interactions
  • Error State(s)

When you break work down into smaller parts, it’s less scary. You’ve worked with a text input before, how about a password input? You know how to build a basic layout, code that up first and get it working with the API first. Then plug in the styles and make it look right.

Be Honest

There will come a time when you will miss a deadline. You will probably know that you will miss the deadline long beforehand. Be honest with yourself and your team and speak up early.

When a project manager asks how long something will take and you think it will be 2 weeks, tell them 3 weeks. Good project managers will add a buffer to your estimate. Other project managers will try to negotiate you down to 1 week. Don’t budge. If you think it’ll be 2 weeks say 3 weeks. Nobody wins by underestimating.

Let’s imagine you find yourself reading the specs on a component you will be building. Those specs call out “… this should resemble a Finite State Machine…” . You don’t have the slightest idea of what a Finite State Machine is. Like any good engineer, first you Google it. Then, after you’ve read about it, ask someone to explain it in english.

You will feel uncomfortable. It’s ok. It’s ok to be vulnerable and it’s ok to be stubborn (with estimates).

Set Expectations

This is probably one of the most important items in this post.

Properly setting expectations can save you, your team, and possibly even your project a lot of stress.

What might that look like, exactly?

Say you are tasked with building a feature that you said would take you a week. You were smart, and added a bit of extra space in that estimate, but still, it’s going to be close. On Wednesday (halfway through your one-week estimate), the designer and project manager ask if you can change the layout of the feature you’re working on.

The way that I approach this is thusly:

First, I ask if this shift is critical to the feature. Second, assuming it is (cause it always is), I let everybody know that this will probably change the original estimate. Instead of finishing on Friday like we planned, this new work adds another two to three days, so now it won’t be finished until next Wednesday. Third, I ask if that change is still critical given the updated timeline.

That’s all there is to it. If scope changes so does timeline. Be vocal about it and make sure the correct stakeholders know about it.

Ask Questions

You will hear words you’ve never heard before. You will hear about concepts you’ve never heard before. You will be expected to know what you’re doing, unless you don’t.

It’s ok to not know

When you don’t know something, it’s ok. First, breathe. Second, speak up and ask someone. Hopefully, because you are a new engineer, you will have a mentor, project lead, or even a project manager who can answer your questions. Be respectful of people’s time, but also don’t stay stuck on something for too long.

It’s way better to ask questions early and move on to the next problem than it is to sit and spin your wheels for hours on end. Don’t do that. Ask early.

Photo by elizabeth lies on Unsplash

Sleep On It

Our job as engineers is to solve problems. We do this all day long. Our brains are like a muscle, if it works too hard for too long it begins to tire out.

You will find yourself stuck on a problem at the end of the day. You will think you can push through it, and in some cases, you might. There will be some that you can’t push through. You know the best way to solve those problems?

Go home and sleep.

Nine times out of ten you will have that problem solved within the first hour of the next day.

Works like a charm.

Photo by nikko macaspac on Unsplash

Ask For Help

When I first started, I thought my job was to know how to do everything assigned to me. I frequently didn’t know and it scared the crap out of me. It took me much longer than I’d like to admit to figure out that not knowing is actually part of the job. We get paid to figure things out.

If you find yourself stuck on a problem for more than an hour, ask for help. Before you do that, though, try the Rubber Duck method first. When you do ask for help, first be sure you know what your problem actually is. And be sure to have tried a few things first.

It’s probably something silly, but it might not be. Asking someone for help usually get you past whatever it is you’re stuck on.

The more seasoned engineers around you have lots of experience doing this, so it will look like they know everything. They don’t, but they know more than you. They are also way better at identifying what they don’t know, so they can surgically figure it out fast. Try to learn from them by watching how they work. You’ll be amazed and some day that will be you.

Imposter Syndrome Is Real (And Normal)

Imposter syndrome, also called perceived fraudulence, involves feelings of self-doubt and personal incompetence that persist despite your education, experience, and accomplishments

One day, you will find yourself feeling as though you don’t belong. You’ll look around and think that everyone round you is way smarter than you. You’ll wonder how on earth were you lucky enough to get here? This is called Imposter Syndrome and it is a real thing. It can be debilitating.

You want to know a secret? Everybody gets imposter syndrome from time to time. When you start feeling like an imposter do not be troubled, that’s normal. It feels funny, sure, but still normal.

Burnout

Burnout is like staying awake for 48 hours straight and being so tired you can’t fall asleep. When you’ve reached burnout stage with coding, you will start to make simple mistakes and may become irritable.

If you’re anything like me, you might eat, sleep, and drink engineering. I’m extremely lucky in that I’ve been able to turn one of my hobbies into a career. For me, that means I code at work and code at night. Too much of that, though, can lead to burnout.

There are more classical ways to get to burnout, too, like 100 hour weeks to meet a deadline. Don’t do that.

Burnout is something to watch out for. Be honest with yourself about if you are starting to feel burned out. If you’re lucky, you will have teammates looking out for you. They might tell you that you’re burned out before you even realize it.

Side note: If you do find yourself on such a team, they’re keepers. A team that looks out for each other and is honest with each other about burnout is a solid team. Hold on to that as much as you can.

Rest is the only cure for burnout. Unplug and go to bed!

Conclusion

Your first year as an engineer is going to be a wild ride. Don’t panic. Your first year is going to be filled with learning, trials and tribulations. When you come out the other side, you are going to be stronger than you ever thought possible!


References

More content at plainenglish.io. Sign up for our free weekly newsletter here.