5 ms·
That seems to misunderstand the path from apprentice to journeyman (singular) to master. Look to actual (not software) engineers for that. They still do it and
by drewcoo 6y ago
That seems to misunderstand the path from apprentice to journeyman (singular) to master. Look to actual (not software) engineers for that. They still do it and they somehow managed it even with present day educational standards.
There is also a deep misunderstanding of what the Internet is. It's not a "third dimension" or a set of marketing hype. It is an engineering marvel. Which again drives home that the author has no grounding in engineering.
This "pyramid of mastery" is roughly as sensible as organizing your bookshelf by color. It might please the eye of a layman, but makes no sense to the knowledgeable. There is no sense of sweep and scope of concepts and instead everything is labelled by size of something a novice can easily identify. Never mind that this shape would be an inverted pyramid given the current taxonomy and concept of size, it just doesn't make sense as a path toward mastery.
Then there is cyclic learning, not drawn because apparently it would spoil the oversimplified diagrams.
I don't understand this piece. It's not trying to sell me anything. If it were, it would be better designed to a purpose. For charity's sake, I'll choose to believe it's an apprentice's draft, a first effort at prose.
- qqj 6y agoIt's larping.
- jimmaswell 6y ago> actual (not software) engineers Why do people (many software engineers) insist on putting down software engineering like this? I see things like "bad" languages being popular and instances like leftpad cited, as if other disciplines never have clunky standards or silly incidents.
- something2 6y agoAs a software engineer with an electrical engineering degree , I think there are other factors that make software engineering "less" engineering-y. One of the biggest things that comes to mind for me is that in software engineering a junior engineer can legally build, deploy, and launch a critical project. In other engineerings, projects require sign-off from a licensed (P.Eng in Canada) engineer. And the engineer that signs off on that project is the one held liable for its success or failure. Personally, I've loved software engineering for the above as it's let me grow my career much more easily, but I do think of it as a stark difference in engineering and "software engineering".
- gavribirnbaum 6y agoSo other engineering has more regulation? Great benefit... I'm good with our SE freedom.
- movedx 6y ago> One of the biggest things that comes to mind for me is that in software engineering a junior engineer can legally build, deploy, and launch a critical project. Except in my experience this rarely happens. Maybe your experiences are different? You're also potentially forgetting something: if their software breaks down it's very, very unlikely to cause a death. There are far, far, far, far fewer cases in which software engineering failures have resulted in death versus, say, structural engineering. Building a bridge that takes people over a river? Better get that right... Building LinkedIn? Let's hope we get it right but if we don't, some people get mildly annoyed and the share holders lose their money. It's not quite the same impact, but still downtime isn't ideal. EDIT: Apologies for being so crude in my original wording. I'm updating the comment to reflect a more professional, civil tone.
- movedx 6y agoLove the down votes but not the rebuttals. Stay classy, Reddi-um Hacker News. EDIT: Apologies to all. This isn't the right attitude for HN and I'll refrain from this kind of behavior in the future.
- jholman 6y agoAs a software engineer with a CS degree who complains about "bad languages", none of that is what matters. Software engineering, as practiced, isn't real engineering. When people say "actual engineers", they're talking about features like: * codified best practices for at least 90% of the job (software development does a bit of this, but still precious little, and it's so immature that a lot of codified best practices (e.g. "use OO for everything") are clearly wrong) * certification, with standards, where it's possible to do a bad enough job that you lose your certification (also true of e.g. doctors or lawyers). that cannot happen in S.E. because there's no certification in the first place. * jobs with sufficient consequences (e.g. bridges, buildings, electrical work...) are illegal to build without sign-off by a sufficiently senior sufficiently-certified engineer. that isn't the case in S.E., there's no law against a high school student building a site that records PII and then leaks it * if an engineer signs off on such a job, and is sufficiently negligent in doing so, not only do they lose certification but they can be legally responsible. as far as I know this is in theory just as possible in S.E., but as far as I know has never happened in practice, while it does from time to time happen in other fields * part of the aforementioned certification is training in questions of law, ethics, and professional liability, whereas most CS students take at most a course on "social consequences" in the hand-wavy abstract, and most "software engineers" didn't do a CS degree anyway It used to be the case that the word for the super-category here was "professional" (as in "member of a professional association"), but these days people use "professional" just to mean "wears nice clothes and doesn't cuss". Shrug. (btw it's fine that the meaning changed, because a still-older meaning of "profession" is purely religious, so using it for these kinds of training/trades usages is already a "distortion".) But anyway, as I noted above, doctors and lawyers and accountants all share most of these properties, they are far from exclusive to engineers. I think there are good reasons why software engineering isn't currently real engineering. E.g. civil engineering (one of the oldest types of engineering) muddled along okay without any of these features for thousands of years, and many of these features are effectively impossible in a field as fast-moving (i.e. young) as software. So I'm not necessarily saying that S.E. could reasonably aim for those features in the near future. But still. Real engineering is a thing, and software engineering isn't real engineering. Yet.
- jimmaswell 6y ago
- movedx 6y ago> That seems to misunderstand the path from apprentice to journeyman (singular) to master That or this? And I don't believe it does. Also no, "actual" engineers don't still (universally) operate in a master/apprentice model. I've heard of that happening in quite some time. > Look to actual (not software) engineers for that. This is putting down software engineers who are, by definition of engineering solutions, real engineers. They're just simply not in regulated markets. > There is also a deep misunderstanding of what the Internet is. It's not a "third dimension" or a set of marketing hype. It is an engineering marvel. Which part of the article said the Internet was a marketing hype? I think you may have taken the term "third dimension" a bit too literally here. The author didn't mean what you thought they meant. > This "pyramid of mastery" is roughly as sensible as organizing your bookshelf by color. Networking fundamentals come before learning to use AWS VPC peering or VPNs, which are tools and frameworks. You learn one before you learn the other. I think the structure is valid. EDIT: Apologies for being so crude in my original wording. I'm updating the comment to reflect a more professional, civil tone.
- dang 6y agoPersonal attacks and name-calling will get you banned on HN. We also rate limit accounts that post unsubstantive and/or flamewar comments. Please make your substantive points thoughtfully and leave out the rest. https://news.ycombinator.com/newsguidelines.html https://news.ycombinator.com/newsguidelines.html