Time to Read: 6 MinutesComments
Photo By: Émile Perron
Don’t. Stress. It.
These words are might seem rich coming from someone who can’t personally relate to your situation. If you’re either (1) desperately trying to leave a toxic work situation or (2) unemployed or (3) facing an interview for your dream job then I would recommend adjusting your preparation habits accordingly. Otherwise, don’t stress it. Technical job interviews are strange fickle beasts and exhausting yourself by cramming programming problems and system design problems can negatively affect your performance. You could also spend a great deal of time preparing and find yourself just simply out of sync with your interviewer or perhaps your interviewer may ask you an esoteric question that you could have never prepared for.
You should approach the process from beginning to end as a learning and growing experience. This might sound like a cliche but there is a good deal of truth behind this cliche. With each interview, you’ll find that your experience will allow you to anticipate certain questions, develop better communication skills, and lose some of the anxiety and nervousness that you experience in the beginning. Frame the process in a different context then simply “I have to have this job or I’ll die.”, in most cases, that simply isn’t true. Note your shortcomings in the process, your areas to improve upon, and questions that you simply didn’t know the answer to. There may even be times that you simply knocked every question out of the park and still somehow end up without an offer; which further proves that you should lessen the pressure on yourself throughout the process.
If your interview process didn’t end as expected, to help combat the discouragement that you’ll likely feel are the testimonials of other fairly successful individuals who faced similar rejections throughout their careers before ultimately finding success. These stories can be found at: Rejected.us .
Grow and become better with each experience.
With that said, I would only set aside a few hours or less each week to practice some of the more technical-oriented aspects of the interview process regardless of if you have any potential upcoming interviews. Your day-to-day operations may leave you unfamiliar or a bit rusty on some of the approaches that might be demanded from you in the context of your typical programming or system design challenges (honestly, how often are you going to be required to implement a bidirectional BFS algorithm from scratch at your job?). The resources explained in the previous posts should provide an extensive repository of practice for you in this regard.
If you have a potential interview upcoming, I would set aside a strict limit on how much time you should spend preparing. Honestly, I don’t think you should spend more than four hours total in preparation leading up to the interview in addition to the aforementioned workload. You can spread it over a couple of weeks or spend it all strictly on the week prior to the interview. How should you effectively spend this time? I would recommend simply reviewing your own responses to the typical STAR (Situation, Task, Action, Results) style behavioral questions, reviewing any interview experiences and questions by previous interviewees on Glassdoor, and perhaps surveying a selection of common programming problems and system design questions to refresh your memory on how to approach each problem. I feel like anything over four hours can begin to bleed over into time that could be better spent elsewhere and, given the nature of technical interviews, could ultimately prove ineffective. I would even go as far as to say that you should limit your preparation to not preparing the night before or morning of an interview. You should try to use this time to help you relax.
If you’re situation calls for more urgency and desperateness then adjust your workload accordingly. Regardless, try to grow from each experience. A poor interview performance or rejection can be incredibly demotivating regardless of your emotional approach to the situation but you should try to learn how you could improve upon your performance.
I’ve finished the interview, so now what?
If you’re lucky, you’ll hear back shortly or better yet, you’ll hear back when your primary recruiter or the company actually says that they’ll contact you. It’s not uncommon, however, to have an extended amount of time between the end of your interviews and actually hearing the ultimate result of those interviews. Frankly, no matter what your recruiter or the company specifies as a response time, I would give them a week. It’s also not unusual, sadly, for companies to ultimately just forget to reach out afterwards altogether and simply “ghost” you. If a week has passed and you haven’t heard a response from the company, simply treat it as a “rejection” and move on. This can be incredibly frustrating if you’re balancing multiple offers and you don’t want to commit until you’ve learned the outcome of all of your interview processes.
If they do reach out and extend an offer then it’s time to return to some of that preliminary research that I mentioned in an earlier post. Know your salary expectations. It can company-specific or it can simply be a range that you deem worthy of relocating and switching positions and companies. Get an idea of the entire compensation package, vestment periods, and anything that they might try to use to pad the total compensation number that you may never fully realize. And negotiate.
I know that I titled this series, “Software Developer Career Tips”, and the content within is more-so focused on finding and preparing for a job rather than any career tips concerned with the period after acquiring a job. Maybe I’ll continue this series with content that is more focused on activities in that category. However, I will briefly touch on a subject that I feel is necessary to write about in limited detail and is closely related to the overall theme of this series.
When to leave your job?
This is a question that many will encounter in their career at multiple points and there is a lot to consider so I thought I would create a non-exhaustive list of things to reflect upon when answering this question.
In closing, I hope that this series has helped you understand the following:
Thanks for reading!
Software Developer Career Tips: Closing Thoughts
12 February, 2020
Fitness Series: Illnesses and Injuries, Make a Contingency Plan
03 February, 2020
Software Developer Career Tips: The System Design Phase
27 January, 2020
Software Developer Career Tips: The Technical Phase
21 January, 2020
Software Developer Career Tips: Do Your Preliminary Research
13 January, 2020
The Power of Habit
19 December, 2019
Rich Dad Poor Dad
14 October, 2019
19 August, 2019