It’s easy to languish for years in a job that is merely “good enough”. The pay may be comfortable, the coworkers tolerable, and the work interesting enough to keep you engaged, but the job may not be something you want to do forever. When (not if) you find yourself in this position, it doesn’t really make a lot of sense to simply quit your job and start looking for another one. Rather, you can often be in a much better situation in six to twelve months if you start taking action now to prepare yourself for something that is more suitable.
Transitions between technical jobs happen for a variety of reasons. Two of the most common are higher pay or working with newer technology. However, those are not the only reasons why you might want to start looking for different work. There are a lot of reasons that you might be planning to leave your current job in the next six to twelve months. Let’s talk about some of the things you should be doing to make sure that the transition is as smooth as possible.
Leaving a job is tough, especially if the job isn’t particularly bad. When you are comfortable, it’s easy to rationalize staying in place. However, sometimes you realize that your current isn’t a good choice over the long term. The reasons for this are intensely personal, but you’ll know when it is a good time to consider making your way to the exit. When you do, you need to do it in a smart way so that the transition both works to your advantage and leaves the organization in better shape than you found it.
11:10 Resume Tweaks
You should be making resume updates months ahead of switching jobs. Do this in a way that doesn’t trigger anything on LinkedIn. It’s a lot easier to regularly update your resume anyway, rather than doing it all at once.
This is a good time to get information from your current job about your successes. It’s a lot easier to discretely ask about numbers and the like when people don’t know you are leaving. You probably shouldn’t put these numbers directly on your resume, in case management comes across it. Instead, just keep track of them discretely so that you can use them when interviewing as appropriate.
Be careful while you do this to make sure that your current job doesn’t notice, at least until you’re ready. Don’t be on LinkedIn on your work computer, unless you do it regularly anyway. Don’t be researching other companies at work either.
This is also a good time to start reaching out to people about recommendations, if you need those. This is probably not a good time to ask for recommendations for your coworkers, but it might be a good time to write one if it won’t cause trouble. This is a good time to reach out to former coworkers for recommendations and (more importantly) to catch up in general.
You should also be attending meetups and meeting new people. You should start attending meetups well before you need a job. Networking is easier (especially for introverts) when less is at stake. Don’t limit yourself to just coding meetups. Even meetups for non-professional things can help here.
Especially focus on meeting people who work in places you might enjoy. If you are sick of writing code for one industry and want to get into another, you should be networking by attending appropriate conferences and meetups. You might also contact anyone you know in that industry for suggestions for interesting meetups. Some are poorly advertised.
23:05 Changing Your Current job
See if there is anything you can learn in your current job that might help you where you are going. This might be anything from learning new skills to simply working on better projects that are more likely to show a monetary value in terms of their success. This is also a good time to re-evaluate whether you can make your current job better, rather than leaving.
Try to start gathering information about the value you provided over the course of your time at the job. It’s way better when going to interview at a new job, if you can describe actual numbers for the projects you’ve worked on. You are looking for things like dollars saved, dollars increased in revenue, increases in load (which correspond to dollars, hopefully), and the like.
Try to set things up so that when you leave, you do so on a positive note. If you have had issues with coworkers, management, or other parties, you should be trying to fix the bad impressions you made. If your work ethic, mode of dress, or conduct has been lacking, it’s time to clean up your act as well. The idea here is that if you show a marked improvement, people will be less likely to be negative about you when asked for a reference. You’re not doing this for references for the next job, but jobs after that.
30:00 Skill Acquisition
Start working on additional skills outside of the current job if other stuff is going to be needed at the new one. Unless you are very lucky, you are probably not using bleeding edge technology with your current work. You may need to brush up. You should also be trying to improve any gaps in skills that you have, especially if those skills are relevant. It’s a good idea to have sample code that you can bring on a laptop and show a hiring manager if you are claiming skills that you did not use at a previous job.
This is a good time to make use of whatever training materials you have available, as well as learning from people in your network. We talked about networking previously, but if you already have an established network, you should be reaching out to them, asking questions, and telling them why you are asking them. This does two things. It gets your questions answered, and it gets people in your network to where they are aware of what your plans are.
This is also a good time to fix your soft skills. Don’t just look for gaps in your hard technical skills. Try to fix your soft skills as well. Good soft skills go a long way towards making a good impression at a new job, so these may be a higher priority than the technological skills.
38:00 Transition Planning
This is a good time to start trying to cross-train other employees if you’ve managed to become siloed in your current position. You should be cautious not to show your hand while you are doing this. Characterize it as making sure that you can go on vacation or that the company can continue running if you get hit by a bus. A backhanded way of doing this is through code reviews with other members of the team.
Start documenting everything that might be a problem when you leave so that you don’t leave your coworkers in a lurch. You don’t necessarily have to tell everyone that you are doing this, but you should start well in advance of leaving. This gives you time to document everything thoroughly, without losing a substantial portion of your day to writing.
You should also probably start cleaning up any code that you wrote that you know is terrible. If you’re allowed to refactor your code, you should start spending some time to clean up some of the spots that you know are suboptimal. If you aren’t allowed to refactor your code, then don’t bother. If that’s the case, this suggestion will be a drop of water in an ocean anyway.
42:40 Work Samples
If you plan on showing any code samples to potential future employers, now is the time to start thinking about that. This doesn’t mean that you start taking code from your employer. You should be building up some samples of work on your own time, using the kind of technology you expect to be working with at a new job.
Be very careful not to show any code from your employer that isn’t already public. It’s really ridiculous to even have to say this, but do not take your employer’s intellectual property out of the building. If you are caught doing this, you can be fired. You can also be blamed if any of it happened to leak, even if it wasn’t leaked by you. It also looks bad to most potential employers if you walked out the door with an employer’s code.
This may mean that you have to write your own code instead of relying on proprietary code. This is actually not that big of deal, especially if you are trying to sharpen your skills on the side anyway. Producing real, working code that is of a quality that will impress a potential employer is a great way to learn anything you need to learn.
46:40 Budgeting and Financial Planning
You should start reducing expenses during this time. Job changes can cost a surprising amount of money. Job searches have a cost in time, money, and attention as well. You’ll probably want to free up resources.
You should be saving the extra money and trying to build up another month or two worth of living expenses (assuming you already have six months worth saved up). You want to do this in case the new job is terrible and you decide to leave it early on. This can also be handy if there are some surprise expenses involved with getting a new job (certifications, a passport, new clothes). You also need the extra money in case you are fired when you turn in your notice.
You may also need to smooth out cashflow issues during the transition period. You don’t want to be anywhere close to the edge when changing jobs. For instance, if your car breaks down after your last paycheck at your current job and two or three weeks before your first paycheck at your new one, that’s bad. You should also be careful about certain times of year where surprise expenses come up (Christmas, tax season). You need padding in case something goes wrong there.
51:36 Start Applying
You should start applying for other jobs well in advance of when you plan to leave. It can take quite a while to get a job in which you’ll be really happy. It’s good idea to hold out for a really good job if you are leaving one where you are comfortable. You probably don’t want to take the first job that you are offered.
You may need to “knock the rust off” of your interviewing skills. If you’ve been at your current position for a while, then you may be out of practice in terms of handling interviews. If that’s the case, the first few may be a little awkward. There is a book coming out this fall that will help you with preparing for interviews in general.
This may be a good time to inform a trusted recruiter or two about places you’d like to work (if you plan to use recruiters). Recruiters are always looking for people who want a new job. It helps them a lot if you already know where you want to work, because they only have to convince the other side to hire you. These recruiters may also have insight about the environment at potential employers. It’s often good advice that can help inform you as to which skills you need to improve or obtain before getting a new job.
If you aren’t blogging or putting content out on a regular basis and plan to do so, a good time is before you start looking for work. This will help establish some credibility for a new job before you walk in the door, especially if you write good content and have a link to it on your resume or other profiles. It also means that the new employer is less likely to object to you writing a blog, since you came in with one, rather than starting it while there.
You should target your content towards the kind of work you want, not the kind you currently have. If you are learning something, tell the story of learning it as you go, rather than talking about your existing job. This protects you from your current employer finding something they don’t like in there. It also showcases relevant skills instead of skills that may not be.
This is also a good time to do a little clean up on your social media profile. If you’ve been comfortable at your current job for a while, you may have gotten complacent in regards to what kind of things you’ve written on your social media profiles. Be really careful about anything inflammatory that is publicly available on your social media profiles in general. You might also consider using some social media to actually place posts that are helpful to your job search.
The Pragmatic Programmer
The think I like about this book is the way it’s organized. It is designed to be read in short segments to help deal with a specific topic or problem. A lot of us like to skip right to the meat of a book, especially a technical book but I encourage you to read the preface of this one. There’s lots of insights into how to best apply the knowledge contained in it. My favorite part is where they talk about what makes a pragmatic programmer. This leads well into the first chapter which is the philosophy of the pragmatic programmer. THe second chapter gets into approach a pragmatic programmer takes. While each section is self contained and can be read in almost any order I suggest starting your journey into this book with the preface and first couple of chapters. That will set you up with the right mindset for the rest of the book.
Tricks of the Trade
The longer your planning window is, the easier and cheaper things are. This applies to almost everything.