5 ms·
I think the problem is the data. Software engineering is a weird niche that is both a high paying job and something you can almost self-teach from widely avail
by steveBK123 2y ago
I think the problem is the data.
Software engineering is a weird niche that is both a high paying job and something you can almost self-teach from widely available free online content. If not self-teach, you can rely on free online content for troubleshooting, examples, etc.
A lot of other industries/jobs are more of an apprenticeship model, with little data and even less freely available on open internet.
- kanbankaren 2y ago> Software engineering is a weird niche that is both a high paying job and something you can almost self-teach If you meant programming, I agree it could be self-taught, but not SE. SE is the set of techniques, practices, tools that we have collected over decades for producing multi-versioned software that meets a certain reliability rating. Not all of these is freely available online.
- steveBK123 2y agoSure. And that's why SWEs will be fine in the world of AI, as the rote work is more easily automated. The contrast is that for a lot of other jobs, the rote tasks are not routinely solvable with free online content in text form.
- optimalsolver 2y agoThere are plenty of self-taught people in the open source space making highly reliable software.
- UncleEntity 2y ago...who don't get hired at "real" jobs because they can't produce a bubble sort in 15 minutes on a whiteboard. I feel very fortunate that the core blender devs had the patience to put up with my stupid amateur mistakes while I learned the skills to become a helpful contributor back in the day.
- elicksaur 2y agoUnless you are talking about people who are actual licensed engineers, this is a distinction without a difference. Thing is, I’ve never met someone in software with a professional license.
- kanbankaren 2y agoI didn't mean the professional license, rather the ensemble of practices, tools, etc. It is practiced in safety critical domains.
- BoorishBears 2y agoI'm self-taught and had a job in the autonmous vehicle industry writing software that included safety-critical functionality. I had about 12 YoE at the time, and my manager didn't realize I didn't have a degree until after I was hired. Apparently it hadn't affected my offer, and he was more impressed than anything. You say: > SE is the set of techniques, practices, tools that we have collected over decades for producing multi-versioned software that meets a certain reliability rating. Not all of these is freely available online. The same way there's no single guide on the internet on how to be the kind of engineer who builds reliable or extensible software, I don't think there's a guide hiding in the average CS curriculum. Most of it consists of getting repetitions building software that involves the least predictable building block in all of software engineering (people), in all its various forms: from users, to other developers, to yourself (in the future), to "stakeholders", etc. Learning how to predict and account for the unpredictability in all the people who will intersect with some facet of your software is the closest I've seen to a "universal method" for creating software that meets the criteria you defined. And honestly I'd be concerned if someone told me you can just be taught some blessed set of tools and practices to get around it... that sounds a lot like not having actually internalized why they work in the first place, and the "why" is arguably more valuable than the tools and practices themselves.
- mistrial9 2y agothis is a challenging point of view.. on one side, a "a job in the autonmous (sic) vehicle industry writing safety critical software" sounds like one of the most slave-ish jobs in the world. This person had a 100 other people checking every tiny result, plus automated testing frameworks and hundreds of pages of "guidelines" .. in other words, the least creative and most guard-checked software possible. On the other hand, an open and level playing field does not exist in the thirty-some odd years of open markets software development. No one since Seymour Cray has done complete systems design, really.. it is turtles all the way down. You have to get hardware to run on, and the software environment is going to have been defined for that.. CPU architectures and programming languages. People who write whole systems generally do it in teams. The arrogant and self-satisfied tone of the corporate worker-bee says that there is no such thing as real software engineering skills? like defining "health" or other broad topics.. the closer the topic is examined, the more holes in the arguments. I am glad I never punched a time clock for Elon Musk, however, all things considered.
- taurknaut 2y agoThe vast majority of people learn this on the job. This is certainly not taught in schools (or is only barely scratched as a topic).
- BeetleB 2y agoI'll bite. Can you list specific things not freely available online?
- esperent 2y ago> something you can almost self-teach from widely available free online content. I think you massively underestimate just how much data is online for everything, especially once you include books which are freely available on every possible subject (illegally, perhaps, but if Meta can download them for free then so can everyone else). There's less noise for many other subjects than for software engineering, there's often just a couple rather than 100s of competing ways to do everything. There might just be one coursebook rather than 1000s of tutorials. But the data for self teaching is absolutely there.
- BeetleB 2y agoThe difference is in the cost of the equipment. Sure, you can learn all about power electronics by yourself. But have some ideas you want to implement? Hundreds to tens of thousands of dollars.
- satellite2 2y agoConsider two fields with vast amounts of literature: medicine and law. Medicine faces two key challenges. First, while research follows the scientific method, much of what makes a good doctor—intuition, pattern recognition, and clinical judgment—is rarely documented. Second, medical data is highly sensitive, limiting access to real-world cases, images, and practice opportunities. Theory alone is not enough; hands-on experience is essential. Law presents a different problem: unknown unknowns. The sheer volume of legal texts makes it nearly impossible to be sure you’ve found everything relevant. Even with search tools, gaps in knowledge remain a major risk. Compounding this is the way law is actually practiced. Every judge and lawyer operates with a shared foundation of legal principles so basic they are almost never discussed. The real work happens at two higher levels: first, the process—how laws are applied, argued, and enforced in practice. Then, at a third, more abstract level, legal debates unfold about interpretation, precedent, and systemic implications. The first level is assumed, the second is routine, and only the third is where true discussion happens. Self-teaching is easier in fields where knowledge is structured, accessible, and complete. Many subjects are not.
- brookst 2y ago