With Christmas just past, and all the gifts opened and played with it’s time to get back to serious work here at NewsGator. With that in mind I want to talk about Legos. Well, not just that brand, but all building blocks. I have to admit that when I participated in White Elephant exchanges this year, every time I saw a building block toy I went after it with unashamed enthusiasm. I was, unfortunately, not able to win any of these prizes because everyone else loves Legos too, but they certainly caused me to reminisce about my experiences with building things and made me start speculating about why it’s so much fun to build complex systems, be they of thought, information, or physical objects.
It started when I was younger...
I remember asking for Legos for Christmas every year. Again, not that brand name in particular, but for building blocks of every type. I’m pretty sure that the year I hit the jackpot, it was with Brix Blox, the house brand of the then titan Sears. Two giant buckets of bricks, every conceivable shape and combination and all ready to be poured out on the red shag carpet and shaped into houses, space ships, and sky scrapers taller than I was. I was even allowed to leave particularly impressive examples of the brick builder’s art out on display for a few days as long as this one very important rule was followed: No loose bricks left on the floor.
One great thing about building with bricks is that you can build up something awesome in just a short time, and then look for the flaws and fix them (usually) without ripping the whole structure apart. I learned a lot about building stable structures by building unstable structures. One of my favorite discoveries was the setback roof. Brix Blox wasn’t big on the idea of large plates, and it seemed like cheating anyway. So to make a roof, you could use a single height double width brick and set back each course by one-half brick. If you start with a square, you’ve invented the pyramid.
If you try it with an “L”, “T” or “X” shape base, well, it’s just incredibly cool and probably why I’m addicted to Tetris to this day. Be warned, though, that to do this with a structure of any size you need a LOT of bricks and some patience and planning.
Building for Today
As a software engineer, everything I think about becomes a metaphor; it’s just a hazard of the trade. I still play with blocks and shapes and patterns, though today most of the time they’re made of 1s and 0s. We’ve cobbled together a system of development here at NewsGator that is different from anything that I’ve seen before, but it matches beautifully with the environment and pressures that we work under. From the very beginning of our adventure here, we’ve built software at an amazing pace to keep well ahead of the constantly moving social computing and information sharing landscape. Jenay Sellers, our Media Guru, just posted a great piece on this, and I couldn’t agree more. The market and the opportunities to use more natural communication channels just continue to grow and we want to continue to grow with it. Pondering this is where my thoughts tend to bifurcate, and this mirrors the approach we take to making complex systems work here at NewsGator.
On the one hand we build new software at an amazing pace. I’ve mentioned before that my development team are the smartest people I know, so it should come as no surprise that they are able to build new edifices out of the building blocks provided by the platform and technologies we are based on. Stunning new human-centric work can take shape over the course of days, and we get it into the hands of our customers as soon as we can to allow for collaborative refining of the model and polish of the ideas across a wide base of industries and cultures. While this process is going on, a second process continues beneath the surface; we are constantly finding places where the tools we use to rapidly prototype new features are just not able to take the strain of the load that a quarter million active users at an average sized customer provides. As we discover these areas, we can dedicate the time of the same people who built and maintained our massive online system of a few years back to guide us to truly enterprise ready architectures. Only then are we ready to put our creations out on display.
One more important metaphor about the step-back roof is that one half of the pegs on each course are exposed. Block makers later came out with slick bricks to cover these, but I always hated those. I love that you can attach bricks to these exposed pegs and just keep building up. Today, we build API end points to offer the same opportunity. Any customer who needs to build up from the top of our work have these APIs to hook onto. How cool is that?
And do you remember rule one? We do our best to pick up all the loose bricks out of the red shag carpet, but every once in a while someone (usually our QA department,) will find one with their bare feet. I can hear them hollering clear over here in the Developer Pit when that happens… Ah well, one of the risks of building, I suppose. We’ll just keep finding ever better solutions for that too. I really wish I had grabbed one of those Lego boxes, I really feel the urge to build something. Time to close the blogging software and open up Visual Studio!