This is a post to try and draw some of my thoughts together – so criticism welcomed and encouraged. I could be completely off base with what I’m about to write…y’all keep me honest! 🙂
In my new position at Inktank, I’ve started digging into learner analysis. For the non-edu peeps reading this, the way to make good training is to look at what the learners will do, what they already know, and where they will do the work BEFORE writing the training.
And I think I’m noticing something different here…maybe not (this is where I’d love input!). Inktank is a services and support organization that has the purpose of supporting Ceph, which is an open source storage project. Those of us who are in the data storage industry know that storage isn’t really about the disks, its about the software. And if it’s about software, why isn’t that software open source? Actually that’s what Ceph is, so there is open source storage software now!
This is where I’m starting to to see differences in the learners who may need to get up to speed on Ceph. Traditionally, software and storage training fell into pretty neat buckets: storage engineers, storage architects, storage developers. We would also have some systems admin courses for the people who maintained the systems connected to and dependent on the storage system. But we never really considered developers as a primary audience, and this killed us as APIs started opening up and programmers were required to take advantage of the new software capabilities.
Let’s review the IT silos. On the ops side we have storage people (we freak out about data being available), network people (they care about security and finding ways to get the packets there), and sysadmins (who have to pull it all together and get beat up on by the end users). Then we have the dev side – or the folks who write the code.
How did we get so silo’d? This O’Reilly article has some nice historical perspective. It talks about the old mainframe days, where if you coded (were in dev), you operated. Then our industry evolved to the client-server era, and we also separated the workers into developers, sysadmins for the servers and network admins for the networking. As things progressed we saw other specializations, such as storage professionals and database professionals.
And these silos came with all the trappings of organizational silos. Different methods and vocabulary for the doing the same thing. Misunderstandings of why certain procedures needed to be in place, even if it made things take a little longer. And oh yeah it was always the network’s fault. 😉
But now, things are coming back together. We are quickly coming to a place where we will be able to program the entire data center. We need the agility of the development side of the house in coordination with the discipline of the operations side. I think we’re at a time where everyone needs to stretch outside of the silos we’ve lived in for 25 years and learn to do some of the stuff that the guys on the other side do.
I think the challenge is going to be getting the folks in these silos to network together, and to teach each other what they know. I don’t think we need to start from scratch, we’re working with folks who have highly specialized skills. We need to figure out how to get them to share, how to get them to let go of that old silo’d way of thinking that “those dev guys don’t understand storage”, or “those storage guys can’t code”. These statements have never been true.
Harold Jarche had a great post recently on how trust is the emergent property of effective networks. This quote from that post is very applicable to what needs to happen to bring dev and ops together:
… trust is not a market transaction, it’s a human transaction. People don’t work by supply and demand, they work by karmic reciprocity. In markets, if I trust you, I’m a sucker and you take advantage of me. In relationships, if I trust you, you trust me, and we get along. We live up or down to others expectations of us.
We’ve been taught not to trust the network guys, let alone the dev guys. And they’ve been taught the same thing about us. Do we need to help people unlearn that before we can teach them what they need to know to do their jobs?
What do y’all think?