Apple recently open sourced the Swift programming language. When I consider the amazing growth in languages over the last 10 or even fewer years it strikes me that schools are very likely unable to keep up with the rate of change in what used to be called computer science. Examples include Swift, Go, Javascript/NodeJS, Ruby and php. Teachers particularly have to be challenged to be even conversant much less than proficient in languages that are in demand by employers. The days of a professor opening a 20 year old notebook on the first day of class (like one of my Calculus teachers had) are long gone. When I think of the old days the range of languages was limited to Assembler, C, FORTRAN and BASIC.

I recently blogged about the growth in bootcamp type schools which have a 3 month program to develop at least an entry level proficiency in a language or technology that will result in job offers. This raises the question, are bootcamps alone sufficient to develop the skills necessary to be employed? Colleges and universities will have to focus on higher level skills such as systems design and architectures rather than language level courses. They will have to expect that students will learn languages on their own because there will not be time to include one or more semesters of the basics.

The opportunity for students or anyone to have a laptop, a free operating system such as Linux and a broadband connection to the Internet enables the interested and motivated to learn much more quickly than ever before. The most important thing for a parent of school to develop may be to spark an interest that gets a student motivated enough to continue on their own. STEM type programs are intended to do that but I have not seen details on results produced by them. I am not even sure how you measure success with them.

The software profession has a significant advantage over almost any other. With software anyone can participate in an open source project to both learn and at the same time develop the credentials of demonstrated skills that guarantee their employment prospects vs a 4 year degree program that results in a somewhat generic diploma. It may be that eventually even bootcamps will not be necessary because anyone with the time and tools can prepare entirely on their own. The key element to working in software is having interest and motivation to do it because it requires dedication and continuous learning. Basically it boils down to you have to like it.