4 ms·
I would suggest getting a degree in engineering! Electrical, Computer, Software. The key to being effective in the long term is to be able to design and then
by CyberFonic 8y ago
I would suggest getting a degree in engineering! Electrical, Computer, Software. The key to being effective in the long term is to be able to design and then implement system of systems.
Astronomy is not about building telescopes and biology is not about designing microscopes. Whilst CS is a very important field, it could be likened to being like physics is to structural engineering. Physics study will teach you a lot about how materials behave, but structural engineering will teach you how to apply that science and build structures that will meet the requirements over a long time.
The problem with being self-taught is that you don't know what you don't know and can easily succumb to the Dunning-Kruger Effect. That is why programs are so full of bugs. The coders didn't understand what they were building, they just hacked away until something just worked (some of the time).
- jl2718 8y agoBut CS pays, and engineering doesn’t. If you plan on getting a job, that engineering degree is worthless when you’re at a whiteboard and the interviewer is asking some canonical CS question requiring implementation of a data structure that you don’t know the name of. Also, engineering is hard, like, lifetime of accumulated knowledge hard. It’s true for CS as well, but there are so many kids running the show that it’ll never be expected of you. And that’s okay because CS problems are easy, at least the ones you’ll get paid to work on. Load a poorly-written web page faster, given infinite compute resources. A/B test the color of the button to get more clicks. Engineering problems are hard. Shoot down a nuclear missile going Mach 32. You’ll spend a thankless lifetime trying to learn enough about things like microwave phase shift jitter and electron transport dynamics in indium phosphide before you really understand how hard that is. Instead, just get a CS degree, and call yourself an engineer when you valiantly build the backend of the “Yo” app.
- protonimitate 8y ago>>If you plan on getting a job, that engineering degree is worthless when you’re at a whiteboard and the interviewer is asking some canonical CS question requiring implementation of a data structure that you don’t know the name of. What software engineering program doesn't cover DS/A? Furthermore every answer to those cookie cutter whiteboard questions can be found in CTCI, leetcode, or any other DS/A textbook. Lets not pretend that a CS degree is some magic pass to getting a job in the field.
- johncole 8y agoHad to look it up. https://en.m.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect https://en.m.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effec... As someone self taught in a lot of things, definitely don't know what you don't know.
- Latteland 8y agoIf you want to be a software engineer, study software engineering, not some other engineering area. I think electrical engineering is far less useful to people if they are going to be general software engineers than being a cs major. You will spend a lot of time learning things that won't matter to software engineering. Of course if you were going tl be employed as an electrical engineer, but if you only were trained as a software engineer, you wouldn't be able to be proficient either. Study the field you want to work in!
- CyberFonic 8y agoIn my experience (a very long way from SV) a significant proportion of excellent programmers did not do SE degree but had degrees in some other area. My analysis suggests that critical thinking, ability to comprehend requirements and do good design are critical skills and can be developed in many related fields.