Give your simulator superpowers

RocketSim: An Essential Developer Tool
as recommended by Apple

Engineering goals: How to become a more successful developer

Engineering goals create focus and help you achieve the milestones of becoming a successful developer. You’ll know better what you’ve accomplished in the past months, and make sure that you work on projects with the highest impact.

Over the past years, goals helped me successfully release new versions of RocketSim and Stock Analyzer. While I had plenty of other ideas to work on, I decided to stick with these two apps and make them succeed. Using these 10 tips to make my side projects more successful, I’ve grown my Monthly Recurring Revenue from $80 to $1192 in just eight months. Let’s go over the process of making goals so you can set the direction to become a more successful developer.

Defining your Engineering Objectives

Creating Engineering Goals starts by defining higher-level objectives. I like to work with Objectives and Key Results, also known as OKRs. They allow me to set challenging, ambitious goals with measurable results.

Defining your goals starts with the question: What do you want to achieve? Or you may want to focus on this year’s goals only: What do you want to accomplish in 2023? The answer to that question will be the foundation of your Engineering Objectives. It could be that you want to start your blog (which will succeed with these tips), or maybe you want to use these tips to become a better Swift articles writer.

These are my current objectives to give you an idea:

  • Build up presence in the community
  • Become a Senior Staff Engineer
  • Make my Side Projects more successful

These engineering goals clearly state what I want to achieve, but they don’t have any measurable definition. That’s where Key Results come into place.

Stay updated with the latest in Swift & SwiftUI

Join 20,010 Swift developers in our exclusive newsletter for the latest insights, tips, and updates. Don't miss out – join today!

You can always unsubscribe, no hard feelings.

Create Key Results for each Objective

Each defined objective will be supported by one or more Key Results that help you achieve your engineering goal. Key Results (KR) create a benchmark of where you are at the start and allow us to monitor progress over time. Well-defined KRs are time-bound, specific, and realistically stretchy. The latter will be explained in more detail later on.

Create measurable Engineering Key Results

Each Key Result should be measurable, meaning they specify a numeric target and are time-bound.

I defined the following Key Results for my engineering goal “Build up presence in the community”:

  • Increase SwiftLee Weekly newsletter subscribers by 2000
  • Engage in 5 community events
  • Increase Twitter followers by 4000

Each KR clearly defines a target number. Currently, I’m using Perdoo to keep track of my goals, in which I can set the start and end values for each KR.

For example, my current Twitter follower count is 37.292, so my end target will be 41.292. The above definitions don’t mention any time-bound restrictions because I narrow the scope to quarters.

Narrow down the scope to quarters

Predicting the year ahead is already hard enough, and it’s likely that you will switch gears throughout the year. Therefore, it’s not realistic to set yourself specific goals for a whole year. Instead, we defined Engineering Goals that are a little less specific. The Key Results, however, will be specific and should be scoped down to quarters at a minimum.

By narrowing the scope to a shorter timespan, you’ll be able to predict your capabilities better. On top of that, you’ll revisit your Key Results every quarter, allowing you to stretch further and optimize targets. Note that I’m suggesting quarters here, but it’s also perfectly fine to set goals for a month ahead. The main point here is that you can predict your time better.

Stretch yourself

If I learned one thing, it must be that it’s not about reaching 100%. If you’ve managed to hit your target, you didn’t make it stretchy enough.

For example, say I’ve put my Twitter followers target to grow to 1000 instead of 4000. I might be able to reach that goal in the first month already, so I’ll decide to slow down since I reached my target. Instead of spending another two months on optimizations, I’ll stop making progress.

Instead, I looked at my average monthly following growth. I gained 918 new followers in December, so it’s realistic to say I’ll be able to grow my followers by 2754 in one quarter. Yet, I want to make my goal stretchy, so I made my target 4000. If I keep doing what I already did, I’ll likely reach 70% of my target. However, I’m now challenged to optimize to try and get 90% at least further!

Keep yourself accountable

Defining engineering goals means nothing if you don’t keep yourself accountable.

Check-in regularly

Make sure you check in regularly to keep your goals in mind. I’m keeping track of progress every other week to ensure I retain focus on the right initiatives. By keeping track of progress regularly, you’ll also allow yourself to indicate left-behind goals. You can switch gears and put extra energy into the engineer goals that currently lack progress.

Meet with like-minded friends

Meeting with like-minded friends is a great way to motivate yourself. My Personal Trainer asks me about my progress every week. I’m extra motivated since I don’t want to disappoint him, instead, I actually want to impress him!

Make sure to find a few like-minded friends and try to challenge them to set goals. You can keep them accountable, and in return, they’ll keep you accountable. Secondly, you’ll be motivated to make progress if you see your friends develop. I’m in an iMessage group with three friends that constantly release new updates to their Indie apps. It has been one of my biggest motivators in the past months.

Celebrate your Engineering Achievements

After defining Engineering Objectives and Key Results, you’ll be able to measure progress and celebrate success. Meet your like-minded friends at the end of the quarter to reflect on and celebrate your success. The celebration will give you renewed energy to do even better in the coming quarters, making you an even more successful engineer. As an example, I’m celebrating the growth in Monthly Recurring Revenue that I achieved in 2022:

Engineering Goal Example: Growing Monthly Recurring Revenue of my Side Projects
Engineering Goal Example: Growing Monthly Recurring Revenue of my Side Projects

My Goals for 2023

Of course, I defined my goals for 2023, and I’d love for you to keep me accountable. Therefore, I shared them on Twitter here. Make sure to reply in that thread and share your goals, so I can keep you accountable!

Conclusion

Engineering Goals help you to become a more successful engineer. Goals must be stretchy, time-bound, and challenging to help you grow and achieve new milestones. Like-minded friends will help you stay motivated and challenge you to make more significant steps.

If you like to prepare and optimize, even more, check out the optimization category page. Feel free to contact me or tweet me on Twitter if you have any additional tips or feedback.

Thanks!

 
Antoine van der Lee

Written by

Antoine van der Lee

iOS Developer since 2010, former Staff iOS Engineer at WeTransfer and currently full-time Indie Developer & Founder at SwiftLee. Writing a new blog post every week related to Swift, iOS and Xcode. Regular speaker and workshop host.

Are you ready to

Turn your side projects into independence?

Learn my proven steps to transform your passion into profit.