You can do this: surviving day one

You can do this: surviving day one

One day, you’ll look back on this and laugh. But not today.

A new kid in school, got to follow the rule, you got to learn the routine…
You got to fill out a form first, and then you wait in the line

—Paul Simon, “The Afterlife”

So, it’s day one. You’ve just started a new job as a developer or engineer, maybe even your first job. What should you expect? How should you act? What do you need to know to succeed?

You might be feeling nervous about the prospect of starting a new job, or maybe a new position or team. If so, don’t panic: you’re not alone. There are lots of things to worry about, as with any major life change, but the chief worry in most people’s minds is probably:

Can I even do this?

Yes, you can do this.

The fact that you’re even worrying about this is a good sign, oddly enough. If you’re going to make progress in your career, then each new job should at least seem slightly beyond your current ability.

This might seem obvious, but it’s something many people fail to take into account. When they look for jobs, they’re looking for jobs they can comfortably do. In other words, jobs where the requirements more or less match their current set of skills.

Instead, you should be aiming for jobs you can nearly, or only just do. Unless you push your limits, those limits will stay right where they are.

Impostor syndrome

So impostor syndrome—the feeling that you’re not really up to the job and sooner or later people will find out—isn’t necessarily a problem. In fact, I’d say it’s a sign that you’re taking on the right kind of challenges. You should be concerned if you don’t feel a bit of impostor syndrome in any new job.

Also, everybody else feels just the same as you, however experienced or senior they are, and however relaxed and confident they might look on the outside. Everyone is secretly thinking “I hope nobody finds out I have absolutely no idea what I’m doing!”

This is what growth feels like

Having evaluated you carefully, and probably at considerable length, the company decided you were the right person for this job. Getting that decision wrong would be unfortunate and expensive, and companies that consistently make bad hires don’t survive for long.

Now, I’m not saying you should be over-confident; that would be silly. What I am saying is that you should regard a modest amount of impostor syndrome as normal, and that while it’ll never go away altogether, it’s also not a sign that anything’s wrong or that you shouldn’t be doing what you’re doing. Instead, just keep in mind that this is what growth feels like.

And then I thought to myself, “You know, what they think of you is so fantastic, it’s impossible to live up to it. You have no responsibility to live up to it!”. I am what I am, and if they expected me to be good and they’re offering me some money for it, it’s their hard luck.

–Richard Feynman, “Surely You’re Joking, Mr. Feynman!”

Coping with “Day One Panic”

Don’t panic. You will cope. Just look around you: all your co-workers must have felt exactly the same when they started, and now they’re doing fine. They probably don’t even look stressed. It’s amazing how quickly we can adapt to new circumstances and start to thrive.

Spaaaaaace engineers talk about max q, the point of peak dynamic pressure experienced during a rocket launch. At ground level, the atmosphere is thick, but the rocket is moving slowly. This is your developer Day One: it’s hard going, but no one expects very much of you yet.

Higher up, the density of the air decreases, but the rocket is also moving through it faster. This corresponds to the period where you’re starting to get given real tasks and deadlines, but you’re still new enough that you find them scary and challenging.

So there’s a point fairly early in the flight where the speed and density curves intersect, and the rocket experiences its maximum structural load: max q. If the vehicle is going to fail under stress, this is when it’s likely to happen, and you may feel like you’re going through this phase too.

How do rocket scientists deal with this problem? They throttle back the engines slightly, to reduce the loads on the structure. You can do the same.

In other words, throttle back your expectations of yourself slightly. Don’t assume you should be in a position to start delivering value right away, or even within a few weeks. It takes time to learn your way around a complex codebase (and is there any other kind?)

Don’t show off

In the first days or weeks of the new job, you may feel a strong impulse to demonstrate to everyone around you just how skilled you are and how much you know. This often takes the form of talking a lot in meetings, making points to try and sound smart. Or, worse, pointing out what’s wrong with everybody else’s code and telling them how it could be improved.

This usually doesn’t go well. When someone in the team is constantly showing off and acting like a know-it-all, we don’t tend to assume they must be over-compensating for hidden feelings of inadequacy. We just assume they’re a deeply annoying person.

It can also be very exciting to join a team of smart people who know a lot, and sometimes this excitement can overwhelm you. If you’ve been missing some intellectual stimulation and the company of interesting people, you may find that your new position generates a lot of fresh ideas. That’s great! You don’t need to tell them to everybody all at once, though. Capture them in a notebook and revisit them after a month or two to see if they’re still as interesting as you thought.

Listen before you speak

Spend your first few weeks of any new job or role in listening mode. Absorb as much information as you can about how things work and who does what. If you see something that you think isn’t optimal and could be fixed, keep it to yourself—for now.

Think about how irritating it is when you tell a friend about some problem you’re having, and they say “Why don’t you just…?” Well, you probably already thought of that, and it doesn’t work. But it’s annoying that they assume you hadn’t even looked at the most basic and obvious solutions.

So don’t be that person. Instead, assume that if something seems off to you, it’s probably because there’s some important factor you’re not aware of yet. Try to learn more about the situation and the problem. Talk to people who’ve worked on it. Ask questions like “Can you help me understand why…?”

How to make suggestions

Once you’ve spent a decent chunk of time in listening and learning mode, and if you still think you have a good idea that someone else hasn’t already tried, you can start gently and diplomatically introducing it. For example, you could say “I was thinking that maybe it would be good to do X. Does that sound reasonable to you, or is there some issue I don’t know about?”

If the first two or three people you ask can’t instantly find a reason to reject the idea, then maybe you’re on to something. You could ask them to help you try it out. Note the words “help” and “try out”. You don’t want to come across as saying “Hey, losers, I fixed your code for you. Yeah, you’re welcome,” even if that’s how you really feel. There are ways and ways of doing things.

The trial period

There may be a formal trial period, or probation, during which it may be easier for the employer to dispense with your services if it turns out you’re not a good fit. This can add to the stress of feeling like you have to prove yourself, because in this case you do.

One way to manage it, and to improve your chances of making it through the probation filter, is to talk to your manager and have them clarify exactly what’s expected of you. Will you be evaluated on specific things, or is it more of a general feeling? If people have washed out in the past during the trial period, why? What can you do to avoid the same result?

Check in regularly with your manager during the trial period to see how you’re doing, and whether you need to adjust course. Don’t wait for them to tell you.

Instead, be pro-active, and get regular feedback about your performance. You’ll learn a lot from these conversations about the clarity, transparency, and consistency of your new employer’s communications with its staff.

Expect to be slow at first

When everything is new, and nothing is routine, even the simplest-seeming tasks can be a struggle. Making a one-line change to some documentation page? It turns out there’s actually a tool you need for that. How to install it? Well, the instructions are out of date and don’t work, so you’ll have to find someone who knows and ask them. But they’re too busy to help you right now. And so on.

“This is ridiculous! It should only take five minutes,” you may be saying to yourself. Sure: when you have all the tools you need, you know how to use them, and you’re experienced enough to deal with any little glitches, it’s a five-minute job. But when none of those things are true, it could easily take you all day.

So don’t be too tough on yourself, and don’t assume that others will be feeling impatient if you’re not reaching orbital velocity just yet.

In fact, your experiences as a new person are very valuable input. Things like documentation get out of date because people become familiar with the processes and don’t need the docs anymore. So any time you find something like this, offer to update it (with the help of someone who can explain what it should say).

Weightlifting with your brain

Don’t wait till you get stuck before asking for help. Get help so that you don’t get stuck. If there’s no help available, and you’re struggling, see if you can break down the problem into smaller steps. Focusing on one small thing at a time helps reduce anxiety, and every tiny task you can check off your list increases your feeling that you’re getting somewhere.

You will get frustrated at first, and demotivated, and maybe even depressed. But this will pass. You will feel dumb for not being able to master things right away. But this is completely normal: indeed, that’s what it feels like to learn something new.

When you lift weights at the gym, your muscles will be sore; that’s what it feels like to get stronger. When you lift weights with your brain, it feels sore, too. But little by little, it is getting stronger. And, just as your body needs rest and downtime between workouts, to recover and grow new muscle tissue, your brain needs that, too. Go easy on it, and on yourself.

Being effective

Things will get better. There’s no specific moment when you realise you’re no longer a newbie, and you start to feel like you’re getting a handle on things. But there’ll come a time when you look back on yourself from a few weeks ago, or a few months ago, and think “What was I even worrying about? This is fine!”

So take heart, you will survive that scary “max q” period, where your brain feels like it’s exploding every five minutes. You may feel convinced that you’re going to get fired for rank incompetence at any moment, but that won’t happen. At least, let’s hope not.

BOSS: I’m sorry, Kramer. There’s just no way that we could keep you on.
KRAMER: But I don’t even really work here.
BOSS: That’s what makes this so difficult.

—Seinfeld, “The Bizarro Jerry”

In Part 2, we’ll talk about what it’s like fitting into a new team, or a new project, and how to find your feet (without treading on anyone’s toes). Don’t miss it.

Next: People skills for developers

My horrible career

My horrible career

Finding bugs with fuzzing

Finding bugs with fuzzing

0