Ask HN: Been in dead end job for too long. Quit without offer in hand?
I just failed another phone screen because I couldn't reverse a string in place. I don't have a CS degree and have never really thought about algorithms. I gave them two answers, "foo"[::-1] and ''.join(reversed("foo")) though i totally get they wanted the "algorithmic" way. I have the same problem with stats- "talk about a time you used SVM/random forests/etc at your work" ... well I've never had the chance to.
All this is to say I need a major course correction asap. Looking for new jobs while working this one is insanely stressful - that phone screen was at midnight due to the fact of me being on the opposite side of the Atlantic right now. I'm considering quitting without an offer in hand.
Who has quit to take time to refocus? I'm nervous because
1. Although the pay is great, I don't have a huge liquid emergency fund. It's all in my brokerage account, IRA, 401k etc
2. My only professional experience is with a company that's not at all representative of the industry i'm trying to enter.
3. Given 2. I don't trust myself to sit at home and "reteach" myself everything I studied four years ago.
26 comments
[ 0.24 ms ] story [ 69.9 ms ] threadI don't know how many hours you work, but I have a wife, a kid, a full-time job that I drive 1.5 hours to each way + I'm a reservist. I still find time to learn new things. It would be faster if I didn't have a job, but its still doable.
If you're stressed about the fact that your career hasn't gone the way you imagined, you should remember that it isn't too late. I switched careers at 30, quite a few people do it much later than that. Just don't give up and eventually someone will give you a shot at your dream job.
I've found this to be true on a very practical level. When I go into an interview while already employed, I have the confidence that the worst that can happen is that I will still have my job. It removes a lot of the anxiety that comes with the process of interviewing and that leads to a better experience all around.
I got sick of having to do dumb technical tests with every application when I had been working all day, whereas with the spare time I was able to give them a lot more attention.
Why do another one of these crappy tests when it isn't particularly representative of my job? I have code available that I can show you, talk about, discuss the reasons why I did things the way I did. I don't need to create yet another mini application rushed in two or three hours just to show you I know what I am doing, or even worse a hackerrank challenge.
EDIT: I re-read what the OP said about reteaching themselves. Maybe finding a mentor will help.
It could also be useful to have even a relatively shallow body of work to demonstrate some degree of competency, given they've not been doing it commercially to date and like every right-thinking individual, doesn't enjoy algorithm-orientated tests!
@OP - personally I wouldn't quit. Depending on your annual leave/worktime arrangements could you take 1 day a week off for the foreseeable future to pursue your career change?
Alternatively could you migrate to (or even create) a more desirable role within your current employer in the meantime? If you can demonstrate a strong business case for it they might just facilitate your career change themselves...
I wouldn't even consider leaving until you have something else in hand.
I don't think your "dead-end" job is hopeless as you think. You didn't clarify what the "professional services" entail, but if it is related to IT (as is your troubleshooting skills), then you could look at jobs where your existing skills and experience is valuable and you will able to refresh your CS skills. Maybe a DevOps job which is more Ops than Dev initially.
Sometimes the route to the dream job requires a detour.
So is looking for a job while unemployed, unless you have a substantial safety net.
I wouldn't recommend it, especially if you don't have 6 months of reserves in cash.
I've done this before and am in a similar phase but working on my own startup. Having free time would allow you to think about many things, relax a bit in this stressful life and relearn algorithms and work on side projects. You will be more focused and determined to pass the interview, it's like the final exam that you cannot fail.
Bear in mind it may take 1-2 month to get the job, however you may even hit the big four after preparing well. As for many people who say recruiter ignore applicants without job, I would say ignore them! Or you could approach recruiters/founders via linkedin which can be far more effective.
Anyway, don't give up. :)
Search online for interview questions in your niche of interest. Questions like "reverse a string in place" are very common interview questions and you need to get comfortable with them.
Be honest with your interviewers that you are looking for a change. You must somehow convince them that the work interests you and that you can pick it up.
I take time off in between every job. I have never left a job for a job that I had in pocket.
the neat thing about taking a break, is that you can focus on your own projects. You can develop your own skills. You can do all of your own research and work. it makes a good story for interviews if you have your own projects and work to explore.
if you don't have income to support taking a break, consider trying to find part-time work or just work in lower pay environment like teaching.
Igrow so much more in the months between employment. I always feel like I'm able to return to the industry has a more marketable individual, and the sorts of jobs that I've gotten have reflected that.
The only exception to this is if you have dependents. If you're just out of college and you don't have dependents then it's ok to risk your livelihood for personal reasons, and I encourage it.
Instead, since you don't have a formal CS education, I'd recommend checking out an online algorithms course like this one: https://www.coursera.org/learn/algorithm-design-analysis/hom...
Practically speaking, like it or not (and trust me, I don't), programming interviews tend to involve a lot of algorithms and data structures problems, so having "never really thought about algorithms" puts you at an immediate disadvantage compared to other candidates. Plus, gaining a grasp of the basics of algorithms and data structures is going to be worthwhile regardless as it will make you a better developer.
If you just leave because you're fed up and you don't at least have a plan, you're going to make things harder on yourself than necessary. You may even find after you do your homework that there's a more fulfilling career path with your same employer that you can easily transition over to.
(1) Address the stress issue. Get some sort of excercise or at least take a walk after lunch. I personally don't like the "E" word (excercise) so substitute things that are fun (mtn biking, skateboarding, climbing wall, etc). Preferably with friends.
(2) Charge your batteries Get 8 hours of good sleep. Everything is sooo much harder when you're tired. It's hard to work on even a fun project when you have no energy left at the end of the day.
(3) Make learning fun Find some sort of project that interests you that stretches you some. The idea is to learn algorithms for your project not just because you wish you knew them in an interview. Let fun "pull" your learning instead of guilt/duty/whatever "pushing" you to learn.
Do not quit your job before you have another. As someone else mentioned, some places actually have a policy of only hiring people who have a job already.
The Emergency Fund is a top priority. That will alleviate much of the stress on your job search. Can you get creative on building that up? Cut expenses, take on a side-project for additional revenue?
Meanwhile, suggest you start attending meet-ups and conferences in the space you want to work. Connecting with new people often opens hidden opportunities.
Think how insanely stressful interviewing would be if you didn't have your current job. Having a job makes it easier to find a job. So relax, be confident in your interviews, and keep interviewing till you find a good fit.
Save up an emergency fund.
You can work on polishing your skills start a personal project using new technology or a stack you're interested in moving over to.
You don't need reteaching, most jobs you aren't going to use everything you learned in school anyway.
Good luck.