Thoughts on Goals in Software Industry

I blogged previously on leadership.  I wanted to extend the topic a bit and talk about goal setting.

First of all, what is a goal?  Goal from dictionary perspective is a desired result that an organization or an individual sets to achieve.  They have a few properties that are important.  Goals need to be

  • Specific
  • Measurable
  • Attainable
  • Have due date

Why are these things important?  Because without them you either do not know what you goal is or you do not know when you achieved it. There are many examples in history where people make important decisions without a clear stated goal in mind.  This typically leads to undesirable results, which by definition is opposite to goal, right?  Let’s discuss each property in more details.  Goals must be specific so that you know what you want.  For example, goal stated as “I want to be better at programming” is so loose that you do not know what it means.  On the other hand, if you state that you want to learn the basic of F# you are a lot more specific.  However, even that goal is not clear enough.  You want to itemize your goals typically, to drill into enough details.  For example, sub-topic for learning F# goal would be

  • Buy a book and read it
  • Write 4 sample programs and 4 blog posts about your experience, covering topics such as working with data structures, types, files, etc.…

Now your goal is more clear.  Why do I have numbers in goal details?  These numbers make your goal measurable, hence you will know when you are done!  Goal such as “I want to speak Spanish like a native speaker with 40,000 words in my vocabulary” is a lofty one.  But is it realistic?  Not for me personally.  This is what I mean when I say goals need to be attainable.  Moreover, they should be attainable within reasonable period of time.  If this period is too large, break your goal apart.  Do you get a parallel with Agile principles now?   Finally, you have to have a timeline assigned to your goal.  If there is no timeline, you will likely slack off.  There is a few more important aspects that helps in goal setting and achieving.  Most people highly recommend that goals are set in writing.  Also, one should setup follow up meetings to discuss the progress.  In other words, you do not want to set a goal for 1 year, and not follow up until the due date.

I have worked in a number of business software producing companies that were quite big on goal settings.  These goals I believe need to start from the top.  Company as a whole should have goals.  These goals should be clearly expressed.  Why, you would ask?  Because it helps individual employees set their own goals and envision how they fit into overall company goals.  The same rules should apply to company goals. If you have loose ideas, you could call them vision or mission, and those things still have value for the company.  Goals would be the means of getting to your final vision. What can software company leaders do to assist in goal setting?  If you are at C level, you should be the one setting company goals based on vision.  On the other hand, career paths should be setup for all employees because they assists in setting goals for career growth within the company.  If a company does not do this, then those career paths will likely lead some people to careers in other companies. 

If you consider yourself a leader, start goal settings with yourself.  Setup personal goals as an employee.  This will give you’re a good exercise and will enable you to assist your coworkers.  You should also have a list of general things you want to be better at.  In other words, brainstorm some ideas.  Take a few minutes and write down everything that comes to mind.  It is easy to narrow down your goals.  You are always better off having too many ideas than not enough.  Once you have a reasonably long list of things you want to work on, prioritize the list.  Then pick top X things for the next year.  You do not want to the list to be too long because you want to have some life outside or work, right?  Work / life balance is important and it makes people happier.  Ideally, each person you are assisting to will do the same. What is a leader’s role in helping subordinates achieve their goals?

  • Provide necessary information, such as company goals and technical choices company is considering or working on, as well as product goals.
  • Provide resources, such as books, conferences, and financial assistance.  Also, allow people to take some time at work to study and work on goals.  Goals achieving should have a balance between company and personal time commitments.
  • Provide support in general.  Be a sounding board for ideas and help evaluate the progress.  Encourage people to do their best.
  • Schedule regular follow ups. 

As you can see, you need to meet with people to work on goals.  Start there.  Before you throw people into the semi-rigid world of goal setting, setup a meeting to learn more about them.  Find out what drives them.  The following questions might help.

  • What is the most interesting part of your job?
  • What is the least interesting?
  • How much time you spend at work learning?
  • How much personal time you spend learning?
  • What does ideal work day look like?
  • What do you feel company vision is?
  • How do you see yourself helping company achieve its goals and vision?

Once you know more about people, offer them a formal opportunity to work on goals.  I know that some people advocate making goal setting optional.  I am not one of them.  I feel that all people have opportunity to grow, and some may require a gentle push to do so.  I feel like making goal setting optional does some disservice to managers and employees alike.

I think this summary on my attitude toward goal setting is a good one.  One final comment.  All people change their mind and sometime do not work as hard.  Cut your co-workers some slack when this comes up.  Empathy is very important character trait in people in general and leaders in particular.  Remember that goals are not set in stone, you can change them if your priorities change.  You own your goals, not the other way around.  You just do not want to always change goals without achieving any of the previous ones.

Let me know what you think.

One Comment

Leave a Reply

Your email address will not be published. Required fields are marked *