Paradox of a CS major
- We know how to write a History essay or an English research paper, but don’t have any clue when it comes to writing a functional specification document or a technical design document.
- We can accurately measure the run time complexity of an algorithm but cannot reliably say how long we will need to write a piece of code.
- We can make sense of an assembly dump, but cannot parse a piece of code written by someone else and proceed to rewrite it.
- We learn how how to code the hard way with Vim and Emacs, but never bother to learn to use all the features of Eclipse.
- We can do miracles while coding alone, but have no clue how to commit, checkout, branch, tag, and merge using a revision control software for a team project.
- We excel at writing thousands of lines of code, but have difficulty compiling, linking, and creating executables.
- We enjoy the challenge of a good debugging session, but hate to write unit tests and regression tests.
Comments Closed
I agree with you, but I think not only CS suffer from that. IS we know about regression, and writing technical papers, but we don’t know how to do the technologies, and few of us are really good at coding it, or even deeply understanding how those stuff work. I think there needs a restructure and organization for majors to suit what really is faced in life. May be we can create a college or a center that we teach people , something like “Gateway to real life”
Great post Shahriar …
It is very interesting to see another perspective from a CS graduate who is currently working.
“We enjoy the challenge of a good debugging session, but hate to write unit tests and regression tests.”
The only reason why I enjoy writing test nowadays is because of Cucumber. I am not sure if it works with other languages.