Hacker News new | past | comments | ask | show | jobs | submit login

> With you for the most part, but can’t get behind your analogy.

I think the analogy works. No single engineer whether out of university or not can build a 747.

However a single person built a search engine. Duckduckgo. The person didn't even have a degree in software engineering. He had a physics degree.

I see your point. Let me put it this way. Somewhere in building the F-16 or the boeing 747 there is a form of theoretical modelling that must be done as a fundamental thing in order to build it. You need to calculate the flight dynamics and mathematically model the control system using math skills that cannot be obtained by attending a bootcamp.

Most of these skills can only be obtained through several years of practice, and a bootcamp doesn't offer that. Granted there are many parts of engineering a 747 that don't need these deep design skills so you can get away with not knowing what an ODE is while being an engineer.




But again, these complicated problems tend to be handled by well educated and experienced specialists. The reasons behind why it's not possible to do for the 747, but is with a search engine deal with complexity. There's far too many pieces for one person to handle, no matter how skilled.

For a single person to be able to do everything (not familiar with your examples, so I can't speak to the truth of it, but accepting your premise), the implementation must be sufficiently simple. You CANNOT provide an adequate solution to a slew of technical problems by yourself. There are many topics in SW Eng that CANNOT be done by a single person. Impossible. You can build a plane by hand by yourself. People do all the time. I had a boss that did. Sure he's buying parts and not eg designing the body himself, but no one ever really did.

At one point there were no planes, but over time we learned to do it better and better. At every step engineers were learning the ropes from industry veterans, then adding their own innovations. Not that different from a guy putting together a plane from parts. You could point to more complicated areas where harder technical concepts are applied, but that really just works the same. You learn x software, and y methods (again from the veterans NOT from Uni), then you add your innovations.

You think Boeing is designing all their parts, on one team? No it's mostly people cobbling together parts from suppliers and other teams, digging under the hood for some things, tweaking similar designs, managing, "business stuff", ect. That's the vast majority of engineering, even outside of software. A high percentage of people won't touch the stuff they learned in school, or just a tiny piece of it. They're getting most of their information from the professional greybeards from within their industry.

I do agree that things are a bit different in software engineering, but not by as much as you seem to think. We could probably get a lot of traditional engineering prospects off the ground with an intensive camp. This makes a lot more sense in software for a variety of reasons (IMO mainly because there's SO MUCH of this kind of work to do), but I don't agree that it's impossible in other engineering domains.

It seems like you'd have to make a comparison that is not apples to apples, eg. comparing a master/phd educated, highly-specialized ME to an entry level software engineer. A better comparison is comparing a run-of-the-mill developer to a basic ME working in a plant. Things aren't so different there. You can also compare a specialized SW Eng, eg. working on algorithms themselves to the kind of aerospace engineers your picturing. Things don't look so different then, I think.


>But again, these complicated problems tend to be handled by well educated and experienced specialists.

That's my point. In software engineering these specialists aren't required. Like actual deep mathematical knowledge isn't needed for software engineering.

>They're getting most of their information from the professional greybeards from within their industry.

Of course, I never disputed this. However there is a foundational knowledge in say something like ME which is more reliant on schooling. This foundational knowledge is required to understand the greybeard. For example kinematics and calculus. Just getting up to that point requires at a minimum.. two years of training in school.

Plenty of software engineers don't know calculus or trig. That much I can assure you because it's rarely required.


I don't dispute that deep mathematical knowledge isn't needed for software. It isn't really needed in much of engineering. Plenty of high school level students can do trig and algebra. You can get by just fine in much of the engineering world, just like software, with bare minimums. Linear algebra, trig, even basic diff eq and calculus is relatively easy to pick up independently IMO. Plenty of books, exercises, videos, ect. Having taken math at multiple universities, including community colleges, I can't tell much difference between the programs. It didn't seem like anyone else felt otherwise. Going to college to learn basic math would be a waste of money, I think.

> That's my point. In software engineering these specialists aren't required.

That's not really true. I mentioned this in my comment. There are many areas of software and computing that DO require specialists. Elite teams or team members that tackle really really hard problems that much of the field then uses. So there's really no difference there at all.

Do you work in ME? It sounds like you have a glamorized idea of what a lot of other engineers do. I can assure you that the vast majority of them are not using specialized knowledge. It doesn't really seem that different to me. I can assure 100% that it's the same in EE, because I've done that, and it was almost exactly the same. (of course, it's fair to point out the similarities between EE and CS, but again all my ME friends reported the same kind of stuff).


>It isn't really needed in much of engineering. Plenty of high school level students can do trig and algebra. You can get by just fine in much of the engineering world,

A certain amount of People can get by, but the project itself cannot get by without a minimum people on that project knowing this stuff.

For your typical software project, the entire project can get by without anyone knowing anything from algebra and beyond.

>Linear algebra, trig, even basic diff eq and calculus is relatively easy to pick up independently IMO.

Less likely for people learn this stuff outside of a school. It can be done without school but the likelihood of learning these things without school is low because learning these things is about 10x harder than programming. Developing the intuition and familiarity with this is very rarely done independently.

Additionally, these are the bare minimum required for engineering. Complex analysis, control system theory, kinimatics, physics, circuit analysis and much much more are required for systems engineering. And almost nobody starts learning this stuff as a "hobby." Basically people pick up learning django or rails as a hobby or something along those lines.

>Do you work in ME? It sounds like you have a glamorized idea of what a lot of other engineers do.

I'm EE, switched to CS after graduation and I work in embedded systems with mechanical engineers and other EEs.

Yes the day to day doesn't require solving an ODE. But the basic knowledge is required in some aspect of the project. The same is NOT true for software.

>There are many areas of software and computing that DO require specialists.

Very few. ML or Data is mostly what I see but you're average web development shop has sw guys who are roughly homogeneous in terms of skills. Any specialization is domain knowledge as in he's the guy that coded that maze so he's the guy that knows it best.

There are "specialists" but the crossover is so close that all these specialties can combine and you encounter tons and tons of people who are "full stack" engineers.




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

Search: