|
That is a really great list. I mean a really, really great list, but, and I may be quite wrong about this, I think that it is missing something very important. While a well-rounded computer-science curriculum should enable someone to check off at least half of those bullet points, I do not think that list would actually make someone a great developer. I think that in order for someone to become a great developer, they should have knowledge that enables them to solve really hard problems in efficient ways. They must understand algorithms. I don't mean a surface level understanding either. They must have a deep, familiar, and complete comprehension of algorithms in general. I'm not one to lecture on this subject, because I'm not quite there yet myself, but I really do think that if someone has a mastery of algorithms then the rest of the items on that list become significantly more achievable. They would have a nice, strong general purpose set of tools that they can not only use in their own projects but also (and perhaps more importantly) in examining third party code and libraries as well. |