How To Grow And Level Up As A Software Engineer

Based on CircleCI Engineering Competency Matrix, let's learn more about different growth opportunities as well as how we can level up our career.

Table of Contents


Guidelines

Technical skills

Writing code

  1. Consistently writes code that are testable, easily understood by other developers.
  2. Document effectively.

Testing

  1. Understands the testing pyramid (unit test, integration test, end-to-end test) and ensures that they are in good places.
  2. Understands the team testing approach, works to recommend solutions accordingly.
  3. Works with other teams to recommend solutions
  4. Drives the company wide testing strategy.

Debugging

  1. Uses a systematic approach to debug issues located within a single device.
  2. Proficient at using systematic debugging to diagnose cross services issues.
  3. Leads incident response across the organization.

Observability

  1. Is aware of the team monitoring philosophy.
  2. Uses it as a basis for suggesting stability and performance improvements.
  3. Drives monitoring works
  4. Fosters a culture of observability across several teams and organization.

Understanding code

  1. Understands a portion of the team domain, knows how to work productively within it.
  2. Understands the team’s domain at a high level, has expertise in a portion.
  3. Has expertise in the team’s domain, including the breadth of services, how they interact, and data flows between systems.
  4. Has expertise in a set of related teams’ domains and organization’s architecture.

Software architecture

  1. Designs functions what are aligned with the overall architecture.
  2. Utilizes abstractions and code isolation effectively.
  3. Architects scalable services and systems, makes design decisions, weights trade-offs.
  4. Guides several teams to foster a culture of scalable architecture.

Security

  1. Approaches all engineering work with a security lens, actively looks for vulnerabilities both in code and peer reviews.
  2. Fosters a security first mindset across the teams/organization.

Delivery

Work breakdown

  1. Review tasks critically and ensures that they’re appropriately scoped for continuous integration and incremental delivery.
  2. Reviews epics and projects and ensures that they’re broken down, prioritized properly and well understood by the team.
  3. Reviews cross-team works and ensures that they’re well understood by all teams.

Prioritisation

  1. Ensures that tasks are prioritised and dependencies are noted correctly.
  2. Works within team to foster a culture of priority setting and urgency in alignment with organizational strategy.
  3. Identifies dependencies across organization and work with individual team to resolve them before they become an issue.

Dealing with ambiguity

  1. Handles risk and uncertainty within your personal scope responsibly and effectively.
  2. Effectively handles risk within the team.
  3. Effectively handles risk within the across several teams and organization.

Reliability

  1. Understands the priorities and deliver upon them accordingly.
  2. Anticipates and communicates blockers, delays before they require escalation.
  3. Ensures expectations with the team and external stakeholders are clarified.
  4. Successfully manages cross-team commitments, progress, and roadmap to delivery.

Economic thinking

  1. When taking action, weighs cost and value in order to make the most economic action.
  2. Uses this well and make suggestion to teammates.
  3. Fosters a culture within their team where people apply economic thinking to make timely decisions.
  4. Fosters a culture across several teams and within the organization.

Feedback, communication, collaboration

Delivering/seeking feedback

  1. Delivers praise and constructive feedback to their team, teammates, and manager in a useful manner.
  2. Delivers feedback to their team’s business stakeholders when opportunities arise.
  3. Fosters a culture of delivering praise and constructive feedback within the team, across several teams and organization.

Effective communication

  1. Communicates effectively, clearly, concisely in written and verbal form both technical and non technical subjects.
  2. Is able to communicate effectively with a diverse team, set of team, across the organization.

Knowledge sharing

  1. Understand your domain, share your knowledge and contribute to the team’s documentation frequently.
  2. Fosters a culture of documentation and knowledge sharing within the team, across team and organization.

Team work

  1. Consistently helps their teammates overcome obstacles, resolve blockers, and complete work tasks.
  2. Consistently works across the organization to enable teams to support each other.

Relationship building

  1. Works to build strong relationships with teammates, manager, and senior engineers across the organization.
  2. Works to build strong relationships across the organization and leverage those to better plan for the engineering organization.

Handling disagreement

  1. Approaches disagreement with teammates non-defensively and uses contradictory opinions as a basis for constructive, productive conversations.
  2. Encourages teammates to do the same.
  3. Foster a culture where people are encouraged to share opinions and contribute to discussions in a respectful manner.

Leadership

Decision making

  1. Strives to be objective, reflects on your own biases, and holds yourself accountable for decision and outcomes.
  2. Takes ownership of decisions made in their team by helping teammates make clear decisions in alignment with organizational goals, backing decisions made, and taking responsibility for their success.
  3. Takes ownership of decisions made across teams and organization.

Driving alignment

  1. Strongly oriented towards goals and ensures the team is continuously working towards shared goals.
  2. Fosters a culture within the team of having conversations based on organizational strategy and principles to create alignment.
  3. Fosters a culture across several teams and organization.

Process thinking

  1. Regularly thinks about team practices and processes and discusses improvements with team.
  2. Thinks about practices and processes that affect several teams, discusses improvements with appropriate parties, and drives implementation.
  3. Takes ownership and responsibility for organizational practices and processes and their continuous improvement.

Facilitation

  1. Facilitates discussions within the team, ensuring that everyone has an opportunity to share their opinion and be heard, and no one person dominates the conversation.
  2. Facilitates discussions across teams, guides discussions toward decisions, clarifies and gets buy-in.
  3. Facilitates organization-wide discussions.

Mentoring

  1. Seeks out mentorship to grow their own experience.
  2. Seeks out mentoring opportunities specifically to create team redundancy and backfill ability.
  3. Mentors across teams and organization in an open, respectful, flexible, empathetic manner.

Strategic impact

Business acumen

  1. Has a thorough understanding of their team’s domain, and how it contributes to overall business strategy.
  2. Has a thorough understanding of adjacent teams’ strategies and how they map to their team and interaction points.
  3. Has a thorough understanding of the entire business, including individual domains, and how they contribute to overall business strategy.

Strategic work

  1. Understands the organization’s engineering strategy.
  2. Collaborates and decides on their team’s engineering work based on organization’s engineering strategy.
  3. Leads cross-team and organization strategic efforts, influencing decisions to achieve cross-team alignment on major goals.

Product thinking

  1. Understands product area of focus, how it fits into the overall business.
  2. Looks for opportunities to simplify product & technical design.
  3. Evaluates and creates new product features in collaboration with the product team.
  4. Recognizes product opportunities and differentiators in relation to the competition.
  5. Actively seeks to create or redefine roadmaps across the organization with product & business counterparts.

References:



Tagged: #blog, #outlier, #success