“A human being should be able to change a diaper, plan an invasion, butcher a hog, conn a ship, design a building, write a sonnet, balance accounts, build a wall, set a bone, comfort the dying, take orders, give orders, cooperate, act alone, solve equations, analyze a new problem, pitch manure, program a computer, cook a tasty meal, fight efficiently, die gallantly. Specialization is for insects.” - Robert Heinlein
Having come across this, I feel much better now. I never really wanted to specialize in anything anyway, am too interested in too many things. Even totally restricting myself to only computer science related topics, I don’t think there’s a problem with wanting to learn more (and more) about Artificial Intelligence, Algorithm Analysis, Computer Graphics, Software Design and Best Practices of Programming, Usability, Computer Human Interaction and Web Design. It’s all good. You don’t have to even see the connection between the topics.
It’s good to know some people might have similar views. Someone came up with the following:
“A programmer should be able to find a bug, market an application, refactor a spike, lead a team, architect an application, hack a kernel, schedule a project, build a database, route a network, give a reference, implement UserStories, analyze UserStories, work in a team, work alone, use patterns, innovate, write documentation, have a RealLife, create a cool website, email efficiently, resign gracefully, AdmitIgnorance, and keep on learning. Specialization is for recruiters. – with large apology to RAH and his estate, PeterMerel” (More …)