I am advising my kids to have good technical skills but also great people skills.
I am advising my kids to have good technical skills but also great people skills.
However, programming any major system today does require extensive knowledge and I dare say a CS degree as well. It's becoming more and more like an engineering discipline, and as such I think we're going to see a shift towards programming being something you need a college degree to perform.
I know and have worked with programmers with and without a CS degree (I'm one of the ones without).
As far as I can tell it's no indicator of programmer skill at all.
With that being said, how can colleges REALLY train? I got trained at my local community college a few years back (2008-2010) in VB and Cobol. How fast can most places REALLY respond to a moving target like this?
Also, a degree is no indication of programming skill... but neither is having a job. You can churn out code, hopping from one place to another, and still be a shitty programmer.
That's one of the biggest issues... How can you REALLY tell what someone is going to produce? There are no consistent certification processes and no consistent measure of what makes a good programmer.
There is a lot of knowledge to be gained by experience, but sometimes it's useful to have knowledge gained from books, and in particular from books you had no interest reading in the first place (which is the real value of a degree: forcing you to go through a process that includes stuff you like and stuff you dislike).
I occasionally come across situations where those useless subjects suddenly contribute something useful for the problem at hand. I would never have studied them by myself unless forced by the goal of finishing college. At the very least, I would have never studied them to any sufficient depth to make them useful.
Sorry, is mee too dumb-dumb to read bookie wookie?
Does that mean that you cannot program of design programs? No, but there are people out there with more education better suited to design, say, a large scale medical system where certain guarantees must be given.