I just found this Matrix which helps in assessing the competency of a programmer in different fields such as computer science, software engineering, programming, experience and knowledge. While the programming part is pretty detailed, in my opinion the computer science and software engineering part fall short.
Software Engineering is not just source control and automated build and testing, important things like process knowledge, knowledge about requirements engineering and the knowledge about architecting a complex software system are missing. I agree that a programmer is not the software architect, but s/he should at least have a rough idea of what the software architect does. (This holds also the other way round).
But if you want to asses your programming skills, or those of a prospective knew hire, the matrix is a good start.
During the last years I learned a lot about what it means to run a business, there are on the one hand dww-desing.net and the PartyMe.de and on the other hand my internship at TRW.I found it really interesting not to focus only on the technology side but to see also the management side of a business and since I always want to learn, I applied the following strategies to improve my management and entrepreneur skills:
Learn from Mistakes!
There is an old saying “The Best Teachers Are Your Own Mistakes”. So if you run your own business from time to time take a break and evaluate the decision you have made and think about what could have happened if you would have done something different. But at least some times it is also possible to learn from mistakes of others. There are different ways to learn from mistakes that other people make, but the first thing you have to do is to realize the mistakes.If you for example are an intern in a company, you always can observe the actions of your superiors and ask yourself the question “What would I have done at her / his place?” Or if you realize that some decisions turned out to be bad, you should ask yourself “Why where the decision bad?” and “Which decision would have been better?”
Read, Read and Read!
It’s like all other things if you want to learn something read not only one but many books or blogs or magazines and do not only consume what you read but try to challenge it!
For me being a student, it is very easy to attend a strategic management or technology management seminar at the university but if you are not a student you still may have the chance to visit some classes, at least a lot of the German universities you can enroll as a extra-mural student.