How To Pursue Development Goals Strategically (Part Two)

(This is a follow-on from the previous blog post – there, I explain why you should pursue development goals strategically. This blog post will focus specifically on the “how”).


Recently, I spoke to my friend about how they do personal development at their company:

“In my company, this is how we do personal development – at the beginning of each month, my manager and I set high-level personal development goals. Each week, I set smaller personal development goals, which build towards the high-level goals. At the end of each week, I score myself from one to three on each small goal and discuss this with my manager. At the end of each month, we do a proper review, where we analyse the progress I made towards the high-level goals. Then we repeat the process again.

If you’re not doing this, how do you know whether you’re developing or not?

I agree with my friend – this is the bar we should be aiming for when it comes to personal development.

  • You wouldn’t write product code without doing some thinking about design
  • You wouldn’t carry out testing for a project without doing some thinking about strategy
  • So why would you try and do “personal development” without doing some thinking about your approach?


This is the approach that I personally take:

Step one: At the beginning of each month, decide what your high-level goals are.

My high-level goals for Jan 2019 were the following:

  • Learn how to give effective feedback
  • Identify and implement changes to our Dev/ST process
  • Learn how to effectively review functional specs/designs from an ST perspective

Note – these goals are quite vague. That’s okay, because the weekly goals will be much more specific.

Step two: Before the beginning of each week, decide what your weekly goals are. These goal should be linked to the high-level goals.

Here are some examples of weekly goals that I used:

  • [Learn how to give effective feedback] For people X and Y, identify one specific area where they would improve their capability. Give feedback to them about this. Get an explicit example of them using the feedback and getting measurably improved performance as a result. Justify with examples to manager in status on Friday
  • [Identify and implement changes to our Dev/ST process] Have a meeting with the Segment Routing team and discuss some of the Dev/ST process changes you’d like to make and come to an agreement about what process changes you’ll use on this project.
  • [Learn how to effectively review functional specs/designs from an ST perspective] For the EVPN Multicast project, consider the estimates and testability implications of the project plan. Either give suggested changes to these estimates/testability plans, or else come up with independent justifications for why they are sensible. Justify to manager in status on Friday

Step Three: As part of my status with my manager every week, explicitly set some time to talk about how the weekly development goals went.

As an example, with the feedback goal, my feedback wasn’t quite having the desired effect. We discussed this, and identified two issues:

  • I wasn’t explaining the goal/mission/context clearly enough
  • I wasn’t being specific enough in the feedback (for example, saying something is “good” without explaining what specifically was “good” about the thing)

Step Four: At the end of each month, I have a longer check-in meeting with my manager (30 minutes), where we discuss how the high-level development goals have gone, and what the next set of things to work on is.

As an example, with the Jan 2019 goals, we agreed that I’d made good progress on learning how to effectively review functional specs/designs from an ST perspective. Giving effective feedback went less well and digging into it suggested that the wider mentoring skills were the limiting factor. This helped me to shape my Feb 2019 goals.


Some things to think about when setting goals (also see previous blog post):

For the person trying to develop themselves

Thing One: Personally developing yourself is your job. Nobody else is going to do it for you. Only you know what you actually want to achieve.

Thing Two: You can ask for help – and you can ask people who aren’t your manager, or even in your management line. A couple of examples:

  • I wanted to learn about how to build a team. Yanqing Cheng has done a lot of good thinking in this area, so I asked to chat to her for half an hour about it, which was really useful.
  • I wanted to learn how to teach contractors to do session-based testing effectively. Pete Whiting had done this for various projects he’s worked on, so I asked to chat to him for half an hour about it, which was also really useful.

Thing Three: For personal development to work, and for people to be able to help you, you must be honest with yourself:

  • Developing yourself is hard – are you willing to put the time and energy into doing it?
  • Developing yourself will be uncomfortable – are you willing to try new things, be vulnerable and sometimes fail?
  • Developing yourself requires commitment – are you willing to put in time every week for the next month? The next year? The next decade?

For the person coaching/mentoring others in personal development


  • Encourage people to think about what they actually want to achieve, and why
  • Challenge people to stretch themselves and push themselves outside their comfort zone (if they’re willing)
  • Explicitly give them the time to work on personal development (if Google Engineers can spend up to 20% of their time on personal development, we can find the time too)
  • Ask probing questions to understand their motivations and suggest other ways of doing things
  • Listen


  • Tell people what they should aim to develop – if it doesn’t come from them, it won’t work
  • Force people to push themselves outside their comfort zone if they’re not willing – it requires them to be bought into it
  • Sacrifice personal development time for the sake of achieving short-term project goals – otherwise you’ll be fire-fighting forever
  • Impose your way of doing things onto them – they’re different to you, so different things will work for them
  • Make evaluations or judgements without doing the active listening first

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s