Technical debt applies to everything

I started my IT career as a software developer when I was sixteen years old. Back in 1981, Applesoft Basic was pretty cutting edge, and I learned everything by trial and lots and lots of error. In the end it did what it needed to do, and I got paid enough to buy a skateboard which made me deliriously happy. Fifty bucks in 1980s money was pretty good for a teenager, but in retrospect, I was horrendously ripped off, but I reckon the  company that paid for my  program probably got their Karma.

The code I wrote was horrible sloppy spaghetti code, like a pair of worn jeans that was more patchwork than pants. It wasn’t until much much later when I was nineteen and I had to maintain code that I inherited and increasingly wrote, that I learned about the benefits of what would later be called refactoring. Back then though I just called it “re-writing a pile of crap so it would work”.

About a year ago, I read about “Technical Debt”, in Martin Folwlers Blog Post

Technical Debt is a wonderful metaphor developed by Ward Cunningham to help us think about this problem. In this metaphor, doing things the quick and dirty way sets us up with a technical debt, which is similar to a financial debt. Like a financial debt, the technical debt incurs interest payments, which come in the form of the extra effort that we have to do in future development because of the quick and dirty design choice

That concept stuck in my head and rapidly became one of the lenses through which I viewed the world not long after I sold my house. Moving to the new place involved sorting through a decade of accumulated “stuff”.  As we began the packing process, we wanted  to make space for a cleaner, simpler life. Unfortunately the best laid plans of mice oft go astray, and by the time the moving truck came we’d run out of time. No more careful consideration of what “stuff” to keep and what to throw, it all went into boxes, washing baskets and the back of the people-mover we affectionately called the TARDIS.  In the end a lot of the mess we wanted to leave behind came with us.

After we’d set up in the new house, you’d be forgiven to think that we’d succeeded in ridding ourselves of the dross. The place looked fantastic, but there were two rooms and a self storage facility full of “things to sort through” that to this day, still remain a work in progress. Every time I went to look for something in one of those rooms I was reminded of those “interest payments in extra effort”. It didnt take long before the time sorting through the haystack of stuff looking for valuable needles outweighed  the time I saved when I moved, much to the annoyance of my beloved wife.

During one of those haystack dives, I  remembered feeling exactly the same way about a software rewrite I did back in my twenties. The user interface looked great, but we ran out of time, and I had to quickly port all the messy hidden subroutines that I knew would cause all kinds of grief later on, which they did. It took me another two years to find the opportunity to clean that code up, which I only did because I knew I’d be leaving, and I didnt want to foist that pile of spaghetti on anyone else.

Those two  experiences were so parallel and seemingly interconnected that I started looking to see if this  technical, or as I like to think of it now, organisational debt, was affecting me in other areas. It didnt take long before I found it in almost every aspect of my life.

  • Email
  • Local Filesystems and Cloud Drives
  • Task Lists
  • Calendar
  • Evernote and OneNote
  • Wardrobe
  • Workdesk
  • Mental Processes
  • etc

I can track this back to having some really bad time management practices throughout my 20’s and 30’s which led me to be constantly time poor. Since then family, career, mortgages and a series of short term decisions each  incurred additional organisational debt. It’s now so bad that it has seemingly made it almost impossible to pull myself out of this vicious cycle of short termism.  Yes I know there are great techniques like “Getting Things Done”, but I’ve had that book for about a year, and I’ve only read the first three chapters. I started to beat myself up about this until I realised that this wasn’t just a personal failure, it was endemic in almost every individual or company I came across.

It’s been a long time since I wrote code for a living,  so I can hardly call myself a developer, but I suspect that techniques like kanban and scrum we’ve evolved over the last decade to deal with technical debt  in software development can be applied at a much more personal level. I also suspect that applying financial models for managing debt both from a business and personal level will also help me make this transition, because the way I look at it, Benjamin franklins  “Time is Money” seems like it’s not just a warning about opportunity cost but also an opportunity in and of itself.

If  you’ve read this far and have applied things like personal kanban or other software or financial engineering techniques to solving your time management challenges that can shorten my path, I’d love to hear from you in the comments section.

If believe that if  I can solve this problem for myself and write about the process I can help others to do the same.

Thanks for you time.

John (Ricky) Martin.

 

 

 

Zero Point One Percent

Please give me something more interesting to talk about than zero.point.one.percent
Let me speak with a voice
let me say the truth
life is more important than zero point one percent

music
verse
merge, harmonise, let there be one song
let there be many songs
rejoice
or time will escape and leave nothing behind but echoes of what might have been
dance with every movement, fingers on keyboards, weaving through traffic, flowing, dancing, hoping, praying
life is disconcerting irrational, passionate, never ending
there is no finality,
no certainty,
dance, live, sing.

life is more important than zero point one percent , life cannot be divided by numbers, infinities can not be split, they remain whole coplete within themselves

Do not slice, do not weigh your heart against a further sadness.
Holiness in full measure cannot be exchanged for grey actuarial half life-shards discordantly listening to a background hum of incessant curiosity

listen without questioning, the world is crying out for you to notice

Evangelism – You have 15 minutes

During the final day session at Insight I was watching NetApp CTO Jay Kidd talk about the future. It was a great speech, but I had a lot of trouble connecting with it.

It started well, he talked about freedom, and how technology can be a liberating force, he pulled in a powerful analogy of the PC and talked about the freedom it gave to a new generation of computing.

After that though, my attention wandered during a story that compared the PC revolution to the cloud revolution. It was delivered well, but it took up the first 10 minutes on a comparison that I’ve heard many times before, The rest of his presentation was spot on, but by the time he got to the good stuff my jet lag kicked in my attention strayed and my engagement was lost.

I don’t think that’s Jay’s fault. Jay is a really smart guy and a really good presenter, but he had a 40 minute slot to fill, and that can be a major pitfall for an evangelist. With so much competition for audience attention, it’s important to concentrate on communicating one idea at a time, and to get that idea across with as much impact as you can. Unfortunately the more time you have to get your idea across the less impact it has.

If you think it will take more than 15 minutes to say what you need to say, then think again. Once you lose your audience to twitter or whatsapp, you won’t get them back, and even when you do pare it down, you need to give them a reason to keep listening to you in the first two minutes.

If you really have to fill up 40 minutes slot, get your point across early and then fill the rest in with narratives and other forms of social proof that support your case, or better yet get some involvement from the audience. Nobody except your mum wants to hear you monologue, they would rather have a conversation about their needs, and that’s a much better use of everyone’s time.

A mobile test

When I looked at Seth Godin’s blog, I noticed that most of his posts were done in under 250 words. That made me think that maybe he was using a mobile application, or at least that it made using a mobile editor viable. Looking at the rest of his output that seemed likely because otherwise blogging daily probably wouldn’t happen

So thought I’d give it a crack on my iPhone using the WordPress mobile app and the voice recognition feature in iOS.  Unfortunately it worked really well until it deleted half my text. It turns out that using emoji doesn’t work so well, lesson learned for next time.

Despite the mixed result I’m scratching this up as another win for the mobile revolution.

Good Intentions

This is a promise I’ve made to myself, that I would write something every day. There are lots of things on my mind, but I write this tonight (almost 2.00AM Las Vegas time), with a renewed sense of purpose. When I started crankbird with my from little things post, I didnt really have a good idea what it was going to look like, now however I think I know, and that’s a good thing, at least for me.

When I see someone with genuine talent, honed with discipline, fed by love for what they do, and yet they still seem to be standing in the shadows, playing the smaller part, I wonder how much I am and have been like them, and whether I, in leading them towards something more fulfilling, can find that fulfilment that I’ve been searching for myself.

Tom Mendoza said “Nothing great was ever achieved by someone who didnt want to do it”, now I have something I want to do, something that uses a strength I already possess, one that I love using, and makes people happy. Let’s see where this takes us.

What’s on my mind – 18th July 2014

  • Mesos as a generic private cloud option – what the heck happened to openstack or is this a harmonious coupling ?
  • Apache Spark – More compelling than hadoop in the SCM datacenter, and where does it fit into the in-memory database competetive landscape vs HANA, and imminent arrivals from MS and Oracle.
  • Also what impact will the SCM datacenter have for traditional DBMS as the go-to option for systems of record.
  • Scala v Python v Javascript v Ruby v PHP – What to learn, in what order, and why they’re important.
  • Conways Law – how is that reflected in NetApp’s portfolio compared to Opensource SDS and others.

OpenGeo Looks Cool

OpenGeo Suite is a complete web-based geospatial software stack. The applications contained are:

  • PostGIS – A spatially enabled object-relational database.
  • GeoServer – A software server for loading and sharing geospatial data.
  • GeoWebCache – A tile cache server that accelerates the serving of maps (built into GeoServer).
  • GeoExplorer – A web application for composing, styling, and publishing maps.
  • QGIS – A complete desktop application for working with geospatial data and maps.

Also included is the Boundless SDK, which allows you to create web map applications using code from the following libraries:

  • GeoExt – JavaScript framework for rich desktop-looking web applications
  • OpenLayers – JavaScript library for viewing and interacting with geospatial data in the browse

The above text was shamelessly copied from the opengeo website … Check it out here …

OpenGeo

From little things big things grow.

I’ve been meaning to pull this blog together for a long time, and a combination of events finally got me to take action. For those looking for my older work that was primarily focussed on Storage technology, that stuff can still be found at storagewithoutborders.wordpress.com . I gave up on that for a whole variety of reasons, most of which werent clear to me until now, some of which I’ll write about, some of which will remain private.

What I will say though, is that crankbird will be much much broader in scope, and will allow me to create, curate and promote content that I think is much more important than would have been possible with my old blog. I will still write things about data management because it’s been my profession for over a decade, and because I believe that being an expert in data management is a worthwhile profession.

I could have chosen to continue keeping seperate blogs, somwhere out there is a Life Without Borders which was a much more personal effort, but that didnt last, that too will stick around, but it was the seperation of my work from my life that was in part the reason why both blogs failed. I no longer believe that I can or indeed should seperate my  life into little segments, and this blog is a reflection of that belief.

I want this blog to mean something, at least to me, and that cant happen unless it has a much more complete context than was possibleif I continued to to use social media as I have in the past, so this is going to change, and that change will be reflected, and documented over time in this blog along with a whole bunch of other things I’ll learn along the way as I broaden my thinking from a technologist and engineer towards a content creator and editor (or something like that).

I dont know exactly what this will look like in the end, but I’m looking forward to documenting this part of the journey, and I would love any comments, criticism or help you’d care to give.

Sincerely

John (Ricky) Martin