This article strikes home as I am now completing my first year as a college instructor who teaches computer programming:
When they graduate and get their first job, a lot of students feel like they don’t really know how to program even though they may have been good programmers in college.
What are some of the differences between programming in an academic setting and programming in the ‘real world’?
In a traditional undergraduate computer science program you learn just programming. But the real world doesn’t want people who are just programmers. The real world wants real software engineers. I know many job descriptions don’t seem to express this distinction, which only confuses the matter.