[HN Gopher] Self-taught engineers often outperform (2024)
___________________________________________________________________
Self-taught engineers often outperform (2024)
Author : mbastos
Score : 93 points
Date : 2025-07-17 14:43 UTC (8 hours ago)
(HTM) web link (michaelbastos.com)
(TXT) w3m dump (michaelbastos.com)
| anxoo wrote:
| [flagged]
| masfuerte wrote:
| And without js it renders as a blank page. Less really is more.
| antonvs wrote:
| Down-arrow to scroll works for me on that blog (using Firefox).
| But I agree it's a questionable site design.
| tomhow wrote:
| _Please don 't complain about tangential annoyances--e.g.
| article or website formats, name collisions, or back-button
| breakage. They're too common to be interesting._
|
| https://news.ycombinator.com/newsguidelines.html
| waldopat wrote:
| I was actually talking about this with a dev this morning.I might
| reframe this away from self-taught and more towards on the job
| experience.
|
| Obviously, I think it depends on the domain you're working in,
| but most comp sci majors really learn math and algorithms.
|
| Math is great, of course, but the vast majority of app and web
| developers never use any of it. So at the end of the day, even
| with a proper technical background, everyone is really self-
| taught when it comes to Python or React programming when they get
| a real job.
|
| This is a broad brush, but then you get data scientists with
| academic background who maybe learn R or Python for analysis,
| which again is great, but they don't necessarily learn OOP
| principles or exception handling and so their code quality is
| bad. Yet, they are often tasked with creating apps or doubling as
| a dev and so they too end up becoming self-taught to a degree.
|
| Just two cents
| JohnFen wrote:
| > I might reframe this away from self-taught and more towards
| on the job experience.
|
| At least with the devs I've known over the decades, they were
| self-taught but didn't learn "on the job".
|
| In my view, the difference between self-taught devs and devs
| who learned it in school is passion. Self-taught devs are self-
| taught because they're passionate about software. Devs who
| learn it in school, generally speaking, do so not because of a
| deep passion for the subject, but rather as a means towards
| getting a job.
| waldopat wrote:
| Totally agree. Passion is the key ingredient. For me, as a
| self-proclaimed self-taught dev, I learned the most on side
| projects because my main jobs didn't always offered job
| training or clear paths towards advancement or eventually the
| product went into maintenance mode and became boring. Maybe
| it's splitting hairs, but I still consider that on the job
| experience, even if it wasn't paid many times, and it gave me
| a deeper understanding of problem solving in addition to
| programming chops than tutorials or portfolio projects or
| bootcamps could provide.
| Loudergood wrote:
| Self-taught is a double edged sword.
|
| It generally can't occur without some level of passion for the
| material. But you also tend to miss the boring details.
| Tobani wrote:
| I did full CS / Software Engineering curriculum. There was a
| lot that I taught myself because I was curious / passionate. I
| learned a lot about things not covered in classes. But the
| classes also taught the boring details of things like data
| structures that you can generally ignore until you hit some
| level of scale/success.
|
| I've seen self-taught software engineers build great looking
| UIs and during the code review point out things like "data
| structure X" would work better. I get a response about
| "Premature Optimization," when in fact the right data structure
| would be less code and I have to show them.
|
| I've also met self-taught engineers who read detailed research
| papers on topics on and sometimes made things perhaps more
| complicated than they ever needed to be.
|
| passion & formal education definitely play interesting roles in
| what people produce.
| ARandomerDude wrote:
| Self taught dev here, I completely agree you miss the boring
| details...at first. One day (hopefully early on) you realize
| algorithms, data structures, data alignment, etc. are actually
| pretty important when building larger or high performance
| systems, or when targeting underpowered hardware. At that point
| the self-teaching resumes and you pick up all these pieces too.
|
| When I started tinkering with Ruby on Rails I never thought one
| day, in a different context, I would need to write a hardware-
| specific, custom binary (de)serialization protocol. Then it
| happened.
| empath75 wrote:
| I basically had a grab bag of shell, python and ruby stuff
| that I learned how to do over my first 5 or 6 years in the
| industry and then saw an article about Haskell, tried to
| learn it and realized, I don't actually know _what
| programming is_, and then spent 10 years teaching myself all
| the computer science stuff that I missed from not having a
| degree.
|
| I still don't know Haskell, but it was a valuable learning
| experience anyway.
| rco8786 wrote:
| That was me. Self taught since I was 13ish. Landed a job on a
| team of "actual" engineers (think Stanford/MIT grads doing
| massive scale distributed systems in the 2010s) and became
| painfully aware of all I had missed in a CS degree. So I spent
| a year diving into CS fundamentals and whitepapers...turns out
| it was all just as interesting as learning to code itself.
| astroalex wrote:
| This is exactly right.
|
| I taught myself coding, but struggled through some of my CS
| computer science classes because I hadn't learned some
| (important) boring details. My peers who hadn't coded before,
| but were otherwise bright, excelled in these classes and have
| had impressive career trajectories after school.
|
| Based on my personal experience, I don't believe prior
| experience with programming before college is that predictive
| of engineering talent.
| bostik wrote:
| I think I am technically self-taught, originally. I only
| learned about the theory after I had already applied the
| principles in practice.
|
| Started in the 80's with a C64, then progressed through
| computers and time until began my studies in the university ...
| for chemistry. Turns out my head doesn't work that way. Began
| working or a logistics software company on the side.
|
| In 2001, I wrote at work a _literal_ bin-packing algorithm
| without any formal background or real CS education. I only
| later learned that it 's generally considered a pretty hard
| problem.
|
| Some time after that, applied to officially change my major
| subject to CS. The department head was quoted from the meeting,
| "about time". One of the first mandatory courses I had to take
| after that one was on data structures and algorithms, which to
| me was a properly fun one. It was also enlightening: I realised
| that at work I had independently come up with Djikstra's greedy
| algorithm for the bin-packing problem.
|
| Ever since then I've followed a simple rule of thumb in hiring
| - aptitude beats raw talent. Anyone who _wants_ to learn
| because they are genuinely interested in the field and its
| problems is in high probability going to be a better hire than
| someone with talent and education but without the internal
| drive.
|
| Am I biased? Yes. But am I unfairly so? I don't believe that.
| And I agree with other posters that self-taught are likely to
| get more out of theoretical education _because_ they can map
| the lessons into things they have already done, or things they
| have done in the wrong way.
| lubujackson wrote:
| As a mostly self-taught engineer, the reason is simple: after 5
| or so years, the language, tools or architecture is going to be
| dramatically different and you have to learn on the fly. Heck,
| even how to learn has changed dramatically. When I started, I
| learned languages from printed books. Then docs and Google, then
| added StackOverflow, now AI.
| jghn wrote:
| I think one needs to be careful with statements like this. Is it
| the case that those who outperform tend to be self taught? Or
| that those who are self taught tend to outperform?
|
| I can easily see why the former is true. The latter seems a lot
| less likely.
| lokar wrote:
| You could pick from many attributes and find that "many" people
| with that attribute do better.
|
| Also, this (and other things I've read) always seems to argue
| against the strawman that "you need a formal education to do
| well in software ". I've never seen anyone say that (including
| during many years involved in hiring at big tech). The argument
| is that the pool of CS graduates are more likely to do well
| (and bigger and simpler to find) , so it makes sense to focus
| there if you need to hire a lot of people.
| fshafique wrote:
| Is your opinion about the latter because the self-taught may
| not stay on task?
|
| As a self-taught person on a lot of different matters, I find
| myself exploring rabbit holes that expand my knowledge, but
| don't progress the task I originally started doing.
| 0xfaded wrote:
| My reading is that the statement wasn't an opinion either
| way, rather it was questioning whether survivorship bias
| needs to be accounted for.
|
| To your point though, I think it doesn't matter so long as
| you've learned to deliver business value. Application of
| broad and diverse skills may deliver value at a start-up for
| example, but wouldn't get too far at a ticket shop.
| jghn wrote:
| The point I was raising is that I don't think it's the self
| taught angle itself that is the causal factor. As an example,
| there's lots of things I'm self taught at but also terrible.
|
| However, someone who already has the talent to be really good
| at something and who has the inner drive and motivation to
| push themselves is someone who is likely to excel. So if you
| find someone who is excellent at something and self taught,
| it's not a surprise. They probably combined natural talent
| with a strong work ethic, and lots of exploration of the
| entire search space.
| pknomad wrote:
| I agree that the title can use a bit of work.
|
| The author cites examples such as Linus and Margaret, but IIRC
| they studied CS and/or math as part of their educational
| upbringing... so I feel like they're almost counter examples of
| what the author is arguing for.
|
| It seems like the author is really championing the "self-
| tinkering engineer" as the outperforming engineer.
| bena wrote:
| There's probably some survivorship bias in here.
|
| Those self-taught engineers who don't even _perform_ aren 't
| going to be engineers for long. So of course you'll see a lot
| of self-taught engineers in the outperforming category, it's
| necessary for survival.
| empath75 wrote:
| It could also be the case that you have to be better than
| average to even break into the industry as a self taught
| engineer.
| AnotherGoodName wrote:
| Think of knowledge as a circle on a board.
| https://matt.might.net/articles/phd-school-in-pictures/ is a
| great example.
|
| Everyone that goes through university learns within a pretty
| similar circle initially. That circle is surprisingly narrow in
| the broader field. Who has time to teach the dmc algorithm (used
| in all highest ratio data compression software) for example.
| Instead everyone's taught a pretty common curricula in all comp
| sci courses despite the field being much much larger than that.
|
| Now some who go through university will go well beyond that
| circle of knowledge. These are the most amazing programmers
| you'll ever meet. They'll know algorithms that are mentioned in
| white papers, not taught in courses and they'll kick ass. Those
| who've been in the industry a while have met a few like this.
|
| Likewise self-taught engineers. They may have humbling gaps in
| knowledge of that big circle of knowledge that everyone that went
| through a comp sci course was taught. This may be a constant
| source of imposter syndrome but also humbling motivation for
| them. What they'll also know is a whole lot of stuff outside any
| standard curricula. After all they have the same motivation that
| the super engineers who went through university and continued to
| self-teach had. Their circle of knowledge was organically created
| through passion and that passion is actually one of the best
| signals for performance in not just engineering but anything in
| life.
| sebstefan wrote:
| University classes are great. They force you out of your comfort
| zones. When I was self taught I would never have pushed through
| learning the socket API in C, doing so many projects in bash,
| studying the academic side of distributed systems, data
| structures, common algorithms. Stuff like that.
|
| I interview a lot of self taught people, or boot camp graduates,
| and their issues is often that they pigeonholes themsleves into a
| comfort zone, or they fall apart when you ask them about academic
| topics that are relevant for the job.
|
| On the other hand, people who never taught themselves anything
| code related often suck at coding, or they've forgotten a lot of
| what they learned in college. Hell, for some of them, even while
| still in college they've forgotten a lot of what they were taught
| the years prior.
|
| It's best to have done some code by yourself before university,
| so that you have faced the problems that arise naturally, and
| when the courses present you with clever solutions to them, you
| retain them. You don't just dismiss them as fancy theoretical
| stuff you need to know for the exam, then promptly forget. You've
| footgunned yourself with memory management enough times that it
| speaks to you when you get explained RAII.
| lapcat wrote:
| > University classes are great.
|
| I don't think anybody denies that, but getting into and paying
| for a university is very much a financial and social class
| issue.
|
| > When I was self taught I would never have pushed through
| learning the socket API in C, doing so many projects in bash
|
| You speak only for yourself though. I'm largely self-taught and
| have done these things.
|
| > I interview a lot of self taught people, or boot camp
| graduates
|
| These are often two very different types of job candidates.
|
| > they fall apart when you ask them about academic topics that
| are relevant for the job
|
| Yes, I do tend to fall apart in audition-style job interviews.
| But I can solve the same problems when just left on my own,
| with nobody standing over my shoulder.
| sebstefan wrote:
| College being a huge expense is an anglo-centric issue
|
| It's important for those concerned, but most people aren't,
| so I don't like to include it because then the entire "value
| of college" debate shifts on the economics of it.
|
| >You speak only for yourself though. I'm largely self-taught
| and have done these things.
|
| I did say "often fall apart"
| lapcat wrote:
| > College being a huge expense is an anglo-centric issue
|
| Ok. Well, the tech industry itself is rather "anglo-
| centric", don't you think?
|
| > It's important for those concerned, but most people
| aren't
|
| If you just want to ignore the United States, then fine,
| but in general, good luck trying to ignore the United
| States.
|
| >> You speak only for yourself though. I'm largely self-
| taught and have done these things.
|
| > I did say "often fall apart"
|
| I'm a bit confused here. I was referring to the first
| paragraph in your original post, whereas you seem to be
| referring to the second paragraph?
| sebstefan wrote:
| >I'm a bit confused here. I was referring to the first
| paragraph in your original post, whereas you seem to be
| referring to the second paragraph?
|
| My point is, I think, that I would wager you are not the
| norm among the exclusively self-taught crowd
|
| There's going to be a lot of people on Hackernews to
| debate me on this, but I'm going to go out on a limb
| there and say: There's already a selection bias if you're
| hanging on here.
|
| Programmers who have an issue with the academic parts of
| CS (self taught or otherwise) probably wouldn't hang out
| on Hackernews to read such content as: "Writing a
| competitive BZip2 encoder in Ada from scratch in a few
| days (2024)".
|
| It's hard being self taught and overcoming the comfort
| zone, it's hard to go out of your way to figure out what
| you should learn as you don't have the luxury of being
| forced to follow a curriculum drawn by experts of the
| field you're studying.
|
| My thesis is that I disagree that "Self-Taught Engineers
| Often Outperform"
|
| Formally trained engineers mostly outperform, with a few
| self-taught people that are going to stand out, but they
| are the visible part of the iceberg, and if you advise
| someone to go self-taught, most likely they'll end up
| underperforming compared to someone who's gone to
| university. And that's normal, because being self-taught
| is harder.
| jufter wrote:
| > My thesis is that I disagree that "Self-Taught
| Engineers Often Outperform"
|
| They do in FAANG.
| lapcat wrote:
| > I would wager you are not the norm among the
| exclusively self-taught crowd
|
| What is the norm?
|
| > the self-taught people I interview
|
| That's another small and unrepresentative group, possibly
| much smaller than self-taught developers who visit HN. In
| total, how many self-taught people have you interviewed?
| Either way, there's selection bias.
|
| > a few self-taught people that are going to stand out,
| but they are the visible part of the iceberg, and if you
| advise someone to go self-taught, most likely they'll end
| up underperforming compared to someone who's gone to
| university.
|
| That's kind of the point, though. Who would _advise_
| someone to go self-taught? That would be strange advice.
| There 's definitely survivorship bias in self-taught
| engineers who have managed to make it in the tech
| industry, which is exactly why you should pay attention
| to them: they've successfully overcome the odds and
| obstacles. The % of self-taught who get to that point is
| likely much smaller than the % of university-taught. As
| you say, "being self-taught is harder."
| skippyboxedhero wrote:
| You are taking the average of two groups but there is no
| iceberg, the self-taught people who make it are the only
| ones in that group...the other people do other things. It
| is like including the people who drop out of college in
| your group. As you say, self-taught is harder so people
| who go through that are going to know more and will end
| up knowing more that is useful.
|
| People who teach at university aren't the experts in the
| field. The situation of university is inherently
| artificial created to fulfill a wide range of objectives
| which are largely unrelated to utility for students (and
| certainly not, utility for employers). For most subjects,
| people who teach at university are going to be very far
| from the experts...if they were experts, they wouldn't be
| teaching.
| tensor wrote:
| > If you just want to ignore the United States, then
| fine, but in general, good luck trying to ignore the
| United States.
|
| Sorry to disappoint you, but as a Canadian hiring mostly
| Canadians no I don't care about how expensive college is
| in the US on a day to day basis. It really is just a US
| problem. Canadian Universities are still expensive but
| not remotely in the same ballpark as the US. You can
| often pay the tuition by having a decent summer job.
| bigfatkitten wrote:
| Good luck supporting yourself as a full time student in
| Toronto or Vancouver if you don't have family locally, or
| if your parents don't have the money to help you out.
| lapcat wrote:
| US problems aren't your problems, eh? Ok, well, enjoy
| your tariffs.
| dasil003 wrote:
| Your criticism of the specific details rings true, but I also
| liked the overall thrust of the GP which is that two common
| failure modes for working software engineers are either being
| overly academic and not efficient at practical application of
| that knowledge, or else being too superficial and direct
| about solving the immediate problem in front of them without
| recognizing or even being aware of the theoretical knowledge
| and concepts that can greatly improve their local solutions.
|
| I think it's fair to say those failure modes tend to
| disproportionately accumulate university graduates and self
| taught developers respectively. As long as we don't use it as
| some kind of litmus test then I don't think it hurts to call
| that out.
| lapcat wrote:
| I acknowledge that theory-oriented vs. problem-oriented
| would be a fair characterization. But I think the language
| of "comfort zones" and "pushing through" was unfortunate
| and unfair. It suggests that somehow self-taught developers
| are lazy, when in fact they often have to work harder than
| anyone else, because nothing is handed to them by a
| professor or university. (Not to mention that it can be a
| lot harder to get a job when you don't have any academic
| credentials.) I would say that teaching yourself a
| difficult, esoteric skill, with no outside help, is
| inherently breaking out of your comfort zone.
| norir wrote:
| I actually do deny that university classes are great. Many
| are actively harmful. When I went to university, the intro
| level cs class was taught in c. It took me decades to
| unlearn.
| tensor wrote:
| The idea that having knowledge of C is harmful is possibly
| one of the most anti-intellectual things I've heard today.
| I guess you don't value education, so you wouldn't know,
| but your brain doesn't have some limit. Extra knowledge is
| at worst unused, but often helps in various subtle ways.
| Never does real knowledge "hurt."
| try_the_bass wrote:
| > I don't think anybody denies that, but getting into and
| paying for a university is very much a financial and social
| class issue.
|
| I mean... Not really? I got a BS in Computer Science from a
| cheap, small university (plus a bunch of it at my local
| junior college, for even cheaper!), and the quality of the
| education was better than I've seen out of "excellent"
| schools. It was really cheap, too! Easily paid off after a
| few years at software engineer salaries.
|
| Hell, with entry-level salaries at places like Google or
| Meta, you could probably pay the whole thing off in a year.
|
| I think people focus far too heavily on "Ivy League" schools
| and the costs associated with them, and forget that things
| like junior colleges and small universities still exist, and
| are still relatively affordable.
|
| With a "commodity" degree like CompSci, cost isn't really a
| problem.
|
| Besides, no one gives a shit where you went to school after
| your first job in the field. That first job might be
| marginally harder to get, and you might have to settle for
| slightly lower pay, but you're going to be far from
| struggling with the debt unless you _really_ overpaid for
| that degree
| SparkyMcUnicorn wrote:
| I wouldn't group boot camp graduates and self taught people
| together. I'm confident there's skilled people coming out of
| bootcamps, but the people I know personally saw it as a cheaper
| shortcut into the field because they couldn't teach themselves
| and would have otherwise gone to a university or chosen a
| different field.
|
| Coding bootcamps weren't really around when I started, but I
| avoided online courses and traditional learning methods. I
| would have also avoided bootcamps for the same reasons. I
| wanted to create and solve problems that were exciting, rather
| than follow through a textbook and take tests.
|
| I'm self-taught and learned C in my early teens because I
| really wanted to do something that I couldn't find any code or
| preexisting solutions for, and I knew C was really the best way
| (for me) to solve it. I didn't want to learn it but I wanted
| the cool thing more, so I struggled through forum browsing,
| reading documentation, and trial/error and successfully got
| what I wanted while gaining more skills that led to where I am
| today.
|
| The desire and drive to learn something matters more than the
| method, in my opinion.
| skippyboxedhero wrote:
| The culture of CS departments at some universities before the
| tech boom was also deliberately antithetical to almost all of
| the things that people now mention as being great about
| university.
|
| * Courses designed to fail out many students * Courses designed
| to extremely theoretical and impractical because teachers found
| them fun to teach * Making the subject inaccessible to as many
| people as possible
|
| When I went to uni in the UK I didn't study CS (now senior dev
| at a large US tech company) because of the above, the subject
| had the highest fail rate, had the most unpleasant faculty, and
| had the highest rate of unemployment after graduation of any
| subject (this was a top 5 CS uni that only took people with top
| grades).
|
| It is great if people got something from their experience but
| this isn't how it goes for most people. And, from working with
| many people who have CS degrees, you do still see issues: poor
| communication skills, poor business understanding, often have
| significant trouble prioritizing work because of the previous
| two issues, etc. In other words, some can code (even there,
| grads come out...not great) but a CS course is usually not a
| comprehensive education to work anyway.
|
| I am not sure what represents comfort zone more than the way
| most universities teach any subject.
| nottorp wrote:
| How do you define self taught?
|
| Linus Torvalds was a CS student when he released the first
| version of linux...
|
| I'd rather say you need both "breaking your teeth" on your own
| projects and some formal training on top of that.
| freshtake wrote:
| The reactive ingredient is passion, not the learning modality.
| Low motivation is really limiting, no matter how you like to
| learn. Of course, this topic is hard to discuss in a quantitative
| way because the number of engineers you come across in your
| career is a minuscule fraction of the total. Hard to draw broad
| conclusions like this, but here are a few:
|
| - Formal education is great for foundational concepts (math,
| hardware, operating systems, compilers, graphics, etc.). Self-
| taught approaches tend to be goal oriented (I'm learning X
| because I want to do Y), which can overlook fundamentals that are
| important. When you don't know what you don't know, having
| someone to efficiently guide you can save a ton of time, and for
| some topics, that mentor is a great textbook or teacher.
|
| - Most engineers I know would consider themselves a mixture of
| formal and informal/self-taught. Again, if you have passion for
| engineering then you probably like to learn and build, which
| means you're complementing any formal training with your own
| tinkering.
|
| I've met and worked closely with amazing engineers and have never
| found their education style a distinguishing factor. Their
| passion however, was obvious.
|
| Also, the examples given in the post (Linus, Margaret) were
| incredibly academic :-)
| bevr1337 wrote:
| > When you don't know what you don't know, having someone to
| efficiently guide you can save a ton of time, and for some
| topics, that mentor is a great textbook or teacher.
|
| A bit of a self insert, but I think you described the reality
| so well that I wanted to offer my own anecdote.
|
| I'm somewhere between formally educated and self-taught. I did
| not complete higher level undergrad maths like discrete or
| linear. Because of this, my vocabulary is lacking. I don't even
| know what to google, even if I could teach myself!
|
| Some subjects really benefit from instruction and direction.
| It's actually hard to find a math tutor to proof your vector
| math program in your late 30s. My colleagues either forgot or
| are using that energy elsewhere.
| edwardbernays wrote:
| Have you considered trying to acquire the language by reading
| a textbook alongside a lecture series?
| asgraham wrote:
| > It's actually hard to find a math tutor to proof your
| vector math program in your late 30s.
|
| They exist, if you know where to look and are willing to pay
| (source: me, or generally and probably more affordably
| wyzant.com)
| louthy wrote:
| > The reactive ingredient is passion, not the learning
| modality.
|
| As a self-taught programmer I agree with this. I started
| teaching myself on 8 bit computers in the mid-80s and didn't go
| to university. By the time I got my first full-time programming
| job, at the age of 19, I'd already been programming for 9
| years. By the time most people are leaving university I was
| already nearly 15 years into my programming journey. It's hard
| to ignore that kind of passion and drive.
|
| I'm now four decades in and love it in the same way I did at
| the start. I'm a maker, I like making. I keep reading the
| papers and am constantly interested in where this thing is
| going ... and I write a lot of code!
|
| However, I don't like the premise that self-taught engineers
| lack foundational concepts just because they didn't go the
| academic route. I think many of us find the academic aspects
| just as interesting -- it really depends on the field you're in
| I think. For sure, we don't normally have the time to do a deep
| dive of something, but by the time you're decades in you've
| probably got just as many if not more 'foundational chops' than
| someone who spent a few years at school.
|
| Anecdotally, as someone who's hired and fired plenty over the
| years, I think there is something to the _Self-Taught Engineers
| Outperform_ theory. But I think it 's purely that they spend
| much more time _doing_. They do more in work and they do more
| in their free time. The passion brute-forces the learning.
| danaris wrote:
| I think that what most people mean is that with a self-taught
| engineer, you have no way of knowing whether they have the
| foundations. It's going to be much more common with self-
| taught engineers than with formally-educated ones to have
| areas of surpassing brilliance, and areas where they don't
| know their arse from their elbow, and no easy way to predict
| what those will be until you get to know the specific
| engineer.
|
| With formally-educated software engineers, so long as the
| school they got their degree at is a reputable one with a
| decent program, you can be reasonably confident that they'll
| have a solid foundation, and if you're familiar with the
| institution you may even know what their strengths and
| weaknesses are likely to be.
| louthy wrote:
| > With formally-educated software engineers, so long as the
| school they got their degree at is a reputable one with a
| decent program, you can be reasonably confident that
| they'll have a solid foundation
|
| Based on the 100s of candidates that I've interviewed over
| the years, I disagree. In fact I often wonder what on earth
| people are doing at these university courses, because they
| rarely seem to have even a basic grasp of computer science.
| I've had to personally mentor many (academic route)
| engineers over the years on what I would consider absolute
| basics.
|
| Frankly, I don't consider a degree a useful barometer of
| quality at all. They're only useful if the candidate is
| applying for their first job out of university. After that,
| experience is much more important and I basically ignore
| the education part of a CV.
| devin wrote:
| This used to be my experience with credentialed
| candidates, but I do think the programs universities have
| been putting together (which are from what I gather,
| extremely expensive tech school programs that optimize
| for FAANG acceptance) have made the hit rate for juniors
| that can actually hack slightly higher than what I
| remember.
|
| Whether they actually are interested in the work still
| seems more important than the paper though.
| bongodongobob wrote:
| I completely agree. Where I'm at right now, most of the
| brilliant engineers and admins don't have a degree at
| all. The ones with degrees are the do nothing look busy
| with meetings managers.
| stronglikedan wrote:
| > mixture of formal and informal/self-taught
|
| That's me. Took plenty of college classes, but never tested
| well, so never got a degree. I learned most everything on my
| own, but those classes were a foundation for what I taught
| myself, and I couldn't have done it without them (as quickly).
| nativeit wrote:
| This is a good point. I think the structured curricula can be
| the only way to learn many technical topics, even if you
| aren't being formally taught. I also found my time at
| university to be invaluable for the equipment, facilities,
| and resources that were made available to me for learning
| that I could never have provided to myself.
| ramesh31 wrote:
| Because we have to. It's obviously survivorship bias. I don't
| have a single chance at interviewing against someone with a
| degree unless I can undeniably prove that I am head and shoulders
| above the pack. And so you grind and grind and grind in a way
| that someone with that piece of paper to rely on doesn't feel the
| need to, because the bar is that much higher.
|
| It wasn't always this way; making it without a degree used to be
| a badge of pride in this industry. But the glut of CS grads these
| days has made it something of a handicap to be brushed around at
| this point.
| winddude wrote:
| As a self taught engineer who hasn't read the article or done any
| research I can confirm.
| nazgulsenpai wrote:
| Anecdote: I grew up in a poor family, that was single parent for
| my teenage years. I dropped out of high school when my son was
| born and I was 17. I never went to college. I was, however, a
| lifelong nerd and by mid-20s was able to get a foot-in-the-door
| job in IT. I'm 40 now and have been doing my dream job for almost
| 8 years. My current position was for a job that required a degree
| on paper. During my interview (all of them actually) I was honest
| about education, but also work experience and personal interest
| in the field, and got the position. That was 2.5 years ago and I
| hope to retire here.
|
| I'm sure there was some luck involved, but just having a singular
| focus on computer adjacent fuckery, I managed to build a pretty
| successful career being 100% self taught.
| zepolen wrote:
| It's not luck, I hire people on the regular, I'll pick a person
| with no degree but practical experience over a fresh out of
| college graduate every time.
| ecshafer wrote:
| > Linus Torvalds built Linux by rewriting MINIX to scratch an
| itch. Margaret Hamilton debugged Apollo guidance code on-the-fly,
| inventing modern software reliability.
|
| Their very first examples are Engineers with formal training.
| Formal training gives you the mathematical and engineering
| maturity TO tinker.
| hn_acc1 wrote:
| This. We had to write a multi-process 68K assembly OS as part
| of an undergrad course. This helped immensely in having an idea
| of what the Linux kernel is doing. Without that - how do you
| even get started writing a kernel, if you don't know what it is
| or what it does?
| kixiQu wrote:
| Well, "Case Studies of Tinker-Born Mastery" is a pretty LLM-
| sounding heading if ever I've encountered one, and that bulleted
| list of examples...
|
| It's interesting to think through which of the LLM-produced texts
| that I've read recently have delivered value and which haven't.
| This one doesn't impress me, but there was one about social
| skills I thought was good - yet the comments there pointed to
| maybe that being because it was synthesizing some high-level
| points from a book. Getting the model to go fishing for ideas
| rarely seems to work out to anything that feels worth my time.
| glitchc wrote:
| Nah, you need both. A formal foundation in core concepts is the
| bedrock upon which to do self-study. The smartest engineers are
| the academics. They're the ones who design new algorithms for the
| rest of us to use and their achievements are built on deep
| knowledge-sets, which are mostly formal.
| zepolen wrote:
| > The smartest engineers are the academics
|
| Citation needed.
| const_cast wrote:
| Nobody here has any citations for anything, but he did give
| his reasoning. If you only you just extended your quote one
| more sentence! Rats!
| xnx wrote:
| Slightly misleading headline. This article is about programmers
| not licensed engineers.
| matt3210 wrote:
| Self taught then got the paper degree from the daycare. Best
| combo. Ok to be fair the college did teach me a lot I didn't get
| while self taught.
| breppp wrote:
| Probably the actual difference is what you are able to retain in
| your memory.
|
| I know that the parts of computer science I learned on my own or
| while on the job, are far more sticky than anything I studied in
| university, even back then
|
| Also there's a different in what you think you understand and
| what you actually understand
| kunzhi wrote:
| Makes me think of this classic from Derek Sivers - There is no
| speed limit - https://sive.rs/kimo
| ryandv wrote:
| Having been on both sides of the fence I can definitely speak to
| autodidacticism as having yielded some of the most durable and
| rewarding lessons of my lifetime spent programming, if only
| because I was _really internally motivated_ to try my hand at
| game modding, or writing fun toy websites or mobile apps, or even
| learning Haskell. There are indeed some practical realities you
| will learn how to overcome that simply are not (and should not)
| be covered in a usual computer science curriculum (e.g. git, vim,
| basic shell fluency, etc.).
|
| At the same time I feel that the self-taught dev or bootcamper
| from the 2010s is really a far cry from the geek culture of
| yesteryear. As opposed to misfits obsessed with computers, we now
| have grifters appropriating geek culture to make a buck off the
| industry. These people lack _internal motivation;_ they are
| driven only by the _external motivation of monetary reward._
| Consequently it 's unlikely that they would delve into more of
| the esoterica of computing that, while interesting and
| fascinating to learn about, doesn't yield immediate monetary
| benefit.
|
| In concrete terms what this amounts to is people "self-
| identifying" as "senior software engineers" who have never heard
| of the term `xor` in their life, and don't even understand what a
| truth table is when it's drawn out for them.
|
| Even still, those who _are_ highly internally motivated are still
| likely to have blindspots in their knowledge or not know that a
| field of study useful to them even exists, which is why having a
| more systematic and thorough review of the field 's basics is
| useful.
|
| Is knowledge of basic boolean logic, "advanced and impractical
| theoretical computer science," or merely, "table stakes?"
|
| When anybody can identify as anything you eliminate the
| possibility of drawing meaningful distinctions and assessing
| qualifications.
| GMoromisato wrote:
| I used to call myself self-taught because I never finished my CS
| degree, but the truth is I learned a lot of formal methods and
| techniques in college, and I wouldn't have been able to succeed
| without it.
|
| Formal education is the beginning, not the end, but if you have
| the opportunity, why not take it?
| hydroxideOH- wrote:
| Linus Torvalds given as an example of self-taught engineers yet
| he has a masters degree in CS.
|
| Higher education isn't just about what you learn, it's about
| learning how to study and learn.
| drojas wrote:
| Learning to learn efficiently is an incredibly useful skill that
| is required for survival in the self-taught path. Deciding what
| to learn next while making progress in your project in order to
| strategically unlock better decision-making at the right time
| before investing in the wrong path will compound over time and
| lead to increasingly improving skills like technical design,
| architecture, and project planning. The only major downside to
| this path in my experience is the increased probability of
| impostor syndrome which can be detrimental specially during the
| early years of your career and when you are trying to grow into
| the next level.
| Eextra953 wrote:
| The article is specific to software engineers, and perhaps it's
| accurate within that discipline. The field is incredibly broad--
| ranging from writing small support scripts to engineering massive
| distributed systems--so it's plausible that a self-taught
| engineer could excel in certain areas. However, I don't believe
| this holds true, or is even feasible, for other engineering
| disciplines. In those fields, earning an engineering degree is
| typically a prerequisite. After that, you're free to self-teach
| and explore further, but without that formal foundation, it's
| difficult to progress meaningfully.
|
| Side note: I think the term self-taught is often misused. Very
| few people are truly self-taught in the sense of starting from a
| blank slate and independently mastering a subject without any
| guidance. What the article refers to as self-taught is really
| just informal education--learning through blogs, tutorials,
| bootcamps, or YouTube University.
| sophacles wrote:
| the definition of self-taught: having knowledge or skills
| acquired by one's own efforts without formal instruction
|
| I think you're engaging in some weird goal-post moving. The
| phrase exists to highlight the difference between "i had
| someone else tell me all the things I should know and let them
| give me that knowledge" (e.g. college or a boot camp) and "i
| went out and found resources and did experiments so that I
| could learn what to do without that guidance". It is not "i
| discovered everything for myself by first assuming some
| principles and then rebuilding the whole field for myself".
| mcv wrote:
| I'm probably easy to mistake me for being self-taught,
| considering I was programming as a kid, and never finished
| university, but I didn't really learn to program until I went to
| university. I wanted to, as a kid, but unlike my brother, I could
| never figure it out, until I got my hands on something better
| than Basic, and some good guidance and teaching.
|
| I. Recent years I've only been getting more and more passionate
| about it, but that's probably mostly because I'm finally getting
| the opportunity to tackle some really hard and interesting
| problems.
| jcranmer wrote:
| Recently, I've been trying to teach myself some numerical thing I
| don't have prior experience on (building a sparse LU solver, if
| you're curious). What I've found is that the single most useful
| resource I've found is not trying to build one myself (because
| where do you begin?) or by ripping apart the internals of
| existing solvers to see how they work. No, it's stumbling across
| the lecture notes of a course that covered that material, in no
| small part because by stepping up a level and looking at the
| other lectures, I can discover the other relevant things _I didn
| 't know were relevant_. And this property has held true in my
| experience for other topics I've had to research on my own: the
| highest quality materials are invariably university lecture
| material.
|
| If your main thesis is that university instruction isn't worth
| it, why is all the best material university instruction? Sure,
| there's an argument that learning how to build something is best
| done by actually building it... which is why university courses
| invariably have "build what we're teaching you to build" as a
| course project that is a significant portion of the grade.
| XenophileJKO wrote:
| So I think the answer is, theory is important.
|
| However if you build things first, then study theory, you more
| clearly become aware of what the real insights are.
| jjk166 wrote:
| Everyone is self taught. School can lead you to water, but it
| can't make you drink. Every piece of understanding in your head
| came from your own learning efforts, whether that be trial and
| error, reading a book, listening to a lecture, spending too much
| time on stack overflow, or typically all of the above. School
| provides structure which helps with discipline, which is a
| serious obstacle for many people's learning efforts, especially
| when they are young, as well as exposure to concepts that one may
| not find easily without both curiosity and good research skills.
| But ultimately school is never more than a foundation to build
| off of in one's lifelong pursuit of learning. The difference
| between high and low performance engineers is often entirely
| based on how much effort they put into continuing to grow.
| austin-cheney wrote:
| As a self taught developer who has spent most of their career in
| the big corporate world surrounded by computer science graduates
| my experience is this:
|
| The self taught developer will eventually figure it out, if they
| are intelligent enough to approach the given problem.
|
| The computer science graduate will generally not even try to
| figure out a problem in completely unfamiliar territory. Of
| course this varies by personality, so this is probably only true
| for about 85% of the computer science graduates. They cannot
| proceed in the face of high uncertainty.
|
| What that ultimately means is that the computer science graduate
| is way more compatible in the big corporate world where they are
| an interchangeable cog that can be replaced at any moment. They
| operate in a world on known patterns just like their peers. The
| self taught developer, however, is constantly innovating and
| doing things in somewhat original ways because they have learned
| to not waste their personal time on unnecessary repetition, and
| that cavalier line gunman attitude scares the shit out of people.
| Yet, they those self-taught people tend to deliver vastly
| superior results.
|
| Most developers don't seem to care about superior code. They care
| about retaining employment and lowering anxiety in the manner
| that emphasizes least disruption.
___________________________________________________________________
(page generated 2025-07-17 23:00 UTC)