Articles, podcasts and news about Swift development, by John Sundell.


Published on 27 Dec 2017

"Where do you see yourself in five years?" is a question most of us have been asked numerous times during job interviews and conversations with managers. I've always had a really hard time answering that question - in fact, for the longest time, I had a really hard time using goals in any shape or form.

As we (at the time of writing) are about to begin a brand new year, it's very common to start thinking about goals and what you want to achieve during the upcoming year. But setting good goals that both feel realistic and achievable, but also provide some form of motivation and challenge, can be really hard.

Like with my previous meta post about productivity, I don't claim to be any sort of expert on working with goals. Instead, what I want to do with this post is to share my experiences of learning to use goals in a way that helps me stay motivated, inspired & productive. Hopefully it can act as an inspiration as you might go about setting goals for yourself for 2018.

Let's go! 😀

Publicly personal

I set goals for myself. Not for my manager, not for my family or friends and not because someone told me I have to. In the past, I've often fallen into the trap of either setting goals I didn't really believe in or didn't find very exciting, simply because they sounded good. "I'm going to run 10k every week", "This is the year when I'll finally learn C++", or "From now on I'll always unit test all of my code".

None of the above goals are bad, but they weren't really for me. I made them to satisfy someone else, rather than being something I could use every day. Now, I only set goals that I'm genuinely excited about, and I don't constrain them to what I'm currently working with.

Take podcasting for example. One of my goals for 2017 was to at some point try out podcasting. That's how I phrased it - "try out". Not "I'm going to make 10+ podcast episodes" (even though that's what actually happened). This made the goal feel exciting, exploratory and lightweight. Starting a podcast might not seem like something that's in any way related to my work, but like with so many "tangential" things doing it has made me grow in so many unexpected ways and let me learn so many new things from both my fantastic guests and the listeners.

So keeping goals personal is super important for me, but at the same time I don't want to keep them only to myself. Sharing your goals with others and letting your friends and coworkers know what your plans are can be a great way to help keeping yourself motivated and make the goals feel more real.

In fact, months before starting my podcast, I started talking about it with friends and people I met at conferences. I told people about my goals & plans and got feedback on the concept I had in mind. Not only was that super valuable in terms of finding a concept for the show that both me and others were excited about, but it helped anchor my goal and made it feel like something that was actually going to happen.

Forming habits

A classic way of defining goals is to set up milestones. "Goals need to be measurable" is something that you often hear, which I always interpreted to mean that there needs to be a concrete value associated with each goal. "I'm going to write 10 blog posts next year", "I'm going to release 3 apps" or "I'm going to learn 5 new frameworks".

Again, nothing wrong with that kind of goals and if they work for you then more power to you, but for me - I've found that setting goals that are more about forming habits is key. I start with the habit I want to form - for example blogging, podcasting, unit testing, or designing more maintainable systems - and then I work my way backwards to a goal from there.

Another one of my 2017 goals was "Start writing weekly blog posts". This was definitely my most ambitious goal, since it required a continuous weekly commitment. Over the years, I've tried to start blogging many times. I've always been super excited about it, but have had a hard time getting into the routine of doing it regularly (I still have over 30 unfinished drafts). So my idea with this goal was to finally get into the habit of blogging, starting with a very short and simple post about error handling in Swift in February. I start small, and work my way onwards & upwards from there.

What I love about setting goals around forming habits is that it also becomes very easy to see your own progress and how you are developing new skills. Just compare my first post with this one. It's similar to how I love looking back at code I wrote six months or one year ago to find obvious areas of improvement. It just means that I've learnt a lot since then, which is always really motivating!

Achievable challenges

Striking a good balance between something that feels realistically achievable, but also challenging, can be really hard. I don't want my goals to be automatically achieved just by doing my work, but at the same time I don't want them to feel like huge mountains that will be painful & frustrating to climb.

My final goal for 2017 was to become an iOS freelancer. At the end of 2016 I left a top job as a lead iOS developer for Spotify to embark on new adventures. It was really scary, to leave the comfort and stability of a regular job at a highly regarded company to start working remotely for smaller clients & companies many people have never heard of.

But even though it was scary and felt challenging, it also felt achievable and realistic. I wasn't about to do something that no one has attempted before, and I knew I had a big community of people who I could learn from and share experiences with. I also found just the right company to start working with - Hyper - which provided me with a welcoming, open minded environment in which I could find a great way of working remotely (more on that in an upcoming post).

Good challenges are a little bit scary and a little bit hard, but also have the right starting conditions and the right environment to help you achieve them. I always try to surround myself with people that give me the knowledge and inspiration I need to achieve some of my more challenging goals - either through coworkers, open source, conferences or social media. By doing that I never feel like I'm fighting an uphill battle alone, but rather that I always have support whenever I need it.

North star

I still can't answer the question "where do you see yourself in five years?". Five years ago my life was completely different from what it is today, and I hope that in five years I'll be able to look back and say the same thing. I don't make goals and plans for five years into the future, because for me they rarely mean anything.

What I do instead is that I define a North star, a sort of vision of where I'm heading long term, that I continuously update as things in my life change. My current north star is all about being able to spend more and more time working on the things I really love - which is writing posts like this one, doing more podcasts and working more on open source. It's not a concrete goal, and it doesn't have a time limit, but it's an idea of where I want to go - which can help me form goals that take me in that direction.

When setting goals on a yearly basis, it's easy to start thinking of time as something that resets at midnight on the 31st of December. And while I think setting new goals every year is super valuable, it's important to not loose perspective on where you actually want to go and what makes you happy. Time is continuous, so I think long term goals need to be as well. Missed one of your 2017 goals? No worries - just revise it and pick it up again next year!


I hope this post has given you a bit of insight into how I work with goals and what they mean to me. Again, it's important to note that these kind of things are super individual, and there's no right or wrong answer. Just like with productivity, if you're looking for ways to improve the way you work with goals, try doing something new and measure the result (that can actually be a meta goal in of its own 😉).

What do you think? What are your preferred ways of working with goals, and what characteristics do you think a good goal should have? Let me know on Twitter @johnsundell. Feel free to also let me know if you have any specific topics you'd like me to write about in the future on this meta blog.

Thanks for reading and happy new year! 🚀