Author: Skyler Smith, iOS Developer
What it feels like for a Software Developer to participate in a goal-driven Career Development Program
In August, management announced that we’d be starting a Career Development program, complete with “360s,” “Retros,” and “OKRs.” As a software developer, I’m used to cryptic jargon and acronyms, but I wasn’t familiar with these ones. I thought that “retro” meant old-school (which it does), and I had never heard of “OKRs” before. But, as it turns out, “OKR” is just a fancy way of saying “goal” and the exercise was meant to clarify and define our professional Objectives and Key Results.
I’m familiar with goals. As uncomfortable as they can sometimes be, I recognize that setting good ones can yield significant increases in efficiency. My half-decade at university was, among other things, an extended exercise in goal setting and goal achieving. Also, two years of full-time volunteer work showed me the motivating and directing influence goals can have on individuals, and the unifying role they can play for teams. In my four years working with other software developers, however, I have observed that acceptance of goal-driven methodologies is not universal. Since the program can break down when employees reject the value of goal-setting in general, a Career Development program with OKRs (aka goal-setting) at its centre needs general buy-in to be truly effective.
The OKR-Driven Career Development Program
Before I get into what I think about the new OKR program, let me outline a few of its key steps, as they’re being implemented at FreshWorks:
Company executives define a set of qualitative, non-specific visions called Objectives. (e. g.“Encourage continued learning and development in the company”).
Executives distil those vague objectives into sets of specific and measurable goals called Key Results. (e.g. “By February 2021, form a team of 5–10 employees who regularly work together to explore new digital frontiers”). The Objectives and Key Results the executives set are referred to as the company-level OKRs.
Each of the company’s departments follows the same pattern to create its own OKRs. These are inspired by the company-level OKRs, and they are made with input from the entire department.
Each employee also sets his or her own OKRs. He or she does this with the guidance of another employee, who is usually (but not necessarily) a team leader. This other employee is referred to as a Mentor.
Every month, employees meet one-on-one with the mentors to give reports on their progress towards OKRs and to qualitatively discuss how they’re feeling at the workplace, both in the team and on their project. These monthly meetings are called Check-ins.
Every quarter, each employee completes two self-evaluation surveys and the mentor completes one. Then, the employee meets with the mentor to review that quarter’s results, specifically focusing on the employee’s success in achieving OKR goals. This quarterly Retro meeting is also an opportunity to set new OKRs.
Once a year, each employee receives an aggregate review, compiled from feedback from the employee’s peers and leaders. Then, the employee meets with the mentor to discuss the feedback in a meeting called a 360° Review.
My roles at FreshWorks include both leading the iOS team and mentoring 6 other employees. Consequently, my perspective is primarily as a Career Development mentor, and secondarily as a mentee. As a leader and mentor, I am especially interested in how this program helps me lead my team more effectively, and how it helps my team members build better products.
The program has only been running for a couple of months, but I’ve started forming some ideas about its benefits and challenges.
It Takes Time
Obviously, all the meetings, surveys, and goal-tracking take time. Looking at my logged timespans, I’ve tried to average how much time I spend on the Career Development program every week. The time spent is just over 3 hours weekly: managing career development meetings, 2 hours; filling out surveys and writing reviews,1 hour; organizing and arranging the various meetings, 15 min; and managing OKRs and tracking progress, 15–20 min.
To put it another way, that’s 7.5% of my weekly workload.
Setting Goals and Measuring What Matters is Hard
Setting goals is difficult and time-consuming. For the iOS department goals, we had to get 8 developers to agree on what our department’s priorities should be. That wasn’t easy, and the results weren’t perfect. Even trickier, though, was nailing down how we would measure our progress. This continues to be a work in progress, as we haven’t perfected measurements that both make sense to track as OKRs and also showcase a true reflection of our actual work progress.
Goal-Setting is Hard to Sell
Not everyone likes the goal-setting requirements of the program; some developers resist creating OKRs entirely, and buy-in is important if OKRs are to succeed.
Many people understandably don’t enjoy filling out mandatory self-evaluation surveys. The surveys we complete before our review meetings are supposed to be fuel for edifying discussions, but sometimes, as a mentor, I see responses similar to this:
Q: Rate your performance last quarter and provide details to support your answer.
A: 10/10. Wrote good code.
Software developers often pride themselves on their brevity, which might be the impetus behind such responses. Unfortunately, a survey filled out with vague answers such as this leaves practically nothing to discuss in our meeting, which makes discussing general progress in reviews difficult.
We Need Continuous Reinforcement
As a mentor, there’s a lot of pressure to continuously reinforce the process, and sometimes this means prodding for more in-depth survey responses or general OKR participation. Right now, management is reinforcing the process which helps keep it top of mind, but that takes work too.
It’s not all doom and gloom, however. Despite the difficulty surrounding some aspects of our OKR-Driven Career Development program, it also offers a notable set of benefits and rewards that have huge upside.
Learning is Happening Faster
For example: before the Career Development program started, I had a vague idea of the next steps I should be taking to advance my skills as an iOS developer, but I wasn’t exactly sure where to start.
Since this new program requires me to create realistic and measurable goals, I have had to do some research and decide what specific actions I’d take next, and when. As a personal challenge to myself, I decided I want to get better at architecting my apps, so I thought it would be useful to study more architectures. I had to come up with a very specific way to measure that, so I set a series of measurable milestones that I thought would help me on my way. They included (along with several other steps) creating a UML diagram of my chosen architecture, coding up a simple prototype using it, and teaching its principles to the rest of the iOS team.
Having the goals set helped me to direct my efforts, and in less than two months I’ve progressed from never having heard of a particular architecture before to having created two apps with it as well as leading two successful training sessions on the topic.
And I’m not the only one learning faster. The entire iOS team is actually making progress on things like writing test cases and learning new architectures. Our progress depends entirely on the commitment of the team members, but the consistent follow-up on goals (in monthly meetings) helps us to be more proactive. Employees are usually averse to repeatedly admitting failure on their own goals, so the system pushes people to do what they say they’ll do.
Learning is Management-Supported
It’s obviously desirable for employees to enhance their skills, but sometimes, even though company leaders encourage the development of new skills, they don’t necessarily support it. The Career Development program, however, has given me and the team an opportunity to request support in areas of study that will help each of us excel. Learning new skills often temporarily reduces the amount of work we can do, but when company leaders are supportive and aware, everyone is able to plan together about how to make the required adjustments to workload.
There’s Way More Communication So Changes Can Happen Faster
In a recent monthly OKR Check-in, my mentor (the CEO) asked me to keep abreast of the newest and coolest apps in the App Store. His goal was to improve communication between the development and sales teams so that the salespeople can have a better idea of what we can build and what experiences we can create. To speed up the process, my mentor and I set a series of goals to track my progress on transmitting information to the sales team.
An extra bonus: the OKR program provided the CEO with an opportunity to seek changes to the company process, and it provided me with a way to participate in those changes, making me feel more connected to my work within the company because I feel like I’m participating in the growth of the company itself.
The goal-driven approach of our Career Development program works well for me and I’m seeing the benefits when the methodology is followed and reinforced. I’m learning faster, I’m more supported, and I’m more involved in the company’s communication processes. That being said, it takes a significant portion of my time every week. In addition, some employees aren’t committed to the process, which means some of that time is wasted. At this early stage of the program, it’s difficult to say if it will succeed. Its success will depend on constant reinforcement and revitalization, especially in the next few months. But I’m feeling generally positive about its net benefits, especially as it makes me feel more connected to my team and the company itself.
About the Author
Skyler Smith is the lead iOS developer at FreshWorks Studio, working with other experts to design and develop elegant and highly functional mobile, web, and blockchain apps.