Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

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



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


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.


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


When I was hiring back in maybe 2020, I used a basic FizzBuzz test. Yep, the FizzBuzz test you've all read about. About half the people (all college grads) who took it could not pass in the allotted hour. Yup, an hour to do FizzBuzz. Whatever language you want. Whatever you want to Google. I'd say 40%-50% could not do it.

A common error was not being able to get the first number evaluated to be 1. They had written(copied) for loops as `for i:=0;i<100;i++` so many times that they couldn't understand that setting i to 1 was all they needed to do. They didn't see the code. Just the "loop line" and it wasn't doing it right. Then it was making it stop at 100 instead of 99. All that before even trying to test mod 5 and mod 3 first.

The people who did pass it would have written it before I'd even finished describing the problem and they would all but sneer (in a professional manner) at the rest of the code "challenges." We made offers to those people and they worked out great.


I've also seen this in coding interviews, but I will also add that when this happens and the line just doesn't work "as it should", a common reaction is to start changing things essentially at random (i.e. without trying to methodically deconstruct what the code does). And sometimes this random approach ends up working in the right direction, but because it requires more than one step to get there, the (correct) first step gets discarded because it didn't immediately produce the correct result.

In general, it feels like many students learn to program by rote memorization of patterns - i.e. they remember that putting those parts in this sequence gives this result, and putting them in a different sequence gives a different result, but they don't know why there is a difference; they just treat them as magic incantations, sort of.

It's kind of like if someone learned to write by memorizing entire words as is without learning the alphabet first. They can recognize or spell any word they already know, but give them a new word and they are completely stumped.


You gave the perfect description of an LLM.


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.


I have never seen a person who self taught even the basics of math, some think they did but they just learned some fractions of the first course past what they currently know. Like nobody self teaches the equivalent of a basic math degree.

Programming though, there are plenty of people who can self teach programming and algorithms, since the theory there is much shallower and hands on than math.


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.


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

This is kind of fascinating. Please give some examples.


I find it's a crapshoot even with formally educated engineers whether they know what they have supposedly been educated in or not


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


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


It was nice in my 20s when we traded labor for beer and weed. A style of collaboration and exchange is what I aimed to describe.

Now, all my peers have wisened up and can get the big bucks elsewhere. So definitely, if a student of any age has the money, they can get a tutor. But it's nice to find a young tutor who would gladly proof your work in exchange for tacos or help on their CS homework


As another commenter proposed, try getting a course book and going through it at your own pace. With your newfound determination and interest it wouldn't surprise me if you stuck with it this time. Alternatively, if you prefer putting vector math into immediate practice, fields like graphics and game dev use it a LOT.


I've got them under my thumb now, and thank you! I've managed to muddle through linear and develop an ECS and prove it's in linear space and enough discrete to be pleasantly surprised by Noam Chomsky's many lives.

I used them as examples of when I transitioned back to CS and had to learn what to learn before I could learn. So to speak.

Anything on your own learning journey you'd like to share?


Have you considered trying to acquire the language by reading a textbook alongside a lecture series?


Quite a bit! MIT and Harvard open courses are great for aligning self-guided learning and finding vetted resources. My regex compiler would not be functional without those lecture series.


> The reactive ingredient is passion, not the learning modality.

Sure, but passion also drives self-teaching. It's less necessary in a classroom setting because there's always someone trying to keep you on track.

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

For some, understanding a system can be a goal in itself.


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


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.


Yeah, being lead to some water does not create dependence on being lead to all water.

If there is a consistent argument, it's that self-taught people have all demonstrated leading themselves to some water.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: