Untitled

| | ‣ | ‣ ‣ | ‣ ‣ | | --- | --- | --- | --- | | Ownership and Drive

Takes ownership when they know it’s not someone else’s responsibility. Not just saying it, but really getting fuel from doing it. They don't need co-workers or leaders to motivate them. Motivation comes from a deep emotional connection to their work. They spend, but also get energy while working. This person, as an individual, is accountable for the quality and timeliness of an outcome, even when they are working with others. They take responsibility for their mistakes and make sure that these mistakes won’t happen again. They set, track and follow goals. | | | Requirements for Advanced, plus: • Takes ownership of cross-tribe initiatives and does whatever action is needed to drive them to the successful resolution. • Doesn’t wait for requirements from others but starts activities when needed and presents it to the team and engages with others. • Ownership and drive at full scale: guilds, cross-department or company-level initiatives.

Delivers on their promises. Shows up to meetings on time. Completes the work which they promised to do and lets everyone know if something unexpected happens. Anticipates and communicates blockers, delays, and cost ballooning before they require escalation. Ensures their commitments are realistic, and understands their priority and urgency. | Requirements for Beginner, plus: • Commits to a realistic amount of work. • Works with their teammates both to ensure the teammates understand priority and urgency, and to deliver upon them accordingly. • Escalates blockers, delays, and cost ballooning to the team daily. Clarifies expectations with teammates. | Requirements for Intermediate, plus: • Understands the priority and urgency of the commitments, 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 and external stakeholders are clarified between all parties involved. | Requirements for Advanced, plus: • Successfully manages both cross-team and organization-wide commitments, their progress, and roadmap to delivery. • Anticipates and communicates blockers, delays, and cost ballooning across teams, before they require escalation. Ensures expectations across teams and stakeholders are clarified between all parties involved. | | Problem solving

Finds solutions to technical and domain problems. Tackles complex or unclear tasks. Has reasoning about large problems and splits them into smaller ones. | Requirements for Beginner, plus: • Tackles medium-sized problems (such as a non-trivial technical change in one component), involving others when needed. • Splits larger work (such as an epic) into workable chunks. • Solves problems with unclear steps but clearly defined outcomes. • Able to recognize and avoid workarounds and hacky solutions. | Requirements for Intermediate, plus: • Solves and drives large problems (such as non-trivial technical change in multiple components), including splitting, delegation and support for team members involved. • Adept at making decisions that involve a significant number of factors and have broad implications. • Accommodates into the solution possible unknowns. Solves problems with unclear outcomes. • Solution to the problem incorporates mid-/long-term impact and vision. | Requirements for Advanced, plus: • Drives solution to cross-team tasks (such as non-trivial technical change impacting multiple tribes), including delegation and support for teams involved. • Tackles problems spanning multiple degrees of complexity, f.e. organizational, performance and scalability. • Creates clarity when solving undefined problems. | | Business Thinking and Domain Knowledge

Habitually makes decisions and delivers a product which brings value to customers, internal and external. Solves business problems by writing code, and putting customers before code excellence. Pride in their code isn’t taken over what's best for the product. For example, they wouldn't argue to keep a nice technical solution they like when it's not addressing customer needs. | Requirements for Beginner, plus: • Determined to understand the reasons for decisions and how they support the business needs—asks the 'why?' questions. • Challenges others and impacts the delivery to serve their customer in the best possible way on the individual task level. • Able to adjust priorities, scope and quality to meet business goals and customer needs. • Knows their team's domain well enough to use that knowledge in daily work and decision making. | Requirements for Intermediate, plus: • Able to judge where a tradeoff of business needs and code quality lies and how to achieve both in the long run. • Able to explain the tradeoffs clearly and bring the team on the same page about them. • Uses domain knowledge to make decisions and challenges others. • Understands the impact of failures on the customer experience | Requirements for Advanced, plus: • Ensures projects are run in support of the business needs. • Makes strategic decisions that support the right tradeoff of effort, quality and business requirements and able to communicate such decisions to all stakeholders. • Is an expert in their team's business domain, having knowledge on a PM level • Recognises features where maintenance costs outweigh business benefit and advocates for sunsetting the features. | | Code quality

Habit and skill of delivering quality code to the internal and external customers. | Requirements for Beginner, plus: • Produces code taking into account most quality practices. • Can reason about and understand existing complex code. • Can choose and discuss decisions for tools and technologies on the level of the mission, e.g. third party libraries for the component. • Writes secure-by-design code without supervision, including input validation and data sanitation. | Requirements for Intermediate, plus: • Produces code following all quality practices. • Participates in defining best practices. • Can choose and discuss decisions for tools and technologies on the level of the tribe, e.g. JavaScript vs TypeScript. | Requirements for Advanced, plus: • Delivers solutions which can serve as examples to the whole company. • Can choose and argument decisions for tools and technologies on the level of the company initiatives. | | Code reviews

Habit of thorough, consistent and objective code reviews. Reviewing frequently and providing helpful feedback which allows people to develop better skills and our systems to be of higher quality. They don't perform superficial reviews for the sake of speed or number of performed reviews. | Requirements for Beginner, plus: • Able to identify code quality issues and suggesting improvements. • Communicates when the new code is too difficult to review (too big, unstructured, etc). • Provides direct, unbiased and kind feedback. • Notices when PRs are not being reviewed in a timely manner and communicates this | Requirements for Intermediate, plus: • Able to identify design and architectural issues, including scalability and performance. • Can review and identify code quality and design issues in previously unknown code. • Provides feedback to the author which promotes growth and confidence. | Requirements for Advanced, plus: • Fosters a culture of timely, quality code reviews in the tribe | | System design and architecture

Designs applications/features that are scalable and allows incremental development by minimizing the cost of possible future changes. Makes good tradeoffs between over-engineering and naive solutions. | Requirements for Beginner, plus: • Has a deep understanding of the architecture of some services/components/features in the tribe and is able to explain it to others • Can drive changes in tribe architecture and argument the reasons • Is capable of building an application/feature from scratch following the same architecture. | Requirements for Intermediate, plus: • Systems are designed to meet the performance needs of our most demanding customers. • Designs allow easy incremental development. • Capable of building an application from scratch using best-fit architecture. • Able to gain a deep understanding of the architecture of complex existing services. • Understands the effect of changes and failures in tribe services for Gratheon. | Requirements for Advanced, plus: • Able to discuss architecture on company-level, knows drawbacks and advantages of different approaches. • Has general knowledge of the architecture used by other tribes, including bounded contexts and how they interact with each other. • Guides team in the organization in anticipation of future use cases and helps them make design decisions that minimize the cost of future changes. • A go-to-person in the organization for solving complex architectural problems. | | Engineering Operations

Focuses on smoothness and stability of tribe services in the production and during the deployment. Monitors the quality of the service and improves it. Understands and improves Continuous Delivery practices. | Requirements for Beginner, plus: • Proven ability to take on-call either by performing it or by doing other related activities such as resolving incidents. • Understands our CI/CD pipeline and is able to explain it to a newcomer. • Works with and customizes team monitors and alerts. • Is aware of the operational data for their team’s services and uses it as a basis for suggesting stability and performance improvements. | Requirements for Intermediate, plus: • Actively addresses production incidents, facilitates in-tribe post-mortems and brings precautions to prevent similar problems in the future • Knows how to get to troubleshoot and gather logs/data required for resolving the incident. Is able to figure the root cause of the incident on their own and assess severity. • Able to investigate failed deployments and find solutions. • Continuously adds monitoring to tribe services, utilizing all tools available in the company. Creates new alerts. Is able to assess their severity. • Helps others with an understanding of the current system state (sets dashboards and makes sure they are understandable and visible) | Requirements for Advanced, plus: • Actively addresses production incidents not owned by their tribe and helps ascertain business impact. • Assesses module reliability, brings metrics and monitors to ensure test quality and coverage. • Customizes build pipeline to match tribe/company needs. • Participates on improving quality of services company-wide, writes customizations to the tools, evaluates tools we are not using etc. • Fosters a culture of observability on a company level and helps everyone use operational data to improve stability and performance of their services. | | Project management and prioritisation

Breaks down work into small pieces. Prioritizing work based on different, often competing, factors such as cost/effort, time, quality or business value. Uses appropriate tools to manage a project and visualize progress. Identifies blockers upfront and manages them. Makes sure a group of people effectively tackles projects of various size - splitting work between team members, delivering incrementally, collaborating when needed. Coming up with reasonable estimates. | Requirements for Beginner, plus: • Reviews epics critically and breaks them down so they are appropriately sized for continuous integration and incremental delivery. • Ensures tasks are prioritized correctly, and that dependencies are noted. • Closes tasks and bugs with negative ROI • Effectively leads up to 3 people on an epic making sure that value is delivered incrementally. Ability to share progress of the epic. • Effectively uses advanced features of our project management tools (creating epics, setting up boards, using filters, ...) | Requirements for Intermediate, plus: • Reviews projects scope critically and breaks them down so they are appropriately sized for continuous integration and incremental delivery. • Makes a mission-sized project well understood by the team. • Effectively manages a project when it comes to project management. Makes sure that people are working on what makes most sense, that engineers aren't blocked and that the progress is communicated well. • Ensures dependencies are noted and well understood by the team, at both the task and epic level. Works within their team to foster a culture of priority setting and urgency in alignment with organizational strategy. • Finds appropriate people to execute the project. • Involves all relevant parties when they need to be informed or to contribute. | Requirements for Advanced, plus: • Reviews organization-wide work critically and ensures it’s appropriately broken down and prioritized across the organization. • Identifies dependencies across the organization and works with individual teams to resolve them before they become an issue, and installs preventative measures to mitigate repeat occurrences. • Works across the organization to foster a culture of priority setting and urgency in alignment with organizational strategy. • Manages and organizes projects involving multiple missions. | | Facilitation

Effectively facilitatyes meetings and discussions. Organized meetings have structure, agenda and outcomes. Guides discussions toward decisions, clarifying and getting buy-in. Settles disputes without escalation - conflict resolution. Ability to use the correct meeting format for the job (brainstorming, workshop, ...). Ensuring no singular person dominates the conversation and encouraging everyone to speak up. Ensuring relevant parties are included in discussions. Connects people, for example PMs with engineers or other departments to foster good collaboration. Keeping high-quality professional relationships. | Requirements for Beginner, plus: • Successfully and effectively facilitates discussions within a project (mission or launchpad). • Able to resolve minor disputes without escalation. • Participates in interviews. | Requirements for Intermediate, plus: • Successfully and effectively facilitates team-wide discussions. • Is open to stepping in and helping with facilitation of discussion between teams or individuals. | Requirements for Advanced, plus: • Successfully and effectively facilitates discussions across teams. • Able to resolve conflicts in a dysfunctional team. | | Understands a strategy all the way from the company level to the project or task level. Knows "why" things are being done, and transfers that knowledge to others around them. Participates in or leads discussions where the "why" is decided and clarified. | Requirements for Beginner, plus: • Drives alignment on a project level. Discusses the goals with the project team and makes sure everyone understands the "why". • Recognizes when someone else needs to be involved to provide clarity (PM). | Requirements for Intermediate, plus: • Drives alignment on a team level. • Incorporates personal goals of team members together with the team goals, so that people are happy and business gets done (example: when one team member cares about code quality and other cares about velocity, the team goal should incorporate both as long as they are compatible).

Helps others grow and overcome obstacles. This is especially important in a self-managed organization. We will not have managers with mentoring responsibility, so this needs to be done by peers. Good mentors posses the following skills (among others): • Active listening • Questioning skills • Trust building • Goal determining and setting • Inspiring people • Encouraging others | Requirements for Beginner, plus: • Regularly supports their teammates in an open, respectful, flexible, empathetic manner (for example: helping with learning technical skills or overcoming technical challenges). • Grows their mentoring skills by actively looking for opportunities to support others. • Helps others grow in other than technical skills. Can help with wide variety of topics or suggest a different mentor. | Requirements for Intermediate, plus: • Uses some coaching techniques - coaches people by letting them find the answers and make decisions without direct influence or advice.

Analyzes different sources, using experience & knowledge. Makes decisions in order to move forward and not to be stuck for a long time. In addition to making a decision, also is the first one to act upon that decision. Example: Technical decisions when all options have pros and cons. | Requirements for Beginner, plus: • Able to make decisions when some information is incomplete or ambiguous when situation requires. • Looks at different options in high-pressure situations. • Handles risk, change, and uncertainty within their personal scope of work effectively. | Requirements for Intermediate, plus: • Able to make strategic decisions in ambiguous and challenging situations. • Effectively handles risk, change, and uncertainty within their team. | Requirements for Advanced, plus: