A multi-year study on what really motivates people noted that day to day progress on tasks is the factor that drives positive mood and motivation. When people feel that they are making progress, they are upbeat and firing on all cylinders. Conversely, when they feel that they are spinning their wheels, their emotions and motivations are at their lowest.
These days, my working life involves a lot of policy work. The pace and rhythm of that work is a lot different from what I have have done earlier in my career; software development and technical management. To balance it out, I have made a conscious effort to keep my software development skills (semi-)current.
It has been an experience in contrasts.
Policy work is complex, and depending on its scope, can have a wide impact. It requires you to:
- Start from the outcomes that you want in the future, and work back to the actions you need to take now.
- Think a lot about the resulting consequences, and try to imagine what the future will be like if you are successful.
- Acknowledge that you cannot control the future and that there will always be unintended consequences.
- Try not to repeat mistakes or re-invent the wheel, which means that you need to put your ego on hold and seek the advice and the experience of folks who have gone before you.
- To be truly successful, engage people who have a variety of viewpoints (some of which may be completely contrary to your own), and listen to them.
- After careful deliberation... Act. Decisively.
- Step back, evaluate, and course correct as needed.
Different people approach action differently. I prefer not to put all my eggs in one basket, so tend to make a series of actions and changes all directed towards a common goal, rather than one big change. The point to note is that progress can often seem slow, especially when looked at from the outside, but hopefully it is more foundational and enduring.
The contrast to software development is interesting. I came up through the web development ranks (HTML, CGI, Perl, C++, Cold Fusion, ASP, C#, ASP.NET etc) but its been some time since I've written production code. I've been intentional about keeping up my development skills to be aware of current trends in mobile, social, web and cloud. My recent platform for doing so has been the complete re-architecting of my blog, which included:
- Teaching myself Ruby and Rails.
- Embracing a 'blogging like a hacker' philosophy by moving from Google's Blogger infrastructure to using Jekyll.
- Learning and implementing current approaches to mobile web development by incorporating Responsive Web Design into the blog UI to make it mobile friendly.
- Exploring and incorporating Open Graph support into the blog.
- Learning about cloud deployment and scaling by utilizing cache-control techniques and hosting my site on Amazon Web Services infrastructure.
- Learning and incorporating client side techniques such as jQuery based lazy image loading to minimize bandwidth usage.
Aside: A quick shout-out to my son, who helped with some excellent graphics and icon work.
What is different is that there an immediate feedback when doing software development. You work in quick, short iterations and expect concrete results within a short period of time. You also have a sense that if something goes wrong, it is easy to quickly fix and then move on. The pace and rhythm of the work are very different.
As I contrast these approaches, I keep wondering how much some of the disconnects and crossed-wires in the security and identity communities around the pace of progress is driven by the lack of understanding and visibility into what progress, and its impact, means to the variety of players in the eco-system.
Did you find this interesting? Don't miss any new posts. Sign up to automatically receive them now!
This blog post first appeared on Anil John | Blog (https://blog.aniljohn.com). The opinions expressed here are my own and do not represent my employer’s view in any way.