View Single Post
Old 10-15-2017, 09:05 AM   #32
NullNix
Guru
NullNix ought to be getting tired of karma fortunes by now.NullNix ought to be getting tired of karma fortunes by now.NullNix ought to be getting tired of karma fortunes by now.NullNix ought to be getting tired of karma fortunes by now.NullNix ought to be getting tired of karma fortunes by now.NullNix ought to be getting tired of karma fortunes by now.NullNix ought to be getting tired of karma fortunes by now.NullNix ought to be getting tired of karma fortunes by now.NullNix ought to be getting tired of karma fortunes by now.NullNix ought to be getting tired of karma fortunes by now.NullNix ought to be getting tired of karma fortunes by now.
 
Posts: 929
Karma: 15576314
Join Date: Jan 2013
Location: Ely, Cambridgeshire, UK
Device: Kindle Oasis 3, Kindle Oasis 1
Quote:
Originally Posted by knc1 View Post
One thing that I notice while browsing through a small selection of those position descriptions:
Most of them require one less degree level than I would normally expect from the job description (and yes, I have hired a few people back in my days of having a day job).
I.E: They are willing to hire MS for work at the PhD level. (and we sometimes wonder how they could screw-up in some of the ways that they have in the past).
I have never even heard of a software development job outside the scientific data-processing domain in which degrees were actually necessary: at most they're used as filters to arbitrarily reduce the number of applicants. Many of the best software developers I have ever met (including several on whose work the proper functioning of your system, if it is Android, Linux or Mac, is utterly reliant) only have BSc-level, Masters, or completely irrelevant doctorates (classics, philosophy). Several didn't go to university at all. (I'm sure the same is true of Microsoft's developers too, I just don't move in those circles.)

Fundamentally, we don't know how to teach people to program, so degrees don't really help much: what matters is interest/self-direction, the ability to "think like a computer", and the ability to grasp a few simple but counterintuitive concepts (assignment, formal versus actual names for things, pointers): degree courses mostly don't teach the latter even though research shows that it is one of the largest sources of confusion among people newly exposed to programming, and one that if you get it wrong is unlikely to get fixed on its own.

And perhaps one more thing: the one common factor I can think of between the aforementioned best programmers is that they all started programming before they were ten (a strong flag of innate interest and a good way to build up a lot of experience before you hit the workforce).

Things like the ability to write maintainable code, core skills like functional decomposition, and familiarity with things like time and space complexity will come with experience: things like complexity do require you to have the interest levels to seek them out (possibly by doing the rough equivalent of parts of degree courses on your own, online!) but things like functional decomposition have been independently reinvented by almost everyone I know who started programming before the Internet let them look it up as easily as breathing. We all thought it was obvious after-the-fact

It would be nice if degrees actually predicted someone's programming skill. They really, really don't.
NullNix is offline   Reply With Quote