- Technical
-> Self-sufficient in at least one large area of the codebase
-> Mastery of at least one language and developing mastery of multiple other languages, frameworks and tools
-> Identifies viable alternative solutions and presents them
-> Understanding of relational databases, development frameworks, and commonly used industry libraries.
-> Understanding of testing and integration testing techniques
-> Moderate understanding of how a handful of key sub-systems interoperate
-> Ability to read and understand existing code and offer recommendations for improvement
-> Understanding of OWASP
- Process
-> SDLC processes are followed, including adopting agile-based processes/meetings, peer code-reviews, and technical preparations required for scheduled releases.
-> Understands product roadmap and how one contributes to the overall objectives
-> Capability of prioritizing tasks
-> Estimates their own work
-> Learns and applies secure software development practices, reviews code for vulnerabilities and raises awareness of secure programming practices
- Impact
-> Fixes bugs of moderate complexity and demonstrates proficient debugging skills
-> Reviews code for team members, providing in-depth comments
-> Develops new features or enhancements with minimal supervision
-> Delivers medium level refactoring
-> Implements unit testing and integration testing where needed
-> Produces quality technical documentation
-> Makes technical documentation/knowledge base contributions and technical team presentations
- Communication
-> Gives constructive feedback to team members
-> Understanding of industry jargon and business concepts
-> Raises roadblocks and updates estimations as needed