software development practices for personal development

Often I happen to come with some pretty crazy ideas about anything in life. That’s me. Some of them may work, that’s why I adventure to share them with the world.

Working with computers, software in particular, for almost 12 years have brought interesting views regarding life. For the past 3 years I’ve progressively improved the human being am I, and also the improvement process. The other day I was heading to the uni and I’ve just noted that some practices of my profession can also be applied to my personal improvement. So, here I’m sharing some of them. Hope you find them useful.

  1. Spot your bugs and kill ’em. While it’s important to want to improve yourself. It’s more relevant to the fact of real improvement that you spot your personal “bugs”. This is a crucial part of it all. Once you are aware of you personal “bugs” you’ll be able to take action on them. So, when you do, just kill them and don’t let stink until you are not able to manage it at all and all your “code” taints and breaks.
  2. Let process run on the background. Life has a limitation, which is time. Time is a scarce resource. You must be aware of it, really. While we might want to do many different things life presents to us, is not really responsible to engage on all. However, we can hack this. Here technology is our ally. There are many different ways to be able to do some things in the background while on the foreground you focus on what really matters to you at the time.
  3. Outsource services that are not key for you. Delegation and distributed architecture come to mind. Professions and specialization are an evolution of humanity. Please take advantage of it. You don’t need to know or do  everything. Karen Sthepenson’s connectivism axiom is illustrative:  ‘I store my knowledge in my friends’.
  4. Focus on what matters. This is somehow like the unix tradition of doing one thing and doing it well. Identify what makes you unique, special and relevant on your ecosystem. What value you can offer to others, and work on that direction. Hard work pays.
  5. Release early and release often. Once you have spot bugs and managed to fix them, release a new version of yourself!. Tell the world by showing an improved version of yourself. Make this incremental and iterative, just like a software development framework. For instance I currently run a 3.1 version of myself. Just released a point version last week :)