Many people have come across the ThoughtWorks Tech Radar concept. It’s a great collection of the technologies, practices and tools that ThoughtWorks consultants recommend, and the stage they feel those technologies are at. We recently started putting one of these together at [Red Gate](http://dev.red-gate.com], as a way to guide learning and development, and a point of reference for technology choices when we spin up new projects. Even in its early days, it has already helped my team make some quick choices, and saved time on architecture validation, which has gone straight back into product value.
Why should you have a personal tech radar?
The corporate benefits of having a tech radar should be pretty clear, things like consistency, and communicating a central architectural vision are all good things. However, there is more we can do with a tool like this. Neal Ford, who created the original ThoughtWorks Radar advises creating your own personal techradar. This seems like a great way to track the many things I am constantly trying to learn and make use of.
However, I wanted to add my own spin to it, so I’ve amped up the means by which the original visualisation captures time and direction. What I want to show on mine is both where I am and where I want to be, so instead of each point having just a single location, the technologies are plotted as a vector. This does a good job of showing me where I am, and where I want to be. So for example, I’ve just taken up Clojure. I’m pretty much at Hello World, so I’m certainly not ready to adopt it for my next project, but at this point, I want to get to at least the stage where it’s a serious contender for the next data project I attack, so it’s got a vector starting in the investigate quadrant through to the validate quadrant. This helps we control my ‘learning in progress’.
I also want to be able to explore the way my own tech radar evolves over time, so I’m building in versioning based on a sparse timeline data structure, which will let me animate across time in the future and hopefully show me the way my learning has progressed.
What’s on mine?
Well, a bunch of stuff. Since it’s personal it’s much more focussed on learning. The quadrants are more focused on my purposes than software development in general: - languages - frameworks - tools - big data - statistics
The horizons also reflect learning: - discover - assess - learn - use
I also have another innovation on top of the original radar, the kill bucket. Technology can graduate from the use horizon to the kill bucket, when I feel like I am done with it, and have no real further use for keeping up to date with it. Flex might fit in there for example.
To see my current radar in its full glory, click here.
How did I build it
There are a number of libraries around which duplicate the ThoughtWorks visualisation. However, because of the new elements I’ve added to them, it was easiest to steal borrow some d3 based code, and adapt it for my own purposes. It’s very losely based on (https://github.com/vitorbaptista/techradar). My version is here on github.