Monday, October 27, 2014

DevOps is Necessary but not Sufficient

DevOps is Necessary but not Sufficient (my predictions for the future of DevOps)

I know I'm late posting this, but I did write it on the plane October 24. (I didn't watch any of Day 1 of DevOpsDays Ghent, so I, hopefully, am repeating what others have said) Here's a blog post brain dump after the awesome DevOps Enterprise Summit 2014 and thoughts leading into the DevOps 5 year anniversary in Ghent. After listening to so many Enterprise stories and having recently become "Enterprise" myself after my company was bought by IBM, some old thoughts are coming together.

Goldratt warned very much about local optimization and I see a progression of creating and "fixing" local optima. Agile came in to "fix" waterfall and created a local optimization in Dev that crushed Ops. DevOps came along to "fix" the problem by extending the scope of the fix to Product (the business) and Ops, now, in many companies this is sufficient; in the enterprise it is still a local omtimaztion. My rationale goes: A company that revolves around a fairly cohesive product (even if it is complex to implement) organizationally is tighter in its alignment to that product (Etsy is a fairly cohesive brand, product and organization). I think there may be some tie-in to Conway's law here. Once you scale beyond a certain size, an enterprise behaves like many small, coupled companies. New problems arise in managing those couplings at that scale/complexity.

Just as Agile has the Scaled Agile Framework to handle scale, many in the DevOps community are working on the DevOps Scaled framework. It's been mentioned before that the future of DevOps won't be called DevOps, so I respecfully submit the term Lean-Agile as the umbrella name. The reason I choose Lean-Agile and not just Lean is that "Lean" has some connotations in the enterprise because of Lean Six Sigma. I know Agile is a subset/implementation of Lean (and DevOps too, for that matter), but Agile has a very strong brand and a growing, strong, positive connotation in much of the industry. So, if I were to put some defintitions or distinctions, Agile means "Iterate all the things", DevOps means "Continuous all the things" and Lean is the foundation of Experimentation, Improvement and Respect needed to make it all work.

DevOps can move to an industry term that people can use for products and teams and "Lean-Agile" becomes the cultural and professional movement that can include sales, finance, marketing and all parts of the organization, not just those hands-on with the technology.

Tuesday, September 9, 2014

What College Degree for DevOps? -- The Feedback

A huge thank you to @lusis for retweeting my question and original post bringing in a ton of great responses from all over the DevOps community. This post will be updated as feedback comes in and as I start to draw conclusions.

A large part of this process is trying to figure out what is important and what isn't when choosing a major. Also, I'm purposely thinking in terms of how to get a job at DevOps-oriented companies versus classic organizations. I'm also trying to gather evidence that getting a job at a DevOps-oriented company really is different, and that certain traditional college routes may not be the best path.

One common theme from the Twitter feedback from today is that there are many paths to a good job. I have felt and seen this over my nearly 20 years in the tech industry. When your decisions are challenged by family, it's good to have some friends on your side.

@kevinbehr: "philosophy of science is my personal favorite right now. Followed by Cognitive Anthropology"
@puppetmasterd: "math or hard science"
@grubernaut:  "HS education, willingness, and work ethic. imho doesn’t really matter as long as it is a BS. CS, CINS, CINT, etc…"
@aphyr: "Judging by the engineers in our office, best calls are English, physics, archaeology, neuroscience, history, or philosophy. or math, psychology, biochem, CS, womens studies, etc. Any study, in school or out, that makes them write and think."
@ceejbot: "math, linguistics, physics, traditional EECS. Have also worked with great history majors. Very best were dropouts."
@sdboyer: "*write, think, and challenge"

From colleagues over email and in conversation at the office:

Get from college the things you can't get on your own: It's harder to just read a book and learn how to be a good programmer, but it's comparatively much easier to read a book  and learn how to configure a system or a switch. Especially if you understand the foundational principles.

Get from college the things that require some time and discipline to learn. You are paying money, get the most from the people who can coach you and encourage you through learning some difficult things.