Back to
AgileDevelopmentSkillsAssessment.
See also ExampleAssessment.
ClydeCutting suggests that this might be better as two capability maps, JavaAndOOCapabilityMaps.
First Draft Java Capability Map
Novice
- May or may not have limited experience with Java or another programming language
- Shows a degree of proficiency with computers
Advanced Beginner
- Understands basic decision structures
- Feels comfortable with primitive data types, operators, and with often used classes in the standard libraries
- Can do some rudimentary maintenance if supervised
- Comfortable with basic features of the IDE
- Has basic understanding of I/O streams and file operations
Competent
- Can follow coding/commenting standards with little problem
- Beginning to conversationally understand O.O. concepts
- Can use primitives, operators, and common classes with some degree of proficiency and confidence
- Able to devise solutions to some problems with much research and help
- Able to do some coding and maintenance without supervision
- Has a clear picture of the Java event model
- Can implement error handling
- Can troubleshoot small bugs
Proficient
- Pays attention to industry trends and knows many ‘tricks of the trade’
- Has a functional grasp of O.O. concepts and design techniques. Needs very little clarification in concepts
- Aware of cross-platform portability and Virtual Machine issues
- Has a firm grasp of the standard libraries and often used 3rd party libraries
- Can devise solutions to problems with a moderate amount of research time.
- Somewhat proficient in code optimization
- Can code with almost no supervision
- Functional understanding of inheritance, interfaces, polymorphism, multithreading, and synchronization
- Uses error handling efficiently
- Understands how Java works across networks and with databases (JDBC)
Expert
- Has a firm understanding of O.O. concepts and design techniques. Sees the big picture of the design
- Makes the right trade offs between good design and performance.
- Understands what is happening on the byte code level, OS level, and the chip level when a program executes
- Clearly understands the differences between the different releases of Java, and can design accordingly
- Is an authority on code optimization
- Can design and implement solutions without any supervision
- Understands security issues
- Able to engineer servlets, and is comfortable with RMI + possibly CORBA
- Acutely aware of deployment issues
Master
- ???
Produced by ____ who is admittedly not at the Expert level. Still needs revision and validation by Expert level Java developers.
what about ?
- Can translate a UML diagram to a Java solution.
Back to AgileDevelopmentSkillsAssessment.
See also ExampleAssessment.
Or see JavaAndOOCapabilityMaps.