Ask HN: How do you know if you're employable?
A bit of background:
I am currently a PhD student in ECE (electrical and computer engineering), but I am thinking of getting an MS and transitioning to a full-time software position, for a variety of reasons. I am also looking at ECE positions, but I have realized over time that I am actually more interested in software development.
My primary concern is that I simply won't be able to compete with other applicants who: (a) have a CS/SE degree, or (b) have work experience (e.g., internships), or both. Obviously, I don't want to leave the PhD program (even temporarily!) only to find out that I'm just not good enough for the software industry.
In a nutshell, I would like to be as sure as possible that I can "make it" before shifting into a job hunting mindset.
27 comments
[ 3.0 ms ] story [ 67.6 ms ] threadMy recommendation is to find a job that interests you and send a resume with an explanation that you're looking to make a change and hope they will let you know what more it takes, if anything, to get where you want to go. This can also be done less formally at meetups or online.
Having seen a few people make this transition, my guess is that you probably have abundant technical skills to take on anything, but will need to spend time understanding the work flow and business environment you'll be a part of. Just keep an open mind and go after what you want in your career.
Also, ask yourself, do you enjoy programming? All the parts, working inside an editor, syntax, structure, getting all the code to compile properly, running and debugging errors etc... all of it..
Yes you can get hired. Do some leetcode.com problems.. as you are working on them ask yourself if you enjoy doing those.. that's how you'll get a job at most big software development companies.
I did some competitive programming during my undergrad and my team placed well at a regional level in the Middle East, so I know my way around common algorithms and DS problems. I need to do a lot of practice though, since it's been quite some time.
Regarding summer internships, I have been applying to quite a few and the response rate has been quite low. I did interview with Google last week but wasn't able to get through the first round unfortunately. I think I need some more interview practice.
Yes, I plan on taking a leave of absence instead of fully withdrawing. But again, I want to be sure I can make it before committing.
Silicon Valley companies do like hashing people on algorithms, so brush them up for interviews, but they aren't used in day to day development.
I completed a Masters in engineering and at my first job I worked as a tester for 6 months. I gained plenty of domain knowledge which helped me when I transitioned into a Java developer role. I learnt everything on the job. I would think you can too
For one, there is an opportunity cost to spending another 2-3 years making little and saving no money. For example, I can't even afford a car with the money I'm making, which can seriously affect how much socializing you can do. I also can't afford to have an emergency fund.
Another issue is the number of jobs you suddenly become overqualified for, especially with a PhD. A potential employer will prioritize the BS or even MS applicant, simply because it's more likely that the PhD applicant won't stay for long!
When you're employable, recruiters will just keep knocking on you to emails and message apps asking if you're looking for another job yet or if you know someone.
A lot of recruiters seem to be getting lazy and focusing on LinkedIn these days though.
I don't think the modern world does a very good job of helping people figure out how to find a good fit. Some people luck into it. Others just miserably muddle through. Others just fail entirely.
We offered him the flexibility of ~day a week to finish off his PHD until he graduates.
Good luck!
Hands-on experience might help more than the master's (somebody suggested getting some Udemy or similar training - do complement with side projects).
I'd definitely finish the PhD. Also, there are software positions where knowing ECE might help.
As for finishing the PhD, it's a long process, and I am still in the early stages. The way I see it, it's basically a calculated risk; i.e., will the PhD pay off in the long run?
The thing is, I'm not sure what the answer to that question is. Academic positions are highly competitive, and even if you do get one, the road to tenure is a long and difficult one. Also, unless you are a top-1% PhD graduate, you are still going to be spending another 2-3 years as postdoc (~$50-60k salary).
I can get a lot more productivity out of someone self taught or with a bootcamp certificate and 18 months of real experience than I can out of someone fresh out of school with a masters in CS.
For people fresh out of high school, I tell them that the degree may get your foot in the door - but you already have an advanced degree in a related field. You may get further by getting an internship and producing a portfolio of work and side projects that prove you can do the work than you would by spending more time in school. You might even be able to find an internship you can do while completing your PhD, so you can explore the possibilities before committing.