A good manager can help you become competent by:
- Giving you more time than you actually need.
- Reducing the problem scope.
- Removing arbitrary obstacles.
You can make yourself competent by:
- Dividing the problem at hand in several subproblems. When the deadline arrives you will surely have something that works to show. The rest may be pending but it is smaller than what you already implemented.
- Once you've divided the problem, attack the LowHangingFruit first.
- Reducing the problem scope. The rest of the scope may be solved later.
- Write UnitTests to make sure you are not breaking anything when you RefactorMercilessly. Beware that UnitTests may actually slow you down because it becomes harder to introduce bugs. The code quality is better, but time gets longer.
Competence comes from the mastery of Skills
Okay, I've read the page a couple of times. I can't find the word "skill
" here anywhere. I always thought that competence involved mastery of skills.
- programming is a skill
- typing is a skill
- learning is a skill
- teaching is a skill
- communicating is a skill
- reading/writing/speaking are skills
- manners/etiquette is a skill
- mathematics is a skill -- okay a skill set
- and so on ...
... so I would say that mastery of appropriate skills leads to competence.
Or, it could be that I've misunderstood, and this page addresses competence within a limited domain, where all the skills mentioned are assumed
Allright I agree what was said before has not been explicit. And if the rest of the community agrees then it may be time to rewrite the page.
What was said before is still useful though.
Garry I would like to add to what you have said, in that we need to describe and define "skill".
What is skill
"Skill" is the "ability" to achieve "acceptable and repeatable performance", in a discipline of value to a community. -- strawman definition
- a person can be "talented" in some area, but not very skilled in it. Lack of "repeatability".
- different people can have different level of skill in the same discipline. But they are all skilled since everyone who is categorized as such has met "basic performance requirements".
- since the community determine the skill, the focus shifts over time. In ICT leadership / management skills in demand are favoring "people skills" over "technical skills".
I have since looked up a dictionary on "skill" definition. It includes "knowledge" which I think is unrelated to skill. Knowledge is important but not very useful unless it can show up in an application that has value.
see also CriticalItSurvivalSkills
Rewriting this page takes "skill". In communication and RelationshipManagement. :)
Skills In Context
Definition of Skills
Skills = Knowledge (know about) + Action (know how)
+ Willing To Do
+ Know Why (Systems Approach)
+ Care Why (Self Motivation, Creativity)
Source: William Eggers, Manager of Engineering, McDonnell?
Presentation notes from INDUSTRY 2000: A Best Practice Forum on Skills and Knowledge Assessment, 1996, Minneapolis, MN