Roles & Responsibilities
Software Engineer
Associate Software Engineer - L1

πŸ§‘β€πŸ’» Associate Software Engineer - Level L1 (Fresher Full Time)

πŸ› οΈ Technical Skills

πŸ“ Code Quality & Testing

πŸ–ŠοΈ Writing Code

  • Writes code with testability, readability, edge cases, and errors in mind.

πŸ§ͺ 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

  • Follows PR practices defined by the engineering team, such as PR size, PR description, PR merge time, etc.

πŸ“š 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

  • Uses a systematic approach to debug issues located within a single component.

🚨 Monitoring

  • Is aware of the engineering organization's monitoring philosophy and the operational data for their team’s domain.
  • Should understand tools used like Prometheus, Grafana, basic logging.
  • Should be able to trace errors in logs in the system.

πŸ—οΈ Software Design & Architecture

🧠 Understanding Code

  • Understands a portion of the team's domain, can gain sufficient context to work productively in that portion.

πŸ›οΈ Software Architecture

  • Is aware of the overall system architecture for their team's product/service.
  • Designs basic functions with an awareness of the system architecture, avoiding duplication across codebases and interface-breaking changes.

πŸ›‘οΈ Security

  • Understands the importance of security. Utilizes this knowledge to ask more senior engineers for help on making decisions that may have security implications.

πŸš€ Delivery & Effectiveness

πŸ“¦ Incremental Value Delivery

πŸ”¨ Work Breakdown

  • Before beginning work, ensures that tasks are appropriately sized for incremental delivery with help from teammates and manager.

🎯 Prioritisation, dependencies

  • Understands and acts according to task prioritisation. Notes dependencies.

πŸŒͺ️ Dealing with Ambiguity

  • Usually handles risk, change, and uncertainty within their personal scope of work effectively.
  • Usually consult with senior and decides and acts responsibly without having the total picture during routine business, and when in high pressure situations.

πŸ“† Self Organization

⏳ Reliability, delivery accountability

  • Commits to a realistic amount of work, and works with their teammates both to ensure they understand priority and urgency, and to deliver upon them accordingly.
  • Escalates any blockers, delays, and cost ballooning to their team daily.
  • Clarifies expectations with their teammates.
  • Max Deflection of delivery time (20%).

πŸ’° Economic Thinking

  • Understands the importance of weighing cost and value in decision making.
  • Asks more senior engineers for help in applying this type of thinking to their work.

🀝 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

πŸ’¬ 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

  • When requested, 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. 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

  • Contributes to conversations based on Team / product strategy and engineering organization priorities with their teammates when appropriate.
  • Strongly oriented towards goals and works towards their team's goals.

πŸ’­ Process Thinking

  • Sometimes thinks about team practices and processes and discusses improvements with the team in retrospectives or through other channels.

πŸ‘¨β€πŸ« Mentoring

  • Seeks out mentorship to grow their own experience.

🎯 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 engineering strategy.

🎯 Product Thinking

  • Understands product area of focus, how it fits into the overall business, and sometimes makes improvement suggestions for it.