When a Software Developer hears that their company is rolling out a new goal setting framework, it is usually met with a heavy sigh. Goals for a software development team may not always feel like they align with company OKRs. It often feels frustrating to be tracking work in an existing project management software and then also being expected to update another external system or spreadsheet.
Setting an Effective Goal
When creating a software engineering OKR, it is important to determine how it will serve an overall company objective. Some company OKR examples include:
- Reach $10M in New ARR
- Increase average deal size by 10%
- Reduce churn to achieve a retention rate of 97%
These goals may feel disconnected from Engineering when a developer first sees them, but Engineering deliverables are often imperative to the success of these objectives. Some OKR examples for software engineers that complement the company goals could be:
Deliver V2 of the Cool New Feature - This new deliverable has been requested by prospects and can help to reach the new business goals. It could also potentially be used as an upsell to help increase our average deal size.
Improve overall app stability - Some existing customers have been frustrated with slow load times and inconsistent behavior and have reported it as the reason they have churned. By focusing on infrastructure improvements, Engineering can have a substantial impact on churn rate.
Engineering leaders should explore other SaaS OKR Examples and determine what is right for the team and what best helps the business overall.
Breaking Down Your Goal
The team now has a new objective called “Improve overall app stability” that rolls-up to the “reduce churn” objective. How does an engineer now take that objective and act on it?
This is often where people get frustrated with goal setting frameworks. How do I convert the somewhat abstract concept of “increase stability” into actionable goals
First we need to determine what stability entails. Is it the number of bugs? Is it the request error rate? There isn’t one right answer to what “perfect” stability is. Instead, focus on what customers are saying. If the prevailing feedback has been “the app's load times are too long,” then let’s focus on solving that specific challenge.
“The app’s load times are too long” - As an engineer, it can hurt to see feedback like this (and it can hurt to write about it!). This is a vague issue and it can be tough to determine exactly where and when users are experiencing the problem. A smart thing to do in this scenario is establish a north star.
A good, actionable software developer goal example for tackling a load time issue would be: Reach 500ms response time for 95% of API requests. This can be broken down into short-term goals for software developers:
- Add caching to users service to avoid unnecessary queries
- Break apart massive group table request into smaller pieces
- Upgrade to next performance tier in cloud platform
These key goals are focused and easy for an engineer to digest and act upon. They have results, they have clear definitions, and they can be tied to a time window.
Goals for the Individual Contributor
As we shared earlier, it can be tough for any Engineering department to set team-wide goals that feel like they are tied to the company’s key initiatives and objectives. However, even more challenging can be how an individual contributor on an Engineering team sets their own OKRs that tie into team or company level objectives.
For some, becoming the best engineer possible means developing their technical skills. For others, who may want to take on a leadership or mentorship role, it is more important to develop their personal and communication skills.
To develop effective personal goals, it’s important to first define what an individual developer’s career goals are. Some software developer career goal examples are:
- Become a team leader
- Be a better mentor and communicator
- Take on greater technical tasks to grow as a developer
These are all admirable goals, but they aren’t easy to take direct action on. While they may help an engineer and manager better understand how to shape a developer’s career path, they don’t provide an easy way for the developer to take action. Instead, it is helpful to break these goals down into something more actionable. Some short-term goals for these software developers might be:
- Lead the development of an epic
- Provide mentorship during the upcoming intern program
- Take on an app service rework to improve performance
These goals are actionable and still work toward the same career goals outlined previously. Now a manager and engineer have clear goals they can work toward while still building on their overall career goals.
It is important to remember when working within a goal framework that objectives need to be clear and actionable. Setting engineering OKRs should not be a fruitless burden. Engineering OKRs should serve the business, have clear definitions, and have reasonably-sized, actionable goals.
OKRs Examples for Software Developers
So whether this is your first time rolling out OKRs across your company or you’re looking for ways to help set clear, consistent goals for your Engineering team, remember that it takes the right people, process, and tools to help any goal-setting framework succeed.
At Elate, we work with all different companies and teams on their goal-setting journey, and recognize that goal-setting frameworks aren’t a ‘one size fits all’ solution.
If you’re interested in learning more about how Elate is working with other high growth companies and Engineering teams, we’d love to connect. Feel free to reach out to our team and we’d be happy to schedule some time to share more!