So You’re Leaving

Look around the internet this blog and you are bound to find many examples of how to land that critical first developer role. It’s a great jump start to your career, and it’s definitely hard! On the other hand, it’s probably not the last time you’ll start a new job, so leaving your old one is just as important to your developer timeline. A clean exit only makes you look like a stronger developer and person in general when it’s time for recommendations from your peers, but a bad one will definitely leave a sour taste in a colleague’s or superior’s mouth.


Your Last Few Days

In your last few days in your current role, you’ll be transitioning all your existing work in progress to your colleagues following giving your 2+ week notice. (I should mention that you should give notice before you leave.) You’ll definitely want to leave on as good of terms as you possibly can, and this means wrapping up what you’re doing in such a way as the person that follows you can easily pick it up. The advice that follows pertains to all jobs, not just developers, though I’ll give specifics where applicable.


There’s No Good Time to Leave

There simply isn’t. Even if your employer somehow knows you’re dabbling in a new job or career, they’re still likely to be somewhat blindsided by your stated departure. They’ve been counting on your work in their forecast during your tenure and they’ll likely begin looking for your replacement immediately if they don’t already have one.

Giving notice to an employer can be stressful both to you as well as your superiors for that reason. Unfortunately, it’s not uncommon to be on the receiving end of a little vitriol after you’ve stated your exit date. Hopefully, this doesn’t happen, but if it does, my advice is to ignore it. Your job for the next 2+ weeks during your notice period is simply to transition – you gain absolutely nothing by retaliating to any perceived slights.

If your employer asks you to do one, an exit interview would definitely be an appropriate place to bring this and any other grievances up in a constructive manner.


Counteroffers

If you’re truly indispensable, you may receive a counteroffer from your employer to retain you. What you do with this is up to you (it’s never really a clear-cut answer as to whether you should take these or not), but you absolutely should be prepared to receive one as well as know where you stand.

Some things you’ll want to think about beforehand:

  • Are you willing to entertain any counteroffers?
    • You might decide that no, you’re not, and that makes negotiations quite simple.
  • If you do receive one, what are the conditions you’re willing to accept?
    • Do you need a raise? If so, how much in dollars or percentage of current salary?
    • Do you need a promotion or better title?
    • Keep in mind it doesn’t have to be a raise – for instance, you might be happy with the salary but want reduced responsibility.

In any case, you’ll want to have concrete reasoning why you deserve what you’re asking for as well as what you’re willing to accept.

It’s normal to ask for more money because of an offer you have in hand, but it would be wise not to string the new company as well as the employer along. I made this mistake early in my career where I received an offer from a company, notified the old company of my exit, who then tripled my salary on the spot (which was more than the new offer), and I attempted to use that to ask for more money from the new company. At the time, I had little experience (read: leverage) to do this, and it backfired. I’m fairly certain I came close to having the offer revoked. If this is a path you want to take, be aware that you can lose the existing offer in hand if things go south.

One other thing to consider is that if you do accept a counteroffer, be prepared to be ousted as soon asn a cheaper replacement comes along. It’s not a guarantee to happen, but it can if the engineering department you work at operates as a cost center rather than a revenue-producer. These companies typically don’t pay as well as tech startups and as such are looking more for (relatively) cheaper bodies in seats than exceptional engineers. Remember that you’ve already shown your hand that you’re willing to look for another job – expect your company to do the same.


Transition Gracefully

Once you’ve taken care of everything else, the timer is now ticking til your departure. One of the key things you’ll now be responsible for in your last few days is to transition out of any projects you’re currently working on.

My advice would be the following (and I recently did this as I transitioned out of my last role):

  1. Write lots of good documentation.
    • If you already have documentation around the thing you’re working on, great! Write some more. It doesn’t have to be about code, a lot of the documentation I wrote in my last few weeks was documentation around processes that I had developed, or tips for tricky configurations, etc. Any knowledge that is implicit to you should be written down. Assume your coworkers are idiots (maybe don’t tell them that, though) and write documentation as if they needed handholding 100% to do what you do.
  2. Pair up on literally everything.
    • You should write as little code during this time as possible. If there’s something that requires expertise, pull in a colleague that will be taking over for you and pair with them as they write the code. This allows them to get familiar with any code they’re not used to and you’re there to answer any questions they may have as they go along.
  3. Hold high-level knowledge transfer seminars.
    • This may or may not be needed depending on how much influence you have over parts of projects. If you’re leading a project or contribute in a major way, they can be great. I recommend recording a session where you walk through the workflows you’ve developed, from how to clone the repository, configure it, run it, and deploy it. Along the way your colleagues should be free to ask any questions they may have or request demos of features that you’re showing them. This lets the team organically understand where its knowledge is lacking and make up for that while you’re still with them.

Goodbye!

After you’ve done all that, you should rest easy knowing you’ve set your old team up for success, and start looking at transitioning into your new role. Take some time off if you can and get ready for the next chapter of your career!

That’s all for now. Thanks for reading!


Tyler Porter

I'm a Ruby on Rails developer professionally interested in cycling, hiking, baseball, and video game development on the side. Most of my projects attempt to integrate one or more of these.