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

How come this or things like https://teachyourselfcs.com/ dont exist for other fields like mechanical engineering?


Computer Science has become a "programming" farm degree rather than what it was originally back in my day (grumble, grumble). It used to be an off-shoot of mathematics and was so strongly tied at the hip many schools had CS and math in the same department.

Cynically programmers are paid better than any other so-called "knowledge worker" field. Naturally, schools paid by large organizations have a vested interest in finding interesting ways to drive down wages. One of the easiest ways is to just pollute the waters with sub-par talent. As much as this website, Google, and many other FAANGs would like you to believe, the average person lacking a formal education in CS or a related field (math, engineering, etc) tend to make for the programming equivalent of one trick ponies. The wages have stayed high as a result.

Personally, I am growing tired of seeing all of these "learn to program" focused CS degrees. Even the one you have linked lacks the rigor of an ABET accredited program. For the last several years now every time someone tells me they like computer science what they have meant is they like learning to code. There's nothing wrong with this, of course, but CS is quickly going the way of the kleenex. I am not gatekeeping to be an asshole. There is so much beauty and richness of the field. It's like the people who read one pop-sci physics book and then put "physicist" in their linkedin.


I think the problem is that CS is too young to have sub-disciplines. If you want to lay a concrete slab foundation, then you get an architect, multiple engineers, the rebar guy, the cement mixing truck driver, the person that understands the chemistry of the cement, dyes, etc. Then, you get the guys with shovels to spread it around. Finally, there are some artisans that somehow make it perfectly level using nothing but plywood, trowels and brooms.

None of those people can replace each other, and they all have different titles / work for different companies. Even the untrained people that spread the concrete around can't be replaced by the others; no one else has enough muscle tone / stamina to do that job!

In CS we have many, many sub-specialties, but we don't have names for those specialties.


Don't we? Off the top of my head, there's front end, there's back end, there's DevOps, there's kernel devs, there's low-level embedded devs, there's database people, there's data scientists, there's ML people, scripting language people, video game engine programmers.


But all of those got the same degree and usually the same job title, they specialized on the job and not in their education. That is very different from engineers.


Where I am, engineers have a discipline which is their undergrad major (e.g., mechanical, electrical, civil) and a practice area which is on the job specialization within the discipline (e.g., HVAC, pressure vessels, pipelines).

Software engineering is a licensed branch of engineering in many places, so I don't think it's that different from other disciplines.


Exactly, when I"m told to double up as a database engineer I always die inside a little bit. If this were any other profession there would be a specialized guy in every company doing that sort of thing.


I'm finding it hard to parse your argument. Are you saying that large organizations would rather have cheap-but-mediocre programmers than good-but-expensive programmers? Why would this be a benefit to them, surely they want good programmers?


Companies are focused on short term profits 98% of the time


Top tech companies could reduce comp by lowering hiring bars and wages. They don't think it's worth the cost.


> but CS is quickly going the way of the kleenex

Everyone knows what it is, everyone makes annual use of it?

The name has expanded from "a product, sold by a particular company" to "exactly the same product, but sold by any company"?

Help me out here.


Maybe they mean “programming” is becoming a metonym for “computer science”?


https://mitocw.ups.edu.ec/courses/mechanical-engineering/

It's available, you might need to search for it and look for the flow charts to see which courses are missing from the other departments.

The challenge is, in many places, you won't be able to practice as an engineer without going through an accredited program.

If you're trying to be a maker or learn more about that, mechanical engineering is probably overkill. There are more accessible books for technologists or technicians that have a much more reduced emphasis on math.

An undergrad degree in engineering isn't sufficient to be an engineer. It's the base knowledge that gets built on during the apprenticeship ("engineer in training" or other name), and you need to learn and use the relevant laws and standards.

If you're able to state your goals a little more clearly, there may be others who can provide better advice or comments.


>The challenge is, in many places, you won't be able to practice as an engineer without going through an accredited program.

While not literally generally true in the US, in practice, you'll probably be hard put to land a job.

>If you're trying to be a maker or learn more about that, mechanical engineering is probably overkill.

It's not only overkill. A lot of the curriculum that doesn't involve a lab or a machine shop is probably mostly not very useful. Navier-Stokes fluid flow equations have very little to do building things.


I'm also interested into more of these "teach yourself x" curriculums if anyone has anymore to share. There's so many things I want to learn and I'm someone who likes (needs?) structure. Here's a few that I know of.

Draw a Box: https://drawabox.com/ (Doesn't necessarily fit, but it's really good!)

So You Want to Study Mathematics: https://www.susanrigetti.com/math

So You Want to Study Philosophy: https://www.susanrigetti.com/philosophy

So You Want to Learn Physics: https://www.susanrigetti.com/physics


This one is my favourite, its not great for everything but most of the time it provides a solid road map to learning something new.

https://learn-anything.xyz/


"How to make great pancakes" sadly is not one of the anything to be learned.

From poking around, this site seems to be a pointer-to-resources, rather than a road map of learning. While very useful, it seems like a tactical resource, rather than GPs strategic resources.


It's not exactly the same thing, but you might find Metacademy.org[1] of interest.

[1]: https://www.metacademy.org


One factor may be that mechanical engineering remains dominated by expensive proprietary software, and the field is largely OK with that. Programming is unique in the sense that programmers can create their own tools, and have adopted an expectation that the most advanced tools should be free and easy to obtain. This culture could easily extend to making the training materials free too.

Another factor is that "coding" is the hot field right now.


The lack of formal professional organizations is the biggest boon for computing. I'm glad we don't have an artificially low supply of programmers like we do doctors


To be fair, I'm also glad doctors are (on average) better trained, more professional, more disciplined, and have higher standards than programmers.

(We're still very much at the "bloodletting, leech, and saw" part of our craft. Look at the horrors we inflict on our users.)


That isn't a factor of the artificial scarcity however, that's a factor of the teaching standards.

In Australia we have a very limited number of surgical training positions each year. We could do plenty more, but we don't... more or less because surgeons are snobs who want people to go through the same hoops they went through.


I think the two approaches are not that far apart. High teaching standards require an elite and dedicated student body and will weed out all that don't conform. An aggressive entry barrier for a limited number of seats will push applicants to compete with each other and select for largely the same thing, only earlier and at a lower cost for the students and the educational system.

I've experienced both systems "easy to enter, next to impossible to finish" vs "highly selective, smooth sailing after that", I can't say there is a definitive superior solution.


Having seen the absolute dire code some programmers put out (some being very well paid for it too); I'm very glad there are far fewer doctors like that and those that turn that way lose their accreditation and get shamed out of the field.


Another factor might be that the term engineer is a protected term, and not unlike doctors and lawyers there exist state-regulated tests to confer such a title.

I'm sure that a mechanical engineering course would be possible, but the course would have to clearly state that it cannot accredit the credentials to actually work in the field.


Seems obvious that a non ABET school would never give engineering credentials, yet community colleges still offer technical courses on mechanical and electrical engineering and even associate degrees in those fields. Professional engineering requires ABET bachelor's and passing EIT and then the PE exam plus 4 years professional experience.


I have a degree in Mechanical Engineering; I have not taken any professional licensing exams. There's an overwhelming majority of jobs that I could take in the Mech E field right now, without a need for the PE license.


I'm not sure the precise details, but there's an "industrial exemption" for engineers who work for a company that makes a product. Most of the MechE's in my department do not have licenses. One colleague is pursuing hers, but mainly on the grounds of "just because I can, so why not."


I got as far as an EIT but then went back to school and changed careers.

Engineers mostly need a PE licensure if they're going to be signing off on drawings and the like for regulators. Thus PEs are pretty common in civil engineering and, I assume, structural engineering in general. But most Mech Es aren't licensed in the US even if they have degrees from accredited schools.


I have both MechE and CS degrees. The big difference I see is that MechE is one course that builds on top of another on and on. Quite a rigorous progression that is hardcore on math and physics. To self teach MechE you have to work yourself through that progression which is a huge commitment.

OTOH what most people consider “CS” is more like “the ability to program”. You can get competent enough to be dangerous with a few classes and side projects.

Note that isn’t actually being competent at CS - that is quite a lot more work which just isn’t needed in practice for a lot of work that needs done.


I've heard the saying: Any idiot can make a bridge stand up. It takes an engineer to make the bridge barely stand up.

I want a class on making the bridge stand up for idiots (like "let's write this bridge in python, and build it with cob"). I don't care if I spend twice as much on wood and hay and mud or titanium or whatever. I live in the SF Bay Area, so I can't afford the mechanical engineers I can actually hire to design my crappy little bridge, and the ones I can actually hire are incompetent. Also, I don't want to buy more tools.

(To be clear: If you're a MechE in the SF Bay Area and reading this site then I can't afford your time.)


Bridge building is the purview of civil engineers. Mechanical engineers deal with machines, moving parts and the like.


The old engineering chestnut: Mechanical engineers build weapons. Civil engineers build targets.


Love that! Reminds me of playing Civilization games. Sending in my catapults to smash the enemy city to pieces! I always tried to time the discovery of mathematics with transitioning my economy to a war footing!


It's not legal to build a little bridge anywhere in the SF Bay Area.


Look around at the scout troops near you; it is possible that a scout is building a trail bridge for their Eagle scout project. Volunteer with the troop and you've got your class.


While I agree with that I think one glaring difference is also the money. To really learn you want to test out different designs and stuff. For MechE, this can cost A LOT. For example to build a complex device that does something interesting the prototype parts can easily costs as much as a capable laptop or more. And the first one probably won't work ...

Still, it's a shame I think that the open source community is so week because there is very advanced software out there, e.g. France has open source SW that was used to design nuclear reactors. But the community is just not there.


Programming might be what people think of with CS, but what separates a coder from someone more like a software engineer is algorithms, data structures, OSes, and networking. Once you get past toy problems, you'll have to work with all of those. That said, I agree that none use particularly hardcore math day-to-day.


It'd be worthwhile for recreation, but software is kind of unique in eschewing credentials in favor of experience and ability. Civil engineers must be accredited to practice. While I don't think the requirements are as rigid for mechanical engineers, I expect a greater proportion of mechanical engineering jobs have a degree as a hard requirement than in software. This probably leads to less interest in things like teachyourselfmeche.com


I wonder if there are hard requirements for some areas of programming and not for others? There's no reason to require credentials for writing a game because if it fails, try again. But if a bridge fails that's a big deal. So for high consequence software like heart pacemakers or aircraft controls, are there people writing code without degrees?


I don't write aircraft controls are pacemakers, but I know people in the medical device industry, and my understanding is that there are regulatory requirements for the product more than the creators. That said, I imagine those industries are more conservative and credential based. Again, my contacts in the medical industry say that its very academic-adjacent environment (which is very credential-obsessed).


I'd imagine the labs are a part of it. There are very few places that offer proper engineering as an online program. I've not been through mechanical engineering but for electrical engineering even the first circuits course one goes through will include using scopes, power supplies, and other testing tools. Sure you 'could' use software to emulate this, but emulations aren't real-life.


One reason may be that mechanical engineering degrees really only mean something when they come from accredited universities, if you want to go for your FE or PE licenses in the USA you'll need to have a degree from an accredited university. Most places that consider you for a job as a mechanical, electrical, civil, aeronautical/aerospace, etc engineer only want to see you with a degree that's accredited. The CS job market has always been more accepting to self taught, hence courses to self teach. I say these things working in software development with a bachelor's and master's in mechanical engineering. Good friends with someone with a bachelor's and master's in electrical engineering working in software and brother-in-law to someone with an aerospace degree.



Because good literature for other engineering fields is hard to find.


I'm not sure that's true in general.

You can go through something like OCW and see the notes and can buy the same books used in the courses. You may need to hunt down appropriate problem sets to work on but there's a ton of material out there.

That said, as commented on up thread, you'll end up doing a lot of work to get a very theoretical not-degree, without even the benefit of labs, that is probably more or less useless in actually getting you a mechanical engineering job.


When I say good I mean comprehensible and lucid. I am an electrical engineer. And it was a pain for me to good find books that will make me understand things.

Where did I look for resources? Everywhere.


Must be partially because employers of mechanical engineers are liable legally when things break and people are hurt.




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

Search: