4 ms·
Ask HN: 11 Year (7 in FAANG) laid off dev needing career advice
Background:
I've had many years of experience, but essentially only 1 year of experience in any one thing. It's all been pretty random, though notably very little frontend. To get specific without being too specific, in recent years I've implemented a filesystem, made a testing framework, added functionality to a C++ library, created a middleman between kernel space and userspace, etc. The takeaway is I can do lots of things, but am not an expert in anything.
Problem:
Judging by job postings, the two main categories that even remotely fit me are Infrastructure or Backend. The problem is I have huge holes in those categories - I haven't dealt with the setup of CI/CD, created APIs, used Kubernetes, or done anything to do with distributed computing. The extent of my backend web experience were small scale and lived on a single machine.
While I have no doubt I could pick things up quickly, the fact is I lack the experience that basically every position is looking for. So far, recruiters won't even give me the time of day. Even if we do have a call, I usually don't even advance to the technical screening.
Solution?
Obviously, need to choose a focus and try to convince someone I am capable of performing. Let's say that's Backend. But what can I do about the massive hole in my experience?
I've been doing Kubernetes tutorials, but the pessimist in me fears that in this job market, there will always be another candidate with actual real world experience that will get the job instead. I would also never be able to simulate a large enough load at home to gain experience in solving scalability issues. Would having played with Kubernetes at home matter at all to prospective employers?
I feel like a fish out of water right now. Has anyone been in my position? How did you solve it?
- eschneider 3y agoEmbedded Linux/Application work might be an option. If you've got good core c++ skills and you don't mind learning new things quickly and on your own, then you should be able to handle the job just fine.
- readyna 3y agoActually, just yesterday I had a recruiter call where they remarked "oh we thought you had embedded experience but I guess not" and proceeded to get a rejection email that same day... I am not that great at C++, but I guess self-teaching C++ is a more fitting path to go down vs. self-teaching backend tech?
- eschneider 3y agoI think it's more 'figure out what YOU want to do' and optimize your resume and job search for that. Recruiters will be somewhat random no matter what you do, so don't put that much stock in their comments.
- ganbatekudasai 3y agoI'm curious why you seem to be looking for a web/web backend development position, when clearly you're an operating system developer.
- readyna 3y agoJust going by what's available. There are only so many companies doing OS work and they typically are the FAANG-size places that can afford such an endeavor. And they aren't hiring.
- pxcse 3y ago> Just going by what's available. That's not how it works. If a brain surgeon can't find a position in a hospital do you think someone will hire him as a clerk because "that's available"?
- readyna 3y agoThis seems like a pretty disingenuous trivialization. What would you propose then, I just twiddle my thumbs to wait for something to fit me? What if I were a a horse-drawn carriage driver and the car industry was relegating my career into niche theme parks? If I don't want to be in that niche anymore (and I don't!), then logically, I should learn how to drive a car and become a driver. I am just making the observation that the vast majority of available openings that can even remotely fit me (ie. not any sort of frontend) are backend, with a distant runner up of infra. If that is the reality, then I need to meet it. It's not that I'm against niches. I like the suggestion in the other post to go into infosec. I consider that a niche too but at least most companies would need it. Very few companies make operating systems. I feel that I shouldn't have gone this direction in the first place and this struggle to find a job is a wakeup call to change. My post already outlines my willingness to learn/retrain to fit a new reality. I'm asking for advice to make such a transition, not really looking to being told to keep doing what I've done when it clearly isn't a very portable area of expertise.
- 3y ago
- hqsolomo 3y agoIf you have the patience you can try setting up your own CI/CD pipelines. IMO API dev isn't THAT different from what you already do, just a different mindset. Take this with a grain of salt from me though because I only dabble in API dev. There's an O'Reilly book "Cloud Native DevOps with Kubernetes" that have me a solid grasp on Kubernetes but the biggest lesson from that section was "don't manage k8s yourself" and that was the BEST advice about K8s I've ever seen. Create a free account with the cloud service providers and play around with k8s (ideally after you've run through some guides on CI/CD). This is 100% your "real world experience". If you're looking to try a new career field I think you'd likely excel in infosec with your background. Take a look at application security and see if that interests you. I know your pain as I'm on the tail end of what you're going through, but as an outsider looking in it seems you're in a much stronger spot than I am! They're is light at the end of the tunnel! EDIT: IT needs specialists AND generalists. From one generalist to another, don't be too upset about not being an expert in your domain. I'm a CISSP that struggles with security analysis but can do security management, privacy, and GRC off a fresh bong rip and a four loko+rip it cocktail. THERE IS NOTHING WRONG WITH NOT KNOWING EVERYTHING BECAUSE A GOOD TEAM WILL ALWAYS LOOK OUT FOR EACH OTHER
- readyna 3y agoI agree API dev doesn't seem particularly special. Really boils down to async calls with a chance of never hearing back. But maybe I'm that out of touch... Even if it is trivial though, I've had a recruiter ask me for specific examples of any API experience I have, and of course proceeded to ghost me. Skipping k8s management makes a ton of sense to me, especially since that should be considered more of a DevOps job anyway. But since you say to do CI/CD first, I assume you mean I should go through the entire flow where I submit commits and have the "CD" deploy to the cloud k8s? Seems like I'd still need to be able to bring up my own local instance to see my code changes during dev, and would need to manage the local k8s. Security might actually be the way to go long-term! The way I see it, it has to be verifiable (not possible to depend on AI) and can't be outsourced (at least not to any adversarial country). I'll definitely look into that! What was your playbook to get into infosec?
- 3y ago
- jonahbenton 3y agoYou are missing a big part of the needed work. I would suggest this approach. Make a list of every person you have worked with over these 11 years, everyone with whom you had non-trivial/extended interactions. Probably a long list! Go through that list, and think about- which of these people did you like to work with. Which liked working with you. Which ones appreciated the unique things you brought to the table when working on a problem. Be very selective. This is probably a much shorter list! For each of them, track down their email and compose a personal message communicating that you remember working with them on X, you enjoyed the experience. You are looking for a new challenge and would love to get coffee/zoom coffee/touch base. Send the message. After doing this for each of the very selective group, reduce the selectivity a bit and repeat, composing a still personal message, just reaching out. In terms of skills, yes, you may be helped by figuring out a focus and gaining depth in a particular area. But which area? Here you do need to do another layer of analysis beyond job postings, but you will also need to figure out what interests you, what you would be motivated to do. Which might be more technology or it might at your level of seniority be other areas like business domain or people areas. If business domain or people areas are interesting then you will want to double down on setting up conversations with your network. But if technology is interesting the very best thing to do is the learn in public. Take your lack of knowledge as a strength, start from zero, and use your existing skills to learn how something is implemented, and teach yourself, documenting as you go, to the level of depth that satisfies you. Publish that work. If you have worked at the kernel/file system level you find especially in user space platforms like k8s many oddities and curiosities. Listen to your curiosity and document those oddities. You might actually find something that needs fixing, in that case, submit a PR. Both of these approaches- reaching out to your network, and following and documenting your curiosity- take time. Doing the job hunt with recruiters does as well. But this way you are growing yourself as an asset, in relationships, and in skills. HTH. Good luck.
- readyna 3y agoAh, I had only really reached out to those I met at the 7 year company. Going even further back for anyone I hadn't bothered to talk to all this time seemed a bit weird. I guess I can try! I did start blogging my side projects, but I hadn't considered digging into other implementations and blogging my findings as well. Interesting idea, will try!
- rsynnott 3y agoWas the 7 in FAANG at one company? What was your role there? Does that role exist elsewhere? FWIW, particularly at large companies, I wouldn't have thought the average engineer would be touching Kubernetes, or the build pipeline, or whatever; there's a fair bit of specialisation in large companies. And some companies don't even use Kubernetes; despite appearance, it is not mandatory :)
- readyna 3y agoYes one company, I was a generalist software engineer. I agree that it'd be very weird for any of my colleagues to have touched Kubernetes or the build pipeline (unless that was their entire job). Large companies can afford to let people specialize, but that's not necessarily the case with smaller companies where people need to wear many hats. It's just pretty apparent that I need to put on more hats to be a competitive candidate, especially when the hat I do wear usually isn't relevant to the companies that are hiring. Large companies also have plenty of teams doing more mainstream work (regular backend dev) even if it doesn't include k8s, so they all still have a leg up on me in this sparse job market. Of course my problem might disappear when the market recovers and the large companies hire again, but I'm not going to sit around waiting for that.