It’s been a while since I last had a chance to write. We’ve been busy at Nebulaworks - which is good and we are blessed as a new company to have the partners (both customers and technology providers) which we do. It has been a fun year and a half, and we are looking forward to the second half of 2015 and what is in store.
Over the past few months I have had a chance to do some deep thinking about the future of technology. Having the relationships which we do with technology vendors, we are introduced to companies and teams which are about to come out of stealth, or just having done so. There are some really interesting things happening around us, specifically in tooling to support microservices and distributed applications. If any of you thought we were done with Docker going to market, or Rocket for that matter, there is much more in store…it is just the tip of the iceberg!
But that is what is causing me to take pause and write this post. One thing that I am startled by is the extreme pace of innovation right now, especially with the projects and technologies which comprise the various platforms that we implement.
Here is one anecdotal story.
Last year around August, I was heading to a client meeting with my business partner. We were just coming off of a series of meetings around OpenStack, on to another prospective client which was evaluating OpenStack and CloudStack. Interesting. While on the drive, I had mentioned that we should start seriously evaluating Mesos and Kubernetes. To which he replied “Meh, Kube, what? What about OpenStack?” My reply “Yep, in addition to OpenStack.”
Fast forward to December, 2014. The news was abound of K8s (Kubernetes) and companies that were taking the tool and running with creating an easy to use distribution. And that has only grown in the first half of this year, along with all of the tools which make up these frameworks like service discovery, and all the platforms, networking, and configuration management. And we still have not mentioned the tooling to deliver applications (shippable, codeship) and languages. Truly amazing.
What I wonder and have been contemplating, is how not only individuals but also companies will have the time to spend learning about all of these tools, how they interoperate, and the value proposition either alone or together in solving technical challenges. We’re not talking about commercial software which is (kinda) well documented. These are largely open source software and projects that has documentation which is not a primary concern of the developers and contributors. So, not only is the software new but you are reading pull requests and issues on GitHub or BitBucket and spending massive amounts of time on IRC or Google groups to, at a minimum, get a working POC, or worse, figuring out why your implementation is failing. Yes, this works, but it may not be a good way to spend your time.
If this is the new norm and you have a day job which doesn’t allow time to tinker, how can you keep up? How do you stay educated? How do you get hands-on experience? Can you get ahead of the curve? We are fortunate to have the time to work with new tools and the experience of working with the varied needs of our clients implementing and integrating many technologies.
Exacerbating this challenge is that companies must move to a DevOps model. So if you are going to be a valuable member of your team, not only do you need to know your stuff inside/out, but also the cross-functional team’s tools.
What are your thoughts?