๐งโ๐ป Software Engineer - Level L0 (Interns/Trainees)
๐ ๏ธ Technical Skills
๐ Code Quality & Testing
๐๏ธ Writing Code
- Writes code with testability, readability, edge cases, and error handling.
๐งช Testing
- Knows the testing pyramid. Writes unit tests, sometimes with help from more senior engineers. Always tests their work before submitting for code review.
๐ PR Practices
- Follows proper Pull Request format as mentioned for the repo.
๐ Documentation
- Follows documentation process set by organizations and makes sure to get it reviewed by seniors before publishing. This includes in-code comments and Confluence/Google Docs.
๐ Debugging & Observability
๐ Debugging
- Understands the basics of debugging and the tools used for it.
๐๏ธ Software Design & Architecture
๐ง Understanding Code
- Is able to gain context within team's domain with help from more senior engineers.
๐๏ธ Software Architecture
- Is mostly aware of the system architecture. Designs basic functions with an awareness of the system architecture, avoiding duplication across codebases and interface-breaking changes.
๐ก๏ธ Security
- Understands the importance of security.
๐ Delivery & Effectiveness
๐ฆ Incremental Value Delivery
- Understands value of rightsizing tasks to enable continuous integration and incremental delivery.
๐ฏ Prioritisation, dependencies
- Acts according to task prioritization.
๐ Self Organization
- Has daily conversations with the team about the progress of their work. Delivers on commitments with a sense of urgency.
๐ค Feedback, Communication & Collaboration
๐ Feedback
- Understands how to deliver praise and constructive feedback in a useful manner.
- Actively seeks out feedback from their teammates and manager, and works to use feedback that they receive as a tool for growth.
๐ฃ Communication
- Communicates effectively, clearly, concisely, and in an audience-oriented way, in written and verbal form.
- Actively listens to others and ensures they are understood.
- Pays attention to non-verbal communication.
๐ Knowledge Sharing
- Understands their area of work and shares their knowledge frequently with their teammates.
๐ค Collaboration
๐ฅ Teamwork
- Helps their teammates when requested. Gives or shares credit where due.
๐ผ Relationship building
- Works to build strong relationships with their teammates and manager.
๐๏ธ Handling Disagreement
- Openly shares their opinions and contributes to discussions in a respectful manner.
- Works with teammates to resolve disagreements in a healthy manner.
- Is open to changing their perspective and plans based on others' input.
๐๏ธ Leadership
๐ค Decision Making
- Understands the impact of biases on decision-making. Understands accountability.
๐งญ Driving Alignment
- Aware of team/product strategy and engineering organization priorities. Strongly oriented towards goals and works towards their team's goals.
๐ญ Process Thinking
- Understands their team's practices and processes.
๐จโ๐ซ Mentoring
- Seeks out mentorship to grow their own experience.
๐ฏ Strategic Impact
๐ Business Acumen
- Has a basic understanding of their team's domain and the business landscape.