
Ask HN: What has been your experience with self-taught engineers? - freework
I&#x27;m a self-taught engineer. I took a programming class my freshman year of college, but that&#x27;s been it. Everything I know I&#x27;ve learned on my own building various things over the years.<p>Most of my co-workers (90%+) are not self-taught. Most of them have CS degrees. In my 5 years of professional programming, I&#x27;ve only worked with one person who was self-taught.<p>I&#x27;m currently looking for a new job, but I&#x27;m not sure if I should downplay my status of a self-taught developer or display it prominently.
======
Tloewald
I would say: neither.

Don't play it down, and don't make a thing of it. To do one makes it look like
you're hiding something, to do the other could easily look dickish.

In my experience, no-one ever learned to code by studying (undergraduate)
computer science. Some people learned to code _while_ studying, but mostly the
people who could already code perhaps became better grounded programmers by
studying comp sci while those who couldn't still couldn't after they
graduated. The best coders I knew in college either left for jobs before
graduation or did the absolute minimum to graduate because they were already
employed more than full time while still studying.

Also in my experience, most of the companies I would want to work at don't
place much weight on an undergraduate CS degree. A degree may stop your CV
from being ignored, but five years of professional experience and some basic
interpersonal skills will count for more than a degree. There are some places
where degrees are indispensable -- some companies have a thing about them
(e.g. they may need to meet certain accreditation requirements). Sometimes you
see jobs where applicants are expected to have graduate qualifications in CS
(usually because they think they're doing something very hard core, and the
graduate degree is seen as a _pons asinorum_ ) but you seldom see
undergraduate degrees being required.

------
jcmurrayii
Make education a non-issue, lead with what you have done, and what you know.

I am a self-taught programmer, granted with a bit more experience than you. I
have actually very seldom if ever been asked about my educational background
during an interview, and hint: Those companies that made a big deal of it? I
usually ended up turning down their offers, due to a very distinct lack of
interest in working there that had nothing to do with them questioning my
education.

The education check, if it does come up, is usually more to check for generic
knowledge, algos, patterns, etc. Know these things, and know them well.
Understand testing software. Understand SCM. In short, be a professional
developer, and I'm pretty sure it won't be much of an issue, unless you make
it one.

Relevant Experience: Worked as an engineer, senior engineer, lead developer,
senior lead developer, and currently, a VP, Engineering...for companies
ranging from 1-50,000+ employees. I have built and led multiple teams ranging
from 2-21 developers in various mixes of on and offshore developers.

Edit: Unlike many of the commenters, I am not afraid of looking for work, and
I don;t think you (or they) should be either! Its a great new adventure, I
generally move within 3 years at this phase in my career, and I seldom if ever
have any issue lining up interviews and competing offers, following the advice
above!

------
agentultra
My experience has varied wildly with person to person ( _disclaimer: I am self
taught_ ).

In my limited experience there exists a spectrum of programmers in the self-
taught category. On the extreme left you have people whose sole experience
with programming is just getting the damn computer to do what they want with
as little effort as possible: copy and paste some code that seems like it
fixes the problem, run it, and tweak as necessary. On the far right you have
people who fell into programming as kids and took to it like a moth to a
flame. Without any prompting they taught themselves assemblers for the various
CPU architectures they came across, learned about cellular automata and dove
into artificial chemistry, and could debate the finer points between normal
and applicative orders. They've probably toyed with developing their own
language using operational semantics or devoured texts on geometry and linear
algebra at the breakfast table. Most of us, fortunately, sit somewhere in the
middle.

I don't relish having to look for work as I am now. In my experience it comes
down to a handful of scenarios:

1\. You're sitting across the table from someone who is at least 10 years
younger than you and has landed a senior role fresh out of school. AFAIK
they'll self-select towards people their own age that look like them... and
have similar life-experiences. You might not want to lead with your self-
taught badge and down-play it if you can. Don't hide it though: you never know
who you may come across and if you have the experience to back you up you can
be a very strong contender.

2\. HR drone at Big Co. is staring at your resume to figure out who you are.
You're candidate X out of 5 they have to interview today and 28 they will sift
through this week. They're also simultaneous scanning for keywords and will
likely ask you where your education experience is located on your CV. You
can't do anything but be candid. Hopefully you can knock the socks off of the
developers in the next few rounds of interviews and exploit the poor
communication channels between HR and staff. Unless the bureaucracy rules the
roost: then you're just not in the right place.

3\. You come recommended by someone you know who works at the company you're
applying to. You just have to get through the interview. Play up your self-
taughtness. It's really an advantage.

My rule of thumb is to wear my badge on my chest. I just have to ace the
technical interview (which is the hardest part for me... my typing speed
shrinks to nothing under pressure from a smooth 56-60wpm). What's the worst
that could happen?

~~~
elwell
I would contend that the variability is about equal to a formally educated
candidate.

------
patio11
This is far from the most interesting thing you could say about yourself. What
in the last 5 years suggests you'll make your next employer a lot of money?
Focus on that, instead.

------
xyzzy123
I didn't go down the traditional CS route either. My advice is to state your
and accomplishments and demonstrate your abilities without making a big deal
of being "self taught".

Learning doesn't stop once one leaves university, and you've probably noticed
your CS educated colleagues taught themselves a lot over the years too.

------
kasey_junk
So let me add a couple of data points.

I've spent a lot of time experimenting with hiring pipelines and have found 0
correlation between education and good development hires. That is, when I did
double blind experimental data collection, educational certification is noise.

That said, when I talk to the developers I know that I consider "great" who
don't have CS education, they have a nearly 100% rate of regret, in at least
wishing they had the experience of a CS education. There are things that are
easier to learn in an academic setting than in any other setting.

So, the short answer is I would highlight your professional experience, but
would not hide your lack of education.

The longer answer is, if you are getting into a resume/web form search cycle
you are probably doing it wrong. Your best bet is for personal
recommendations. If after 5 years in the industry you do not have colleagues
that can sherpa you into a job that you are interested in, education is not
your problem. Either you have neglected your professional network, or your
abilities are lower than you think. In either case, changing your educational
status will not help.

------
bjmarte
I used to be very biased against self-taught engineers until one passed our
very difficult hiring gauntlet and turned out to be one of the best developers
I've ever worked with.

Edit: I think my takeaway is to primarily judge people on demonstrated
knowledge rather than declared knowledge.

Edit 2: But having said that I still wouldn't draw attention to the self
taught thing if I were you.

------
jamesbrewer
Note: I am self-taught.

Here is what you need to know: It doesn't matter. Most people are biased in
one way or another. Stop trying to make other people happy.

The most important thing is that you have the skills to do the job required.
In interviews, draw on your skills and past experiences to answers the
interviewer's questions to the best of your ability. If that isn't enough,
believe me, you don't want to work there anyways.

Most people are biased in one way or another. Maybe your interviewer is self-
taught and maybe they aren't. Perhaps they've worked with a terrible engineer
that was "self-taught" or maybe their self-taught engineer was the best thing
since sliced bread. You can't pretend that this won't cost you a few job
opportunities, but is that so bad? Ask yourself honestly, do you want to work
with someone who doesn't think you're competent because you didn't go to
Stanford?

------
ddingus
As others have said, position yourself in terms of skills and accomplishments.
If you have other attributes, such as some significant hobby, people skills,
have managed large projects, or other people, include that too.

Let them know who you are and tell them what they can expect to get when they
hire you.

That is what they want to know. How you got there, whether it's the school of
hard knocks --a fine school mind you, or through University, or
apprenticeship, or all of the above isn't anywhere near as important as making
sure they very clearly understand who you are and what they will get.

And on your end, make double damn sure you can add value appropriate for the
position you seek. Do the work to remove doubt, and it will show and when they
see it, your opportunity is that much improved. The bonus is when you walk in
the door, you are ready to get after it, not worried about things that should
have been sorted before you got there.

It's a two way street, and I've often thought a simple "has degree = 1" type
filter to be sort of a crutch. Both the prospect and the employer need to
reach a place of confidence so that it works.

An approach to this, business minded and technology minded, is a little
harder, because you do raise the bar some, but it's self selecting in a good
way. I've made a couple of pretty big jumps doing this and it was all good.
There is getting the work done, and that's hard and that's what you get paid
for. Not having the doubts there helps immensely.

It's not that you want to be a dick. You just want to feel really good about
the whole thing, and they want to feel good too, so make sure that happens and
that it's true and you can't lose.

Everybody, you included, need to do that, because it's just a pig expensive
when it doesn't, and everybody gets hurt a little, sometimes a lot.

If they question any of it, tell 'em that too. Make sure they know these
things matter and you take it seriously.

Good luck!

------
ukoms
I'm politic science MA and currently goes my 14th year in programming for
living. From my experience - and I've been working with self-taught
passionates and academic-taught masters over the years - you can assume sort
of rule about your future employer. If he's wise and know programming market
he'll never toss out anyone who doesn't have academic degree in programming.
Best specialists I know had no science degree in IT field. They were all crazy
about programming, fascinated about possibilities and they were always
improving themselves. Wise employer will know this and take advantage of it.
So - yes, You should state fact You have no college degree in programming. I
do and I had never regreted it :)

------
j45
Ultimately where you are going to be happy is a place that accepts you for who
you are, how you are and how you're always learning and improving yourself.

It's not about what your degree makes of you, but what you make of your
degree. In your case, being self-taught, and remaining self-taught in having a
body of knowledge that you're always learning is in some ways, as a developer,
more relevant than a degree.

There are just as many CS devs who think they're done learning and stay stuck
and don't push themselves. The difference makers are always the ones who are
building in their own time. Build your body of work and keep it public.

------
nostrademons
It'll depend on who's on the other side of the hiring table.

I'm largely self-taught, but I have a CS degree from a good school. (It's a
long story...the CS degree came after the self-teaching, for the most part.)
If I were the hiring manager, someone who's self-taught would be a mild bonus:
it shows initiative and passion. Other people think differently - some won't
hire any without a degree, some would rather not hire someone without a
degree, many don't care. You can to some extent choose who you work with and
what they value by how you position yourself.

~~~
physcab
Ultimately, as in all professions, you want to be supported by your manager.
Building that trust is what earns you promotions, helps proliferate your work,
and contributes to your career goals. So I completely agree with your comment,
and would go further to say that if the OP makes it a point of stating they
are self-taught, they will self select. They may have to churn through more
interviews to make up for the bias, but in the long run it will be more
worthwhile.

------
hrktb
In my experience it doesn't matter as long as you have enough experience. Or
in other words, any difference in behaviour/knowledge fades away after a few
years of working on serious projects. After 5 years your initial formation
might not matter anymore if you kept on learning new things regularly.

For the image aspect, I often worked with self-taughed people who lacked
generic knowledge like design patterns, but where openly enthouthiastic about
learning anything new. Overall it's a wash.

------
wetfossils
In the current context, I would say that being self-taught is more of an
advantage. Programmers today are normally expected to be pragmatic and
demonstrate their autonomy and dedication, which I assume you did. While a
computer science degree is a nice addition, it is no substitute for having
something to show for. Unless you're applying for a position which focuses on
a CS curriculum, it really comes down the the value you have to offer.

However, because ignorance is bliss, try to keep humble about your advantages
over those university graduates who came to focus on other aspects of the
trade. Be aware of your own value and sell what you're good at. Also, make
sure that you are legally allowed to refer to yourself as an engineer. In some
countries, it's a very specific title controlled by a professional
organisation.

Believe me, it's much harder for a CS graduate to get a job without adequate
practical experience than it is for someone with a decent portfolio.

------
gkmoyn
I find that self-taught people have a bias towards self-taught. They see it as
a reflection of passion, because that's someone who took their own initiative
to learn.

I see it differently, for two reasons:

1\. The best programmers I've ever worked with (directly, and also the best
programmers in the company) were NOT self-taught. They did CS undergrad,
possibly MS, and (rarely) PhD. So I simply observe a strong correlation.

2\. To me, if you chose another degree for your undergrad, then that's a
signal that you were NOT most passionate about computers at that age. Film
school, art school, poli sci... you either liked those fields more than
computers, or were stronger in those areas. Fantastic. But I could not imagine
myself having chosen any degree except CS, having programmed since a wee lad.

Now, I've met and worked with plenty of self-taught awesomes, including with
non-CS degrees, or without any undergrad at all.

For me, degree isn't a must-have on a resume. But I like the signal.

------
coreymgilmore
I'm all for it. You learn by your own method. It is just hard for people to
understand when they spent years of their lives earning a degree they can
place next to their names.

That being said, formal education can teach a wider range of skills and
provide guidance to understanding larger concepts.

All in all, I am self taught and respect people heavily for it.

------
frituredeluxe
To be honest, there are no real different experiences with self-taught
engineers compared to university grads-

It's difficult to say what makes a good engineer, but in my opinion it's more
the tinkering and curiosity kind of stuff that really matters. Some may call
that soft skills, so odds are it's equally likely to find those
characteristics in both autodidacts and grads.

Maybe that's the reason why Facebook is on PHP: They they: We need a
personality kind of guy as developer no matter what he has learnt or not, so
we take PHP as we can teach him that very quickly.

One thing which is more common in self-taught people is humbleness and
modesty.

So, what you should do is display it prominently: Being a self-taught guy
highlights the curiosity you need for being an engineer at most, in my believs

hth

------
KrisAndrew
My advice is to completely downplay your [lack of] education. If they ask you
about it, just tell them you are self-taught, and wait for the next question.
You should focus on what you've _done_ at your job and outside projects.
Emphasize the results you've gotten and the systems you've built.

You might have a slight disadvantage during the initial part of the
recruitment process (resume submission). My advice in regard to that is to try
and get in touch or meet the non-HR people at the company. That way you get
can a referral and your resume is just a formality. If this isn't an option
for you, the just make sure you keyword your work experience well, and pray.
:)

------
AnimalMuppet
I have a degree, but it's in math and physics, not in programming. I had one
programming class in high school (Fortran) and one in college (Basic - but by
that time, I already knew Basic).

I've known at least two other self-taught programmers, at least one of whom
didn't even have a college degree. They were good engineers. There wasn't any
"you're lower in status because you're self-taught" stuff (at least not among
the programmers - management may have rated them lower, I don't know).

I wouldn't downplay it, and I wouldn't display it prominently. In this world,
pretty much you are what you can do. If you can do it, who cares how you got
there?

------
nmrm
The distinction/dichotomy is over-blown. It may be that most people you work
with have CS degrees, but that doesn't mean most people you work with aren't
self-taught.

That's because most self-taught programmers end up with degrees -- either in
CS or other fields. All of the good programmers I know had substantial
personal projects and/or open source contributions before starting college,
and continued throughout college.

The answer also depends on what problems you'd like to work on and where you'd
like to work.

------
jpgvm
Disclaimer: I am a self taught programmer.

Personally I prefer self taught engineers over university or other education.
Autodidacts are generally more motivated to learn in my experience and
represent the very best engineers I have had the pleasure of working with.

The best university educated minds I have worked with have tended to come from
non-CS backgrounds, specifically mathematics and physics.

This is not to say CS degrees are not useful, just my personal anecdotal
evidence leads me to favor the self taught, mostly for their attitude and
general grit.

------
bbarn
All good engineers are self taught... to a degree.

That doesn't mean they don't hold advanced degrees in whatever, but great
engineers IMO are the types who whether they spend their 20th birthday in a
dorm or on the job, have been interested/passionate/doing something in
engineering since before they even knew to call it engineering.

YMMV, but I've never met a great software (or mechanical) engineer that wasn't
into it before school COULD have happened, regardless of whether they went.

------
geetee
I used to be biased towards self-taught engineers--probably because I am one--
but now I am indifferent. For an entry level job, I'll probably still lean
towards the self-taught candidate. But, mid or upper range? I don't think it
is relevant anymore at that stage in their career. I place more value on
someone who actually has a passion for the field over one where it's simply a
means to pay the mortgage.

------
Rapzid
Others have mentioned similar but here is my advice. As a self taught engineer
what goes on my CV are roles with responsibilities , then specific
accomplishements and values I delivered in those roles. That's it. Apply for
roles that will give you more experience and responsibilities. Consider you
prior experience and CV evidence you are up to the task. Exude confidence in
this. Have fun.

------
skuunk1
IMHO if you have 5 years of professional experience, having a CS degree is
merely an afterthought (unless you are going for a teaching or highly
specialized occupation).

One can only really teach one's self to program.

List your work experience prominently and highlight your responsibilities and
achievements.

------
jmdavis_
Ever think of getting a degree? College graduates write better and have depth
that takes a long time to absorb in an unstructured environment. It's called
take classes at night. And over lunch. Self taught that sacrificed time and
got the degree is impressive.

------
underwater
I wouldn't call attention to it. Not because it's bad, but because it sounds
like bragging.

We all learned to code. Calling attention to your self taught background makes
it sound like you think your way was more a more legitimate experience.

Focus on what you've built instead.

------
lukeholder
I would suggest not focusing on it either way. Just focus on the projects you
have built, the technology you used, and your skills in delivering.

~~~
freework
Thats what I've been doing. My resume lists the dozens of projects I've
completed. Out of every 50 resume's I send out, I get maybe one interview. I
don't think anyone even looks at my github. As soon as they see I don't have a
degree, they throw my resume out.

~~~
patio11
You should not primarily be attempting to get interviews by sending in 50+
resumes. Instead, try to get 5 coffee dates with people with the authority to
hire engineers.

Resumes are an institution created to allow people to throw out resumes.

~~~
MrDom
I'm curious, how does this sort of thing work when you're in japan? Or remote
in general. Send them a coffee voucher and get them on the phone?

~~~
patio11
Meeting people on the phone is totally doable, especially if you have an
introduction to them or have pre-demonstrated credibility somehow. It doesn't
100% play to my strengths, so I did a _lot_ of flying around back when I was
doing active consulting. My engagements were worth ~$50k apiece so taking a
$10k trip to a conference (or just a target-rich area like, say, SF) was
totally doable if it got me four later stage conversations with a 25% chance
of closing apiece.

Typically it would look something like "4 week prospecting trip, fill up 2~3
quarters worth of consulting engagements, fill up last quarter while
delivering." This was a hard schedule to sustain after getting married, which
is one reason I'm not actively consulting anymore.

But there are many, many ways to do this. A more successful consultant _in
Ogaki_ does 90% of his prospecting over Skype.

------
danvayn
Same as you OP, except about 4.8 years less.

------
hoodoof
Dammit they keep on learning things!

------
markdown
I'm confused. Are you an engineer or a programmer?

~~~
catsnip
Are you really confused? Seems more likely you're being needlessly snarky.
Dude's clearly a programmer by trade who chooses to refer to himself as an
"engineer", as is extremely common.

~~~
thisGuysAccount
There's a legal distinction in some countries. Guy might be from one of those
countries.

