I have been thinking about how you could do better at teaching the craft of Systems Engineering – specifically around Web Operations. There are already some excellent books which I hope everyone reads, but many of those books lack meaning for someone without a lot of experience. They read the book, they understand what the book says, but they don’t necessarily understand the value of the information they are given. These books help experienced folks make better decisions, but for those without experience I’m not sure it does the same.
I lack wit, so I enjoy quotation. A frequently used quote which embodies my thoughts on this is “Good Judgement comes from experience, and experience comes from bad Judgement”.
A less used quote, which I think is a bit more optimistic is from Edward Gibbon – “The winds and waves are always on the side of the ablest navigators.”
That’s what this is really about isn’t it? Navigating an ever changing landscape of situations in the form of challenges that vary from technical to business to people to whatever. It’s all the little decisions you make each day that contribute to your success as an individual and the success of the company you are a part of.
I feel very strongly that the more broad your discipline & experience, the better you are able to navigate these daily decisions & make your company and your career more successful.
It has taken me 14 years of doing all kinds of different things to have the perspective I have today. Right or wrong, I usually have a lot of evidence for the decisions I make now. My path to where I am was a slow one – I took a lot of twists and turns and I know it could have been a more effective path to what I now know I want to be doing.
So how do we give crazy kids with crazy ideas coming fresh out of school the opportunity to gain the insight that more experienced systems engineers have, before they get so mired down with bad experiences that they are just as risk averse as the rest of us? How do we encourage them to experiment and challenge the status quo while still allowing them to grow and make better decisions?
I think the way we do this is to make it free, or virtually free, for them to be challenged. Today this job has gone way beyond knowing how to install Linux, mysql, apache, etc – infact that’s not even a very relevant skill anymore. The old advice of “setup a Linux box” just doesn’t do it. The learning comes from the challenges real businesses face in building and scaling their infrastructure, building documentation & process for continuous improvement, working closely with Development to make sure the teams are in sync.
So for those new folks the challenges have to be similarly real-world. Building a LAMP stack isn’t relevant anymore – building a multi-tiered web application architecture is more like it. Scaling those tiers & discovering and fixing bottlenecks. Dealing with fault tolerance & fault analysis. Creating documentation & performing post-mortems on events. Understanding how culture & discipline is critical to the success of a company.
These may sound like something some old guy with “Architect” in his title is supposed to do, but it doesn’t work that way. These things come from every person on an Ops & Dev team. As things are moving faster, the ability for one “Architect” to keep pace with the state of everything and make good decisions is diminishing and more and more that role is being held by groups of people making decisions. It’s a funny idea called collaboration.
So what’s my idea? Hopefully I’ll have something to show you soon. But in summary I want to give individuals access to the experiences that gave me good judgement today. Not just reading about them, because that’s not how I learn, but by getting hit in the stomach at 2am by them.
This isn’t the first or last time I’ll use this Tyson quote: “Everybody has plans, until they get hit”. My goal is to put the school of hard knocks online & open it for business. That’s my plan, lets see what happens when I get hit.
If you have thoughts on this topic, ideas, or think I’m a fool for trying – drop me a note about it or leave a comment.