The biggest headache in software development is that most programmers can’t program and don’t want to learn anything.
I recently finished up a MOOC called Software Engineering for SaaS, offered by UC Berkeley through Coursera. For a modest investment of a few hours a week for five weeks, I learned some Ruby on Rails — a well-designed platform and a lot of fun to work with — as well as tools like GitHub, Cucumber, RSpec, SimpleCov and Heroku.
Over 50,000 students from 150 countries signed up for the class. According to a final email from the professors, about 10,000 students attempted at least one assignment or quiz. Or to look at another way, 80 percent of the students gave up without even trying.
Approximately 2,000 students, or 4 percent, completed all four of the assignments and the three quizzes.
One of the enrollees who gave up without trying is a former colleague of mine, an ASP.NET programmer, who threw in the towel when he realized he wasn’t going to be allowed to do the programming assignments in C#.
Evidently he read under Prerequisites: “Programming proficiency in an object-oriented programming language such as Java, C#, C++, Python, or Ruby” and missed the course description at the top of the page: “This course teaches the engineering fundamentals for long-lived software using the highly-productive Agile development method for Software as a Service (SaaS) using Ruby on Rails.”
“I’m not going to learn Ruby on Rails,” he said, as though it was a silly, irrelevant thing to suggest to a professional programmer, like learning a yo-yo trick.
Thus spoke The Programmer.