Slashdot has an interesting discussion started by a graduate with Computer Science major and is looking for non-programming jobs. I have a computing degree, and I did find a few of my peers with the same degree who are not so proficient with coding, and is reluctant of getting their hands dirty.
From the discussion, there are a few points that I do believe:
- Computer Science is not about coding, it is about shaping solutions via computational methods
- But, saying that computer scientist is not the same as a programmer, and need not even know how to program, is just elitist crap!
- Accenture is always looking for fresh faced graduates who can’t actually do anything. And it still looks good with Accenture on your resume..
If you are majoring in Computer Science and you don’t enjoy programming, then you kinda like majoring in psychology and don’t like dealing with people
- We have to admit this - programming plays a large part in a Computer Science degree.
As pointed out, there are in fact a lot of other areas in IT that need no coding skill:
Test engineers - Some testers automate tests with scripts, but some just run them
- Project manager - Keep track of dates, and understand the geeks
- Documentation - Good tech writers are as valuable as developers
- Technical sales - Can you hide a product’s warts long enough to sell it?
- Administrators - Both the classic IT role, and as a system upgrade specialist
- Teaching - How many of your lecturers know only how to lecture?
Lastly, it was pointed out that programmers usually have some bad habits, which I do agree. Quoted:
Far too many programmers tends to think they do all the cool stuff, and everyone else are just useless fluff. They show scarily little appreciation for the amount of work people around them do to work around the problems caused by prima donna programmers that deliver poorly documented, badly written pieces of shit and refuse to acknowledge there are problems with their code.
Developers should not be only code writers. Developers should be capable of designing, coding and testing. By getting involve in the full spectrum of development, a developer is then truly responsible over the product. A good developer should also care about and acknowledge the existence of other issues - operation, cost, usability, etc..
Noisy and arrogant, I will always remember this comment.