Jan 172014

This post is a continuation of my previous post. I thought I’d elaborate on the foundation I have built thus far…

If you are like most engineers, you probably get a kick out of working with technology; taking things apart, seeing how they work and (hopefully) putting them back together again, in one piece.

Okay, the last bit was unnecessary…most of us engineers have never taken things apart as kids, or even if we have, we’ve always put things back together again, as good as new (I jest).

What I’m trying to articulate here is that it takes a very special type of person to be an engineer. You probably aren’t going to be an engineer if you aren’t cut out for it (the training years are laborious enough to dissuade anyone but the most highly motivated individuals).

In other words, it is in our nature to try and find out how things work. Why they do certain things and what the purpose of these “things” are. The world of the Systems Engineer (IT) is a little more daunting than that of the regular engineer (say electrical or mechanical). That is because we have to deal with both hardware and software and try and integrate a multitude of such systems, towards a certain goal.

The purpose of this post is to try and focus on that goal. As good Systems Engineers, we need to understand why we are doing what we are doing. And as a corollary thereof, we also need to understand what the implications of what we are doing are (how do we impact the bottom line).

In many organizations, where the business is not primarily IT, and the culture has not evolved yet to acknowledge IT as a partner (i.e. consider IT to be a cost center as opposed to a revenue generator), this can be hard to articulate. But there are steps that can be taken towards that end. Which is perhaps a topic for another post.

But to the task at hand — let’s look at “Why are we doing what we are doing”:

To be really able to understand the objective of anything, we need to understand the reasons behind it. Some could be super obvious, like why you are putting together an ERP system for your organization (or a Supply Chain Management component, for instance). The ERP system is the “life blood” of your business.

In some other cases, it might be harder to understand. For instance, you are putting together infrastructure for a data warehouse, it would be a very good idea you understand what kind of analytics the business wants to run on this system. In fact, a lot of very useful information will emerge once you start asking questions to understand the role of the system.

For e.g.

  • What kind of data are they analyzing
  • How many times do they want to run their calculations
  • Do they want to run queries against the system at regular intervals
  • or do they want to be able to run queries against the system at any time, giving their users access to a front-end reporting tool
  • What are the systems that feed data to this system
  • What are the systems that the data from this system get fed to (if any)
  • What type of model do they want to employ – data marts feeding the warehouse or warehouse feeding the data marts (i’m probably watering it down a lot – here is a good reference .)
  • What is the frequency of data load (is it batch or realtime)?

All these questions and host of others will start and it’s a good idea to not assume anything. When in doubt, ask questions. To repeat that old cliché – “There is no such thing as a dumb question”. Sometimes we are not responsible for designing these systems – it still is a good idea to ask those questions and learn.

Mature IT organizations will have high level design documents that cover the business processes supported by various components of IT and at a high level, how data flows between these components. If you don’t have access to this information, ask someone that does. If there is an Enterprise Architecture group in your organization, reach out to them (or do what I do, ask my manager to help me get that information).

If you haven’t tried to understand the “Big picture” before, you will be surprised as to how much a bunch of visio diagrams or power point presentations can tell you (I love pretty pictures – so go suck an egg, those who consider it below their dignity to suffer through powerpoint “death sessions”). Diagrams can tell us a lot more far more efficiently (a picture is worth a thousand words, as that old saying goes) than hundreds of paragraphs of text can.

Having presented that, I would like to bring focus back to strategic thinking now. According to me, it is both an art form as well as a type of particular ideology to adopt. That said, let me present some thoughts about things I consider absolutely paramount towards developing Strategic thinking:

  1. Learn the Big Picture
  2. Learn to separate things that are purely tactical from things that can be strategic (or can be addressed strategically)
  3. Identify engineers (whether in your group or peer groups) who can help you learn and improve your repertoire — develop a rapport with them. I’ve always found it helpful to identify who the “go-to” people were in any organization I’ve worked in. They can help in filling knowledge gaps and as partners to brain-storm with as the need arises.
  4. Always have the long term in mind (this calls for awareness of how technology is evolving – reading lots of material online helps, so does attending conferences and seminars) – may be, a starting point would be to map the medium term to the depreciation cycle of your organization. A long term could then be 2 depreciation cycles.
  5. Stay flexible and adaptive – don’t get locked into a particular technology or decision. Keep and open mind. Technology evolves rapidly (far more rapidly than a 3 or 5-year depreciation cycle, for instance). So, while we can’t expect to be at the cutting edge of technological development at all times, it is good to keep an eye on where the world is going to be, when we finally pull around that corner.
  6. Don’t ever accept a narrative that limits your domain (in other words – don’t let anyone else dictate what you can or cannot think of, wrt technology). Nothing is sacrosanct 🙂
  7. Get into the habit of collecting data
  8. Develop a set of tools that you can use to access data and analyze rapidly (a tool like splunk is very powerful and multi-faceted. Learn how to use it and simplify your life). Learning how to use SQL with a database (mysql maybe), how to use pivot tables in MS Excel perhaps. They are all valuable tools for data analysis.

NOTE: The list doesn’t necessarily need to be considered in the order presented above.


Jan 092014

Tactical vs Strategic thinking

Let me attempt to delineate the two, in context of IT and specifically Infrastructure (because without that, these are just buzz-words that are being tossed around).

Tactical – This calls for quick thinking, quick-fixing type of mentality — for e.g., when we need to fix things that are broken quickly, or how to avert an impending disaster just this one time – essentially bandaids, repairs, and so on.

Strategic – This calls for vision, of looking at the complete picture and devising multiple responses (each as a failsafe for another possibly) to address as many things as possible that might affect your infrastructure and operations.

If any of you are chess players, you will know what I mean. A good chess player will evaluate the board, think ahead 5-7 moves, factoring in the various moves/counter-moves possible and then take a step. That is strategic thinking. A tactical player will play the game a move at a time (or at best a couple of moves ahead). He might save his piece for that moment (i.e. avert immediate damage), but he will most likely set stage for defeat, if he is playing a strategic opponent.

Some of the readers might be thinking that this is all great for talking, but how does this translate to the role of a Systems Engineer/Administrator? Surely, managing IT infrastructure is not a game of chess?

To that, my response is – But it is!

We, by virtue of our trade have taken on a big responsibility. We provision, manage and service the infrastructure that our respective organizations depend on (and perhaps a huge part of the organization’s revenue stream depends on it). So, it is our job (as individuals as well as a collective within each organization) to be able to foresee potential pitfalls, constantly evaluate what we are doing well and what we aren’t (be it process related, or technology related) and devise plans to address any issues that might crop up.

In some organizations, the management team would like to consider the “strategic” activities to be their role. But the fact is, good managers will always take the counsel of their teams in order to make successful and strategic decisions. Autocracy is not very conducive to successful decision making. Now, while I’m no management guru, I have worked in this industry for close to two decades and my opinions are based on my observations (And I will be happy to stand and defend my informal thesis with any Management Guru that would like to discuss this with me).

Moreover, most individuals in the management space have outdated knowledge of technology. They more than likely aren’t experts in any of the fields that their team supports and even if they had been experts in the past, they likely rely on vendors and VARs to  fill their knowledge gap. Now, we all know how reliable VARs and vendors can be to provide unbiased knowledge that will help with sound decision making.

But if you ask me that is not a weakness, but a strength. Managers (with a few exceptions) who are too close to technology tend to get bogged down in the minutiae of things, because they usually only look at it from the outside (as supervisors and not technicians). A good manager will necessarily include his/her team (or at least a few key individuals from the team) in their decision making process.

  • A manager I’ve had great pleasure of working with would take his team out every year for a 2-3 day planning session at the beginning of the year.
  • He would provide guidance of what the organizational goals were for the fiscal year (and what the business strategies were)
  • and then the team would brainstorm on what we would need to do to address the various components of infrastructure that we managed.
  • We would return back to the office at the end of the session with maybe 120-150 items on the board, categorized as small projects, large projects or tactical initiatives, divvy them up between the team members based on skills and interests
  • We would then, together with our manager, align these projects and tactical initiatives with the organizational goals and try and show how they help us help the organization, or help make a business case for cost savings, or increased efficiencies, and so on.
  • These would not only help us design our annual goals and objectives into measurable items, but also help the manager showcase what his team was doing to his manager(s) (and so on, up the food chain).

Strategic thinking is an art, but it is also a philosophical inclination, if you ask me. If we always assess a situation from not just the short-term effects in perspective, but look at what the cause is; evaluate whether it is an aberration or due to some flaw in process or whatever the reason might be. We can then, over time internalize this type of thinking, so that we can quickly look into the future and see what the implications of an event may be, and thereby take corrective actions or devise solutions to address this.

While it might seem that one-off solutions, workarounds and break-fixes are tactical, it is possible to have a strategy around using tactical solutions too. When you orchestrate a series of rules around where tactical thinking is applicable, you are in essence setting the stage for an over-arching strategy towards some end.

This is precisely what good chess players do – they strategize, practice, practice, practice. Then they do some more. Until they can recognize patterns and identify “the shape of things to come” almost effortlessly.

We, as IT professionals need to be able to discern patterns that affect our professional lives. These are patterns that are process-oriented, social or technological.

We have tools to look at the technological aspect – collect massive amounts of logs, run it through a tool such as Splunk or something similar, that will let us visualize the patterns easily.

The other two are harder – the hardest being social. To be aware of things as they transpire around us, in general, to be aware.

If you are interested, check this book out – The Art of Learning, by a brilliant chess player – Josh Waitzkin (the book and subsequent movie made on his life titled “Searching for Bobby Fischer”). The book of course doesn’t have anything to do with IT or infrastructure (it is about learning, chess and Tai Chi). But the underlying principles of the book resonated deeply with me in my quest to try and articulate my particular and peculiar philosophy that drives both my personal as well as my professional life.

As intelligent beings, we have the innate ability to look at and recognize patterns. The great 16th century Japanese swordsman – Miyamoto Musashi wrote in his famous book titled “Go Rin No Sho – The Book of Five Rings”  about how Rhythms are pervasive in everything (and while his overt focus was on Swordsmanship, there was a generic message in there as well) and how a good swordsman needs to recognize these rhythms (the rhythm of the battle, the rhythm of his opponent, and so on).

So I leave you with a quote from the Go Rin No Sho –

There is rhythm in everything, however, the rhythm in strategy, in particular, cannot be mastered without a great deal of hard practice.

Among the rhythms readily noticeable in our lives are the exquisite rhythms in dancing and accomplished pipe or string playing. Timing and rhythm are also involved in the military arts, shooting bows and guns, and riding horses. In all skills and abilities there is timing.

There is also rhythm in the Void.

There is a rhythm in the whole life of the warrior, in his thriving and declining, in his harmony and discord. Similarly, there is a rhythm in the Way of the merchant, of becoming rich and of losing one’s fortune, in the rise and fall of capital. All things entail rising and falling rhythm. You must be able to discern this. In strategy there are various considerations. From the outset you must attune to your opponent, then you must learn to disconcert him. It is crucial to know the applicable rhythm and the inapplicable rhythm, and from among the large and small rhythms and the fast and slow rhythms find the relevant rhythm. You must see the rhythm of distance, and the rhythm of reversal. This is the main thing in strategy. It is especially important to understand the rhythms of reversal; otherwise your strategy will be unreliable.