5 ms·
"I think its wrong of people who do discriminate against those who don't have a degree-- engineering is about having the skills and the mind." there are certai
by hedgie 14y ago
"I think its wrong of people who do discriminate against those who don't have a degree-- engineering is about having the skills and the mind."
there are certain areas of software engineering where a real understanding of the subject takes years of focused study. for example, understanding encryption requires graduate level math courses to even read some of the standards produced or understand how the algorithms work. i have never seen this happen outside of school simply due to the time restrictions of having a job preventing the full-time study necessary to reach that level of mathematical sophistication.
there are other areas where similar training is necessary and pretty much exclusive to schools (think financial software engineering for traders, for whom they generally hire grad students with extremely specialized knowledge).
most software engineers don't need this sort of training. but there are areas like encryption where i'm 99% certain the only training left in the world that can make you a competent professional is schooling.
software engineering is an odd exception to the rule that most jobs require credentials. you can just make the product at home and that speaks for itself, where as no one will let you risk blowing millions on dumb marketing unless you have something to say you're semi-competent.
self-trained software engineers are usually incredible and some of the best employees. but there are areas of software engineering where self-training is impossible that are absolutely necessary when creating certain products.
lastly, if you looked at my degrees, you would ignore the fact i first learned basic in middle school on an apple IIc+.
- DanBC 14y ago> there are certain areas of software engineering where a real understanding of the subject takes years of focused study. for example, understanding encryption requires graduate level math courses to even read some of the standards produced or understand how the algorithms work. i have never seen this happen outside of school simply due to the time restrictions of having a job preventing the full-time study necessary to reach that level of mathematical sophistication I agree with you. But there are some places where that study can happen without a degree. Clifford Cocks, for example, was recruited by GCHQ before he finished his degree. I accept this is an edge case example.
- hedgie 14y agohe had graduate level training in number theory at oxford, which is the basis of public key encryption and the algorithm he invented. it's not an edge case, it supports that you can't skip graduate level training and do this work.
- DanBC 14y agoAh, yes. I made a mistake. I thought he'd been recruited from Cambridge before he finished his degree.
- nirvana 14y ago>there are certain areas of software engineering where a real understanding of the subject takes years of focused study. Not many, and people who go into these areas spend those years doing that concentrated study as part of their job. The distributed systems work I did years ago for a startup made me one of 12 people in the world with that level of understanding at the time... now years later when distributed systems are "all the rage" every kid coming out of college thinks they know what they're doing but doesn't actually understand it. >i'm 99% certain the only training left in the world You're completely wrong. College doesn't even get close to teaching the state of the art. Graduate level can get close to the state of the art in a very narrow area, when you're working on your PhD, and sometimes this is highly relevant to the profession but often it isn't. >software engineering is an odd exception to the rule that most jobs require credentials. Most jobs require credentials for the same reason that most hats haze initiates, and once initiated those very same people are eager to engage in the hazing. It has nothing to do with ability, it is simply a mark of having an experience. The reality is, if you jump into a startup and spend those four years building a business, you'll have far more knowledge than you would get obtaining that credential. >but there are areas of software engineering where self-training is impossible that are absolutely necessary when creating certain products. I've hear this lots of times but never really any good examples. And in my experience, people with college degrees do not have the level of knowledge and expertise that I did, at the same time in my career. (e.g.: 4 years in.) Worse, I think this is getting worse, as college CS programs seem to be becoming less effective over the years. And the really state of the art stuff- you don't get in college anyway as an undergrad and if you're a graduate student you're reading the same things that people doing it on the job are reading.
- hedgie 14y ago"You're completely wrong. College doesn't even get close to teaching the state of the art." encryption is basically pure math. if you don't have a solid understanding of graduate level math you can't even follow the state of the art. knowing how encryption is broken takes EVEN MORE, with advanced statistical methods being added to the mix. "state of the art" encryption is really decades (or century) old mathematical problems. shit like padding is new, but the core of the algorithm has been studied for years by mathematicians - the fact they haven't solved it in that long a time is why we even use it for encryption "And the really state of the art stuff- you don't get in college anyway as an undergrad and if you're a graduate student you're reading the same things that people doing it on the job are reading." wrong. you can't even read the mathematical definitions of some encryption algorithms without graduate level courses. i work with people who are "experts" in the area and have been doing it for 20 years with an engi background. due to never learning the math i have to translate for them and i'm horrified at the shit they end up doing. they don't know why or how the algorithms work so they end up picking the wrong ones for the wrong reasons or implementing them in insecure ways. anything that relies on pure math this much (like algorithms for stock trading) isn't something you learn on the job.