
Ask HN: How do you know if you're employable? - Cyph0n
What techniques do you use to determine whether or not you are currently employable?<p>A bit of background:<p>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.<p>My primary concern is that I simply won&#x27;t be able to compete with other applicants who: (a) have a CS&#x2F;SE degree, or (b) have work experience (e.g., internships), or both. Obviously, I don&#x27;t want to leave the PhD program (even temporarily!) only to find out that I&#x27;m just not good enough for the software industry.<p>In a nutshell, I would like to be as sure as possible that I can &quot;make it&quot; before shifting into a job hunting mindset.
======
twalla
Sorry for the pedantic response but the best way to know if you're employable
is to solicit offers for employment by applying for positions you're
interested in. You'll get valuable data in the form of response rate and
possibly feedback on your resume/portfolio. Also, you'll get practice
interviewing which is another skill entirely.

~~~
Cyph0n
No, don't apologize! Your answer is one of the things I had in mind,
especially for getting used to being interviewed. I was hoping that this
thread will also be helpful to other HNers who have similar concerns and/or
doubts.

------
muzani
If you're highly employable, recruiters should already be approaching you by
now. When I was doing my degree, we often got a lot of email from the
university faculty itself and there were also lots of job fairs targeting us.

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.

------
pacificsun
It depends on the company: not all are picky about your degree as long as you
can show your skill. A common recommendation I have seen is to make a "project
portfolio" that showcases the skills for the job you are interested in, and
make a blog to explain these projects. It's about marketing yourself.

------
dhanvantharim1
If you did some courses on programming and data structure and can reasonably
solve programming problems. Then getting into a software development job with
a non CSE degree is not that difficult also a lot of companies will consider
ECE as related stream to computer science, I did my undergrad in electronics
engineering (similar to electrical in US) and my first job interviewers did
not give any mind to my degree and asked some basic algorithm and data
structure questions, everything else I learnt on my job. It is not unusual to
feel inadequate to feel like you dont know anything when interacting with some
of your peers at times,but often times I later realise I know more than what I
thought initially about computer science.

~~~
dhanvantharim1
Only problem you might have is you might have to start from the bottom of the
ladder, Just because you have a Phd doesnt mean the companies will pay senior
dev salary (that could depend on your employer and city you are in)

~~~
Cyph0n
I am absolutely fine with that. You have to start somewhere, right? And I will
have an MS, not a PhD.

------
DoreenMichele
Try doing some informational interviews of actual software developers in
person. This is the single best way to get some concept of what the job
entails short of actually just getting hired to do it. Also, keep in mind that
every job is different. Maybe Ruby on Rails in a small shop is a disaster for
you, but Python at a corporation is an excellent fit.

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.

------
twobyfour
Speaking as a hiring manager (single data point, grain of salt, etc), I'm much
more interested in people's industry experience than their degrees. It depends
of course on what type of software development work you're interested in
doing. But of the dozen or so most productive developers I've worked with,
only about half had computer science degrees. One hadn't finished high school.

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.

------
sunstone
Unemployability is not just a question of skills and ability. Lot's of tech
people find that they are not gratifying to their boss for various reasons. If
you find that's the case for you, you should try to quickly transition to a
job where you have clients rather than bosses.

------
jrumbut
Only you know what job it is you want, and only the employer knows if they
will hire you. Certainly, some company out there will hire you, whether they
meet your standards is the question.

My 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.

------
Blackstone4
You're already extremely qualified. Do you already know how to program? If not
or you're rusty, go do a course on Udemy or another online provider. They cost
~$15 on sale and are really good. Then get a job in software and learn it as
you go.

~~~
Cyph0n
Yes, I think I'm pretty proficient with Python, and I'm familiar with a few
other languages. But I have never really worked on a large codebase or on a
large team, so there's that.

~~~
Blackstone4
You won't learn how to work within a large team or large codebase unless you
do it. You won't learn that by doing a CS degree.

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

------
sjg007
Take a summer internship at a software company, or take a leave of absence
from your program. You can easily get a 6month leave.

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.

~~~
Cyph0n
Oh, I enjoy every minute of writing software! I can easily forget to eat for
hours while working on an interesting problem or finding a strange bug. It's
just that I am not sure if I can compete with others who have more experience
than I do...

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.

~~~
GFischer
Depends on where you'll be working, but in my experience working as a software
developer is nothing like competitive programming...

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.

------
brudgers
For what it is worth, a PhD will probably open more doors than an MS. Both are
credentials but the PhD is likely to make a stronger impression and make your
application stand out.

~~~
Cyph0n
But it's not a straightforward decision.

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!

~~~
brudgers
Is the MS something that you can obtain immediately?

~~~
Cyph0n
I can graduate with an MS by the end of the next semester (May 2018).

------
matt_the_bass
One good option is to intern somewhere. We have a great software engineer who
started as a PHD student in Chemical engineering. He found that he was
interested in software development in the course of his work modeling CHE
stuff. He started with us as an intern and then we offered him a SWE position.
It’s been a year since he came on full time and so far everyone seems happy.

We offered him the flexibility of ~day a week to finish off his PHD until he
graduates.

Good luck!

------
GFischer
Aside: Are you sure you need a MS? I've known EEs switching to development
with no need for a master's (edit: I see you can graduate with a MS with what
you've studied now, makes sense to go for it).

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.

~~~
Cyph0n
I have a couple of projects in mind that I hope will improve my portfolio.

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).

------
kleer001
Simply that you get hired. It sounds simple, but getting a job, at the end of
the day is a matter of having what an employer is looking for AND a big
heaping of luck. Even seasoned experts can sometimes got 3-6 or even 9 months
between jobs. Why? Blind stinking luck. Just don't stop applying.

------
itamarst
Lots of companies hire people with MS, or PhD in unrelated science or
engineering field.

