Ask HN: How to reskill without losing income?
I am making a good living with a niche skillset. It's a fairly old technology and there's less and less work in that area.
I'd like to move to another technology stack - it's not too hard for me - different keywords etc and I've actually done some hobby projects already.
I think if I applied for a job I'd get rejected as there is no track record of being able to work with that tech.
Best get case I could probably apply for a junior job which would pay well below my current. It will probably take years to get to the same level of pay, assuming that particualr tech stack takes off.
Is there any eascape from this?
Are there any companies that would be willing to hire a grumpy 30-something and recognise his/her experience as something reusable?
96 comments
[ 5.1 ms ] story [ 196 ms ] threadAka an open source project that is written in the stack you want to learn.
But, in general, I think many, many companies are willing to hire 30-somethings with experience. Perhaps seed-funded startups aim for cheap low end labor, but enterprises and well-funded startups consistently value experience over skills with a specific stack or language.
This is a big assumption, that is simply not true for a lot of opportunities out there. If you are able to show proficiency in what they are looking for, many companies will take you seriously as a candidate, even without 5+ years on the resume in said technology.
Worst thing you can do for yourself is to not try and apply. Worse case is you get a "no thanks" and you move on to the next application.
Hiring managers, you are going to get what you ask for.
At megacorps the relationship between the people writing reqs and the actual job are often rather strained.
I could never qualify for my own job req, and I work there. I got in via networking and portfolio. Seriously, HR lists specific versions of AS/400 software and the department doesn't even work that closely with the AS/400 group, ya know. In fact I think my AS/400 password expired, aged out so I need to regain access, although I really don't need it. People in my department "need" windows 8 experience but our desktops are win7? A+ certification preferred because everyone in my great-grand department requires it on paper? You listed the exact model number and firmware version of a specific spectrum analyzer from a company that is no longer in business under that name? Seriously?
If you aren't employed and are contracting/freelance, it is just as easy. Since your skill set is niche, not everyone has it, and you can charge more for that niche. Up your rates enough that you can cut 10 hours a week out to study something new.
so yeah, it happens. Legacy systems are re-written. convincing your employer? yeah, I've never seen that part happen, so I can't say anything, but I certainly have seen the aftermath.
Good luck from another 30-something.
① For me 'niche tech' is one thing, and 'investing a lot of time in the bowels of the corporate product over 10 years' the other one - the latter just WILL go away if I switch and is absolutely not useful elsewhere
1) You have experience in a corporate environment. You know the kinds of things that terrify them, and you know the kind of experience they expect from the companies they interact with. This knowledge and perspective is incredibly valuable to any startup in the b2b space.
2) The problems you solved - while maybe specific to the corporate product - generalize well. There's a better-than-even chance you had to deal with managing data from multiple inputs, scaling and performance, build management, testing issues (even if experience in pain of not having it), product delivery, and/or user experience. These things are not as different as you might expect.
Reference: I spent many years working for a Large Bank developing in-house software before transitioning into the startup world. THe biggest problem I had faced was my complacency - somewhere along the way I gave up on pushing to do things better, and it took me a while to get that back. In that way I was fortunate that I came to work for a company that gave me the time I needed to do that.
I'm not totally pessimistic, I was really referring to the knowledge that doesn't translate to a new job. After 10 years and working deeply with a lot of stuff I am among the 'Do you know..?' types for questions about the inner workings of the product. That is really just baggage.
Processes, experiences probably can be reapplied elsewhere. But having read some C files from 1996 (I .. didn't work at that company at that time), reciting the product's API every evening after dinner and being intimately familiar with the current .Net code base is time invested in this job and this job only.
I disagree with this, you gain something working closely with a legacy code base. After you've done it once, it becomes easier when you have to it again, although if you do it more than a few times, it gets REALLY old. I distinguished myself at my last two jobs by jumping into and becoming proficient with the legacy code in short order.
1) You have experience in a corporate environment. You know the kinds of things that terrify them, and you know the kind of experience they expect from the companies they interact with. This knowledge and perspective is incredibly valuable to any startup in the b2b space.
2) The problems you solved - while maybe specific to the corporate product - generalize well. There's a better-than-even chance you had to deal with managing data from multiple inputs, scaling and performance, build management, testing issues (even if experience in pain of not having it), product delivery, and/or user experience. These things are not as different as you might expect.
Reference: I spent many years working for a Large Bank developing in-house software before transitioning into the startup world. THe biggest problem I had faced was my complacency - somewhere along the way I gave up on pushing to do things better, and it took me a while to get that back. In that way I was fortunate that I came to work for a company that gave me the time I needed to do that.
Pick a technology stack that you want to get a job in and build a side project in your spare time. Attend meetups with experts in your local community and learn how to make it awesome. Build relationships with them along the way.
Use those relationships to get some part-time contract work in said technology stack with someone local. Document this experience and build up a portfolio.
Eventually, use the knowledge you've obtained from your side project and part time contract work to apply for full time jobs. You'll then be very marketable, and you will have enough knowledge to do well in interviews.
Good luck!
I read to understand fundamentals and to get useful information such as which libraries, techniques, etc are popular in the arena that I'm entering or things to avoid. Many, many times reading has saved me from entering a given arena because I was able to conclude that whatever new technology I was looking into wasn't really going to work the way that I wanted.
Taking a less-senior position for less-senior pay in the new tech stack is probably going to be more money per unit work, and my experience has been that you can get people to work with you on titles and that nobody actually knows what you got paid at your old jobs.
I mean, sure, if you really are that good and actually get things done regardless, your way might be better. My experience has been that good contractors going direct get a little more money than you can get through a body shop or as an employee. But... I'm talking like top 5%. Most of us aren't there. If you are mediocre... if you are merely 'good enough' - being a "real" contractor is difficult and under-remunerated. (to be clear, it's under-remunerated for the top 5%, too... but those people work like crazy all the time, so it's not like the customer is expecting more out of them.)
If the antiquated tech you have experience in is more complex than the new stack (antiquated tech usually is), it sometimes works as a positive: you have a perspective 'native' users of the stack don't.
At least in my experience as a contractor, people are looking for contractors because they have lots of experience in this technology but don't have the resources or time to devote to their project full-time. So if you have little experience in a tech stack, you may have a hard time finding this kind of work.
I simply built a side project (I did this with Rails) and then got hired full-time at a startup to do Rails work. As with everything, YMMV.
I did this with a twist, if you can swing it.
1) Find a local client that is looking to do a project on the cheap - someone who has an Elance budget but is uncomfortable dealing with someone remotely.
2) Propose to do this project pro-bono if they budget the availability of a sr. resource for mentorship - say 5 hrs a week.
3) Put in reasonable constraints AFA availability, estimates, testing, etc., that befits your jr. status. Ultimately you want your mentor to guide you as much as possible and the client to understand this relationship. It shields you from unreasonable expectations.
Doing this, a) you get to work on a real-world project (it pushes you forward faster with issues that a side project usually doesn't... if for nothing else you're interacting with others on their schedule, their whims), b) you get on-hands training, and c) you get access to the networks of your mentor/client if the relationship is fruitful.
I did this back in 2012 - the only work I had done prior to this was going through the Hartl Rails Tutorial. The initial project lasted for 4 months @ ~20hrs/week and I was paired with someone who was an early engineer from Gilt Groupe. During this time I continued to work my day job.
Toward the end of that project my mentor brought me the opportunity to bid a long-term gig. I quit my job the day the that contract was signed w/ about 3 months of financial runway. A few months later he brought me another, and that work kept me going for over a year at an overall cashflow greater than I had made at my enterprise job. Toward the end of these engagements I started consulting for a local startup which converted into a FTE situation for a year and a half. Now I'm back consulting on another long-term project by way of a recommendation from the design team on one of those earlier projects.
The one thing I will say about consulting is when you're starting out communication is more key than technical skill. Just be open w/ the client, you're both making concessions in such a situation.
Occasionally however I run into people who have absolutely no side projects and have been doing the same stuff for 10+ years. I'm a Java expert (or .NET or C etc.), they claim. When I ask them if they've tried anything else besides that one thing they've been doing over and over for a decade, perhaps a side project, a toy product, some contribution to OSS in the new paradigm they apparently really want to work in, I get responses along the lines of "I'd never work on something I'm not being paid for, I'm a serious professional that's irresponsible".
Er.. ok. So I'm supposed to hire you, take a huge risk not knowing if you can pull this off or not, train you for a year to do something you have 0 familiarity with, and then you might peace out right about the time when I'm starting to recoup the onboarding costs? I'll pass. Candidates who already demonstrate a lot of interest, side projects, and desire to learn outside of their 9-5 will win any day of the week with me.
I think it should be a case by case basis.
On a less snarky note, I think the objection is the power dynamic of employers essentially wanting employees to train off the job rather than subsidizing continuing education, but pretending that it's a utopian "we're all in this together" situation, but where equity is not usually shared.
Not to get into a debate, but there are tons of people who don't like what they are doing. But they are still good at it. Sure they may not be truly happy, but they are good at what they do even if they don't like it.
My dad has been a mechanical engineer for almost 40 years and I struggle to think of anyone who enjoys their job as much as he does. Yet I have never once seen him do any personal "side projects" that are in any way related to his day job.
The side project concept is fairly unique to digital workers, especially software engineers simple because we can. Noone asks an accountant or a secretary for side projects.
I can understand a false "expert" delusion, but have you literally heard someone say they'd never work on something unpaid because it's unprofessional?
I emailed him and asked if he wanted to do the thing he was clearly passionate about full time.
He aced the interviews, came out and built our app. About a year later one of our founders left to start a new company. The founder recruited this guy. Within 18 months, their company sold for a few hundred million and now instead of writing the C# code he hated, he has now helped build an awesome company, build a whole new skillset and built his leadership skills. Not to mention the fact that his wife and child are basically taken care of for life because of this decision.
I imagine other employers are similar, and given the high demand for tech workers, you might be surprised at the reactions.
I was hired into my original position here knowing absolutely nothing about the language or the technology. Like you, my manager just wanted raw talent that could be retrained and it worked out for him. That's probably colored my interviewing practices over the years, but an awful lot of people don't want to take that kind of a risk.
I would agree with and extend your remarks in that its a window into how the company handles risk. There have been companies that have blamestorming meetings to punish the people who selected employees that didn't work out. I had an experience with that leveraging an inside contact for info, and I was pretty pissed off at that time, but now that I'm older and wiser I am so unimaginably happy I didn't get a job at a company mismanaged like that.
I would have just looked in man pages for the switch that I required or the usage. For commands I would hardly ever use even on a production system. He told me my Linux skills were weak ha. It may be true, but at least I could find the answer without google. The hosting company I interviewed at told me to feel free to Google it, "I'm good I just need man pages."
It's like knowing how to spell. Just because you don't know how to spell a word doesn't mean you don't know how it's used in a sentence. If you know how to locate the word in a dictionary you have the right answer.
If you want to be paid well, it's an awful lot more than just keywords.
Unless we're talking about COBOL -> Haskell here, I think any decent company would be wary of overvaluing skills with a particular language or framework and undervaluing fundamentals.
Yes, they do. Moreover, you don't even get a junior position because you don't have adequate education and/or experience.
This sounds more like a way to hire a contractor, not an engineer you will invest in who will be a full member of the team for potentially a very long time.
My experience has been that the vast majority of non-software tech companies care quite a bit about these specifics. They are also much more likely to pigeonhole you.
There are different things you learn when you've coded in a mix of C/C++, Java/C#, Ruby/Python, and perhaps something functional. But having all your experience in one of these buckets is more a sign of a junior developer, or the old "one year's experience ten times".
For example.
If you are a C# programmer who has never done Java programming. It takes you 6-12 months to get reasonably up to speed with the JVM, standard libraries and idiomatic coding. Let alone any dependency injection, web framework etc. libraries.
Why would the Java shop pay you the same as a developer who has spent the last 5 years doing Java full time who can be productive in Java right away?
That said, I think reverting someone to junior status is too extreme. A slightly lower salary or requiring an 'ace up your sleeve' to compensate is probably fair.
Because you bring a lot of other experience to the table, and in just six months you will be completely up to speed?
In any software company of real complexity it's going to take six months or so to really hit your stride anyway, regardless of whether you've used their stack before, because you'll still have to learn their codebase, standards, processes, etc.
If they underpay you, guess what any self-respecting and talented developer will do? Leave. They'll be gone the second they're up to speed with the new stack because they found someone else willing to pay the full rate.
I think you should sell yourself as an experienced technologist who's looking to learn. You should also demonstrate a willingness and ability to learn new things; maybe by making something and putting it up on github.
You get an up vote for that.
He was a fast learner and had no issues getting up to speed in a reasonable amount of time.
I like to talk to people with a variety of skillsets and interests in their background and try to figure out how to leverage those towards the work we do.
Bonus: having a huge diversity of skills is kind of like having a deep bench to work with
Here are the steps:
a. find employment at a company that requires your niche skillset but also has projects in your desired tech stack (hopefully this is your current employer)
b. learn enough of the desired tech stack on your own to be a useful contributor
c. ask to switch over to a project using your new stack, or volunteer to write tests or help in some other way to get your foot in the door (this may require some persistence and relationship-building)
d. once you have some experience you are ready to add it to your resume and seek your dream job
You do not need side projects or to train yourself. Just the ability to project confidence.
Yes. I work for a large company that does recognize this and does not hire for specific stack experience. We have a hard enough time finding enough good people, regardless of specific experience, to use that as a critical factor.
Does anyone else here juggle two different jobs? Is there a secret to doing so?
Good luck.
Only one way to know for sure.