π§βπ» Software Engineer - Level L3 (2-3 Years Experience)
π οΈ Technical Skills
π Code Quality & Testing
ποΈ Writing Code
- Consistently writes production-ready code that is easily testable, easily understood by other developers, and accounts for edge cases and errors.
- Understands when it is appropriate to leave comments but biases towards self-documenting code.
- Evaluates and implements design patterns where required and actively improves and deprecates old code.
- Involves actively in database schema design and code optimizations.
π§ͺ Testing
- Understands the testing pyramid, and writes unit tests as well as higher level tests in accordance with it.
- Always writes tests to handle expected edge cases and errors gracefully, as well as happy paths.
- Integration testing and suite-based testing are expected at this level.
π PR Practices
- Follows PR practices defined by the engineering team, such as PR size, PR description, PR merge time, etc.
- Conducts thorough reviews of PRs and suggests 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.).
- Reviews peer documentation and suggests changes.
π Debugging & Observability
π Debugging
- Proficient at using systematic debugging to diagnose all issues located to a single application.
- Uses systematic debugging to diagnose cross-service issues, sometimes with help from more senior engineers.
π¨ Monitoring
- Is aware of the engineering organization's monitoring philosophy.
- Helps tune and change the monitoring on their team accordingly.
- Is aware of the operational data for their teamβs domain and uses it as a basis for suggesting stability and performance improvements.
ποΈ Software Design & Architecture
π§ Understanding Code
- Understands their team's domain at a high level and can gather sufficient context to work productively within it.
- Has expertise in a portion of their team's domain.
ποΈ Software Architecture
- Consistently designs functions/components/services that are aligned with the overall system architecture.
- Utilizes abstractions and code isolation effectively.
π‘οΈ Security
- Approaches all engineering work with a security lens.
- Actively looks for security vulnerabilities both in the code and when providing peer reviews.
π Delivery & Effectiveness
π¦ Incremental Value Delivery
π¨ Work Breakdown
- Before beginning work, reviews tasks critically and ensures theyβre appropriately sized for incremental delivery. Does so independently.
- Knows when to consult (e.g. dependencies, assumptions).
- Can explain and rationalize a work breakdown to the team, relating it to prioritization.
π― Prioritisation, dependencies
- Ensures tasks are prioritised correctly, identifies and confirms their own and their counterpart's commitments upon inbound and outbound dependencies.
πͺοΈ Dealing with Ambiguity
- Handles risk, change, and uncertainty within their personal scope of work effectively.
- 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 atleast a week prior.
- Max Defelection of delivery time (10%)
π° Economic Thinking
- When taking action, weighs cost and value in order to take the most economic action.
- Uses this thinking in their own work, and to make suggestions to teammates.
π€ Feedback, Communication & Collaboration
π Feedback
- Delivers praise and constructive feedback to their team, teammates, and manager in a useful manner.
- Delivers feedback to their team's business stakeholders when opportunities arise.
- 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
- Communicates effectively, clearly, concisely in written and verbal form on both technical and non-technical subjects.
- Actively listens to others and ensures they are understood.
π Knowledge Sharing
- Understands their team's domain, shares their knowledge frequently with their teammates and contributes to their team's documentation.
- Watches out for opportunities to share knowledge and encourages others to do the same.
- Actively participate and holdcode walkthroughs with peers and maintain track of horizontal and vertical learning
π€ Collaboration
π₯ Teamwork
- Often helps their teammates overcome obstacles, resolve blockers, and complete work tasks.
πΌ Relationship building
- Works to build strong relationships with their teammates, manager, as well as their teams' relevant business stakeholders.
ποΈ Handling Disagreement
- Encourages their teammates to openly share their opinions and contribute to discussions in a respectful manner.
- Approaches disagreement 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 decisions and outcomes.
π§ Driving Alignment
- Has conversations based on company strategy and engineering organization priorities with their teammates to ensure team alignment.
- Strongly oriented towards goals and ensures their team is continuously working towards their shared goals.
π Process Thinking
- Thinks about team practices and processes and regularly discusses improvements with their team, sometimes collaborating with others to improve engineering organizational practices and processes.
π€ Facilitation
- Facilitates discussions within their team, ensuring everyone has an opportunity to share their opinion and be heard.
π¨βπ« 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 thorough understanding of their team's domain, and how it contributes to overall business strategy.
- Has a basic understanding of adjacent teams' business domains.
π Strategic Work
- Understands the company's engineering strategy.
- Usually involved in discussions about the implications for their team.
π― Product Thinking
- Thoroughly understands the business model in relation to their current product focus area.
- Sometimes participates in roadmap feedback with the product team.
- Often interacts with stakeholders and understands the requirement from the stakeholder perspective.