Overview – Developer Training for OpenStack
All us bearded (and virtually bearded) OpenStack hippies are at it again, trying to change the world through training and enablement, and a little bit of code. In this current experiment we are biting of a big chunk and creating something very similar to the Amazon Architect Course.
The goal for this course (Building on the work done in OpenStack Training for the Associate and Operators Course – http://docs.openstack.org/training-guides/content/ ) is to have a developer armed with understanding and experience building applications on the core components of OpenStack.
User Archetype – Web Application Developer, current or future developer of Apps to be run on Amazon Web Services (AWS).
Method – Step by step lab learning taking student developer through structured app dev example
Goal – Developer will be able to build applications that interact with key services
Git, Gerrit, Jenkins, Config Mgmt – Puppet (pre-canned within Glance Image)
Glance (Deploy instance image from – Puppet )
Nova (instance deployed too)
Swift (Display Image in web app from, set meta-information about)
Keystone – User with authenticate into web app into Keystone API
Future Goal – Advanced Topics for super star dev – Thoughts Captured Here,
Telemetry – Pull performance information and display it in webapp
Heat – Create set of templates for supporting services
Trove – Pull content from DBaaS, Need to push content in
Marconi (queueing) – Pass information between app instances using marconi message bus
Integrated EDP portal page into web page
Pull user information from Trove / MySQL, push through pre-canned mapreduce file, output in Swift
Docs – Create user documentation linked from web app using Docbooks pipeline
Git Repo + Sub Folders
Specific Files (day 2-4 of course)
Why I do this crazy stuff
I’m a core review on OpenStack docs, and co-founder of OpenStack training. My hippy streak runs strong, and I believe that by lowering barriers to adoption of platforms we will continue to get more Operators involved. Teaching developers to consume OpenStack is as important as teaching engineers to Operate and Install it. While this burns many nights and weekends, I absolutely love being a small part of this amazing community. And every once and a while what I do makes a difference. That is an epic win.
I believe that the shift to programatic control of infrastructure, led by shifts in the tools, process’s and methodologies used in modern application development will shrink the available job pool for classic engineering skill-sets.
I believe that a prudent course of action for any engineer looking to gain the CCIE value proposition, or any one who current benefits from their number to diversify (and) enhance their current skills by learning software development skills. My views on this are completely transparent and open. This unfortunately triggers emotional reactions in people who invested huge amounts of time, money and focus on getting to the top tier of their career (The CCIE).
In the future, the CCIE may evolve to take into account programmatic skills. This may or may not happen on an unknown timeline. I am not sure that even the evolution of the CCIE track alone will be sufficient to support the current salary premium in the marketplace.
Certification Industry Influence
For many years there has been an entire industry selling candidates on the idea of a job for life, of the golden ticket, your CCIE number. This is a good business for the Cert industry, and also can be very good for the candidate as it allows them to grow their salary (value) immensely in a very short period of time.
What people fail to do however, is fully understand why their cert, or skill has value. They only look at the current state of the market. Value of a certification is derived from a simple supply / demand relationship of certified individuals / available work. When there is more work to do, than people to do it salaries rise. When there are more people than work, then salaries fall. It actually is as simple as that (there are other external factors that contribute to CCIE salaries such as vendor programs, however they aren’t as significant as the supply/demand discussion here).
Simple Rules for a Career in Tech
Can you have a successful career in technology? Yes you can, there are some simple concepts to follow.
I have taken these topics from a book we used to give people before they got re-organized, or laid off years ago (2004 I think) at a previous global enterprise service provider with thousands of employees. That company got caught in the bind of change, the employees paid the price. This book was given to the ones that got saved from the chopping block to help them see that change is inevitable, and that given the right attitude and perspective it can be the best thing ever.
Free Resources so you can read the very short book “Who Moved My Cheese”
Who Moved My Cheese PDF - A great book (Short and downloadable) on the mental challenges of dealing with change.
Who moved my Cheese Audio Book on Youtube - If you live on the road, play it on your cell phone
1. Change happens
The only constant in our industry is change. I’ve been in this industry for 17 years now. Rates of change ebb and flow. Over the past 10 years much of our industry has been in a steady state. While change (innovation) constantly occurs, it stays within the same skill dimensions that define our “Value”.
In my opinion, this steady state was brought on unnaturally by the mass implementation of market management strategies popularized by Geoff Moore (crossing the chasm). The implementation of a common strategy has provided the illusion of safety in the IT Ops / Engineering job roles over the past 10-15 years.
And now for a scary truth. Times are changing. The mass adoption of market stabilization strategies that resulted many people flocking to certifications and specialization as a method of fast tracking their careers is being shifted to a mode where innovation and change is the norm.
Specifically, there are many people who have been enjoying immense value from investments long long agon. Those that believe that the luxury of steady state technology will last risk experiencing the result of what happens when an industry evolves, but they don’t.
2. Anticipate Change
There is a huge mental leap that a person has to go through to succeed in a tech shift. You have to go from assuming that your value of today will always be your value, to identifying your ability to adapt, move and learn as your only persistent value.
When you identify mobility and ability to grow as a value, you start a very productive habit – Constantly evaluating whatever is making you money, your CCIE, EMCTA, VCDX, etc is still viable. And part of that is clearly understanding why it gives you value, and what may change that equation. This method allows you to anticipate changes before they occur.
3. Monitor Change
Once you have decomposed the value of your Certification, Job or Skill into WHY it is valuable (why do people pay you for it). Then you have a clear “non marketing” view of what challenges that value.
In some cases lowering barriers to entry for a specific skill or cert increase the hiring pool. This increased hiring pool can hit an inflection point where the number of people with that skill or cert changes from being less then the available job pool (less people and more jobs = higher pay) to the inverse, where there are more people then jobs (this causes pay to drop).
Many things can drive this very simple ratio (supply and demand) The one example is increasing competition for a fixed number of jobs. This happened to the MCSE years ago. Early on, these were the CCIE’s of the time. However because of easy access to software to learn on, the value of a person with an MCSE dropped.
Another example of the Supply/Demand ratio changing is when a technology shift lowers the need for skilled workers in a segment.
I personally have seen this countless times in our industry. Manufacturers, and certified individuals are sitting high on the horse, printing money and then very quickly a tipping point happens and entire segments are wiped out.
In technology, the mainframe operator was one example. In the past this was the pinnacle of IT Ops. A friends wife worked as one at Chevron years ago. She was on a team of 60 operators, the ninja’s of IT. Within 12 months she was the only one left. Change happened, and most on the team didn’t believe until it was too late.
Other examples in more recent history is the Novel Administrator. There was a time, not so long ago where the Master CNE was the CCIE of the time. There were huge salaries granted to “certified” individuals to run this IT infrastructure.
What happened? A little company up in Redmond decided to rip off Novell Directory Service(NDS) and package it with some workgroup file sharing and messaging/calendar services. Within 36 months of Microsoft releasing Active Directory the market for Novell Master CNE’s had completely dried up.
Many were left behind, but the best Microsoft Architects I know are former Master CNE’s. They clearly understood that their current value was not their future value. Instead of being afraid of Microsoft, they learned about it, and when the time was right they leveraged this new knowledge and expertise to define their NEW value.
4. Adapt to change quickly
At some point, while monitoring for changes in their ability to earn money, these individuals saw the market, tech, whatever hit a tipping point.
Once at that point, their focus switched from monitoring the rate of change in their current skill set, to prepping to flip to the new cheese, the new cert, the new skill that will provide for them and their families for the next couple years.
Did they focus on why the old cert or skill was decreasing in value? Did they cry and argue about it? No, they understood that change is a constant in our industry. They understood that the only way to ensure success and survival is constant forward motion. They understood that the key to success is change.
Once you have mentally shifted from static to dynamic, from enjoying the rewards of work, to knowing that there is much more work, but huge benefits ahead you have to enact change.
One interesting fact about change. The first people to change are known as leaders in the industry. The value of those certs, skills, etc are very high once you “cross the chasm” of about 10% market adoption. Living and working in the first part of the adoption curve is a great way to earn a living. The only catch is you have to be in a constant state of flux. Your value at that point is the ability to identify for, and exploit change for your benefit. (vs change destroying your value in static modes)
6. Enjoy the Change
Change is great, we are all in this industry for many different reasons. I myself entered the technology industry by pure chance 17 years ago. I have had many different certs, skills and roles over those years. Luckily, early on I found that I gained great satisfaction in learning new things. I also found that people will give you money when you know something new. This has led to a habit throughout my career, of always looking for something new and transformational. And to take joy in that transformation. The joy of learning and sharing is immense. It fuels the soul. It also doesn’t hurt that you can make quite a good living out of it.
Once you learn to enjoy the act of change, you will find that your perspective during tech transitions changes from fear, to wonder. That this world and industry is an amazing place.
7. Be ready to change quickly and enjoy it again
One thing to remember however is – You must always be ready to change quickly and enjoy it again. This is not the first, nor will it be the last change that happens. Change is a constant in this industry embrace it, love it, live it.
My perspective – Starting poor
In the book who moved my cheese, they call out two groups. Mice who instinctually are always looking for new cheese, and lilliputians who believe that the room their cheese is in will always exist.
I am the mouse who is always looking for food. I grew up in a smaller town, my Dad left my Mom and I when I was 2. My Mom worked at a rug factory, and then got a job as a secretary typing reports, and then moved up to the front desk at the local police department.
I never understood that concept of a job for life, or always having things that other people had. In my world work in any way possible was a reality to get anything that I wanted(or felt I needed). I did a range of odd jobs as a kid to get money, wash cars, mow lawns, wax airplanes, clear debris, wait tables, cold call for surveys. This combined with some really awesome people (who didn’t have to be so awesome, they choose to be that awesome) gave me the same opportunity to succeed that most people around me enjoyed as a privilege of being born into a stable family.
Learning Technology Changed My Life
As a young adult (18), I was two weeks from being homeless, living off cold 25 cent hamburgers from McDonalds and Top Ramen when I got my first job in tech. I was literally walking up to apply at Taco Bell when I ran into an old friend that gave me a chance to start on the midnight shift building PC’s.
I took the the opportunity that was given to me, and learned everything I could from that job. I learned Windows, FreeBSD, SCO, Linux, Routing/Switching, Wireless Backhaul, Key Systems(Phones), Novell, VoiceMail Systems all in a two year period. Within six months I had been promoted from the midnight shift to the day shift doing more advanced support. Six months later I got busted hacking the sales floor PC’s to make them pop up stupid messages and instead of getting fired, I got promoted to running the ISP side (DKAonline).
Since that moment I have spent at least 1 hour a day for the past 17 years learning something new. I will never go back to being poor and hungry. I know that the great life that my family and I have is dependent on skills and industry constructs that are transient. The only way I can guarantee my ability to provide is to be able to constantly change.
How this affects you
Today, there are major shifts going on. Network Engineering to Network Development(SDN), Enterprise Virtualization to cloud platforms, etc etc. Development organizations are changing how they operate, IT organizations are feeling more and more pressure every day.
I fully believe that the progression of technology will affect the hiring pool. I believe that the value that the CCIE currently holds will be replaced by the concept of “Network Developer”. As I have gained more and more experience with using Software Dev Tools to do the job that my fingers and brain used do do in the past I am left with one single clear concept -
The only thing that provides safety is constant forward movement.
I hope that those that are afraid of this change in the industry will notice the opportunity in front of them, and use it for growth vs letting the world move past them.
The business of OpenStack
The business of open source can be dominated by some strong personalities. Many companies are trying to use their first mover advantage to create sustainable business models. The reality is that statistically many will fail, as a second to market strategy combined with early experimentation with R&D allows a diversification of monetization vehicles, while maintaining cash flow. (e.g. most of these small guys are fighting for a small pie, and I believe are likely to at minimum recieve buyout offers, and depending on the cash flow may be likely to accept them). This fact of a maturing market may cause people to miss what I believe is the secret sauce of the Open Source community.
The beautiful truth of Open Source
What may be a bit harder to see, there is alignment between the R&D organizations of Vendors, Operators and Integrators. There is this beautiful truth that emerges when you are dealing with some of the smartest people in the industry, who don’t really care about gear with a certain logo being pushed. Their real goal is to combine as a community to drive experimentation and innovation in a shared domain.
For me, Open Source communities are a place I don’t have to deal with vendor alignment. Where I can state my beliefs, thoughts and experiments and have them analyzed by people much smarter then me. The intellectual (and for me emotional) support of being part of something bigger, with mostly altruistic goals of improving the cutting edge of technology is one of the things that keeps me sane.
How the project is being influenced
Of course, over the past couple years the OpenStack community has transformed. When I first got engaged with the community in late 2011/early 2012) It was a community where across the board I could feel safe and frankly anonymous. I could be a small fish in a big pond learning and growing from everyone around me. I was surrounded by people with beards, tattoo’s and t-shirts who in their spare time made software products that rivaled the best commercial R&D groups in the world.
Over the past year however, it has become the battleground for vendors to establish a common reference to support the same strategies used in IETF for the past decade. The politics and business models that are an every day experience in IETF, have changed my experience in OpenStack from a place where I felt like I identified completely with a community of like minded individuals, to a place where those same individuals exist (and I gravitate towards them to continue to drive forward technology as a community), but the larger message and tone is becoming dominated by business interests. It is a necessary and expected evolution of the project, however it introduces all sorts of drama into something that I have grown to love.
This changing balance of power, from innovators to corporations (and in some cases the innovators themselves have changed) is affecting my experience in the community. In some cases, such as the ability to monetize the R&D investments of my day job, this is a good thing. This shift allows me to put even more resources into really amazing transformative community education projects like OpenStack Training, as well as expand development resources that have OpenSource contributions as part of their 9-5 jobs.
In other cases, this larger shift from innovation to monetization has driven me mad. The various corporations can be expected act in their self interest, in some cases battling against each other and catching those of us with beards (and most of the time not in suits) in the middle. I do believe that there is a strong middle ground. Where we as a community, that is inclusive of Operator, Integrator, Educator and Vendor can all work together in a sane way. I do believe we can preserve and protect this beautiful community we have built. My personal belief is that we need to help Operators and Educators(Researchers in EDU) to integrate into the community and be able to stand as an independent voice of reason.
I hope that we as a community work together to provide balance to the force. To protect and accelerate the is innovation forge that is centered around OpenStack, but also extends to all sorts of adjacent platforms and projects. I think we can do it, hell. I think we must do it. And while I’m not always the most popular person for voicing my opinions, my goals are simple to accelerate the pace of innovation in the new norm, where Vendor, Integrator, Educator and Operator all share the burden and benefits of invention. As a community working together, I think we can get there.