π§βπ» Software Engineer - Level L2
π οΈ Technical Skills
π Code Quality & Testing
ποΈ Writing Code
- Consistently writes functions that are easily testable, easily understood by other developers, and accounts for edge cases and errors.
- Writes comprehensive function and class documentation.
- Conducts impact analysis beforehand with assistance from a senior engineer for any modifications.
π§ͺ Testing
- Understands the testing pyramid and writes unit tests in accordance with it, as well as higher level tests with guidance from more senior engineers.
- Always tests expected edge cases and errors, in addition to the happy path.
π PR Practices
- Adheres to PR practices defined by the engineering team, including PR size, PR description, PR merge time, etc.
- Conducts thorough reviews of PRs and provides constructive suggestions for changes and modifications.
π Documentation
- Follows the documentation process set by the organization and ensures it is reviewed by seniors before publishing. This includes in-code comments and external documentation (Confluence, Google Docs, etc.).
π Debugging & Observability
π Debugging
- Proficient at using systematic debugging to diagnose all issues within a single application.
- Capable of using systematic debugging to diagnose cross-service issues, sometimes with assistance from more senior engineers.
π¨ Monitoring
- Understands the engineering organization's monitoring philosophy and is aware of the operational data for their teamβs domain.
- Expected to have proficiency with monitoring tools at this level. Also expected to set up basic alerts for monitoring.
ποΈ Software Design & Architecture
π§ Understanding Code
- Understands a portion of the team's domain, can gain sufficient context to work productively in that portion.
- Actively participates in system design exercises and documentation at this level is expected.
ποΈ Software Architecture
- Consistently designs functions/components/services that are aligned with the overall system architecture.
- Utilizes abstractions and code isolation effectively.
π‘οΈ Security
- Understands the importance of security.
- Familiar with common exploits such as SQL injection, XSS, and others and ensures their code prevents these exploits.
- Utilizes this knowledge to ask more senior engineers for help on making decisions that may have security implications.
- Should actively follows secure coding practices atleast on the tech stack and ensures the same practices are followed within the team.
π Delivery & Effectiveness
π¦ Incremental Value Delivery
π¨ Work Breakdown
- Before beginning work, reviews tasks critically and ensures theyβre appropriately sized for incremental delivery.
- Typically does so independently, occasionally with help from teammates or manager.
π― Prioritisation, dependencies
- Ensures tasks are prioritised correctly, and that dependencies are noted.
- Typically does so independently, occasionally with help from teammates or manager.
πͺοΈ Dealing with Ambiguity
- Usually handles risk, change, and uncertainty within their personal scope of work effectively.
- Usually decides and acts responsibly without having the total picture during routine business, and when in high pressure situations.
π Self Organization
β³ Reliability, delivery accountability
- Ensures their commitments are realistic, understands their priority and urgency, and delivers upon them accordingly.
- Anticipates and communicates blockers, delays, and cost ballooning for their work before they require escalation.
- Ensures expectations within their team are clarified between all parties involved.
- Communicate timelines slip at least a week prior.
- Max Deflection of delivery time (15%)
π° Economic Thinking
- When taking action, weighs cost and value in order to take the most economic action with help from more senior engineers.
- Sometimes uses this type of thinking to make suggestions to teammates. (Economic thinking atleast in term of system resources and cloud resources if not orginazation resources).
π€ Feedback Communication Collaboration
π Feedback
π£οΈ Delivering Feedback
- Delivers praise and constructive feedback to their team, teammates, and manager in a useful manner.
π§ Seeking and Receiving Feedback
- Actively seeks out feedback from their teammates and manager, and works to use feedback that they receive as a tool for growth.
π£ Communication
π¬ Effective Communication
- Usually communicates effectively, clearly, concisely and in an audience-oriented way in written and verbal form both technical and non technical subjects, to their teammates.
- Actively listens to others and ensures they are understood.
- Pays attention to nonverbal communication.
π Knowledge Sharing
- Understands their work domain, shares their knowledge frequently with their teammates and contributes to their team's documentation.
- Watches out for opportunities to share knowledge.
π€ Collaboration
π₯ Teamwork
- Sometimes helps their teammates overcome obstacles, resolve blockers, and complete work tasks.
- Gives or shares credit where due.
πΌ Relationship building
- Works to build strong relationships with their teammates, manager, and product counterpart.
ποΈ Handling Disagreement
- Openly shares their opinions and contributes to discussions in a respectful manner.
- Approaches disagreement with their teammates non-defensively with inquisitiveness.
- Uses contradictory opinions as a basis for constructive, productive conversations.
- Is open to changing their perspective and plans based on others' input.
ποΈ Leadership
π€ Decision Making
- Strives to be objective and reflects on their own biases when making decisions.
- Holds themselves accountable for decision and outcomes.
π§ Driving Alignment
- Has conversations based on company strategy and engineering organization priorities with their teammates when appropriate.
- Strongly oriented towards goals and works towards their team's goals.
π Process Thinking
- Regularly thinks about team practices and processes and proposes improvements in retrospectives or through other channels.
π€ Facilitation - NA
π¨βπ« Mentoring
- Mentors their junior teammates in an open, respectful, flexible, empathetic manner.
- Seeks out mentoring opportunities specifically to create team redundancy and backfill ability.
π― Strategic Impact
π Business Acumen
- Has a basic understanding of their team's domain, and how it contributes to overall business strategy.
π Strategic work
- Understands the organization's engineering strategy.
π― Product Thinking
- Understands product area of focus, how it fits into the overall business, and sometimes makes improvement suggestions for it.
- Sometimes interacts with stakeholders and understands the requirement from stakeholder perspective.