- His journey started in June 2014 as a result of the Microsoft announcement regarding support for Linux and Kubernetes on Azure—this really indicated a shift in the industry.
- Bart’s view is that a full stack engineer knows about operations, the hardware stack (compute, storage, network), the software (network, operating system, management, logging), and most importantly knows how to “code” an immutable infrastructure. An operations full stack engineer can read code, work with developers, and be part of a DevOps team of support DevOps teams in deploying code into production both to on-premises solutions and off-premises solutions.
- IT folks don’t need to be strictly involved in software engineering to benefit from a journey toward a more full stack role.
- His journey from Microsoft-centric engineer to cloud-native engineer encompasses learning the following areas:
- Getting a good understanding of microservices (recommends book Building Microservices by Sam Newman; here’s a link)
- Container technologies (Docker, most notably, but also CoreOSand etcd); recommends this Docker course
- PaaS/container orchestration (Mesos/Mesosphere, OpenShift, Docker Swarm, Kubernetes)
- AWS (10x the size of all competitors), Joyent
- Microsoft and/or VMware, but do not start here (start elsewhere)
- Otto and Terraform by Hashicorp
- Ansible (not Chef, Puppet, or Salt)
- Cassandra and Neo4j
- He highly recommends using OS X on Apple hardware (he bought a used MacBook Pro, including SSD, for less than 300 euros).
- Safari Books Online (link) a great resource, highly recommended.
- Bart believes attending meetups, if available in your area, is a valuable source of information.
- Attending relevant conferences, digging into the material, asking questions, and meeting people has also been very helpful.
- After attending a meetup or conference, be sure to give yourself a “call to action”—actually do the thing about which you’re learning.
- Bart recorded meetups so that he could review them later, multiple times if necessary—“repeat to remember, remember to repeat” has been a key learning strategy for him.
- Certifications may not be as valuable as they used to be (although Red Hat might be worthwhile); a lot of this learning is going to be something you’re going to create/shape yourself.
- Sharing the information you’ve learned, or information you’re creating as you learn, helps you and helps the community. GitHub is a great way to share.
- There should probably be more graphics and drawings!
- DevOps Enterprise Summit would be a good conference to attend (he couldn’t make it this past year).
- Looking ahead, Bart is really intrigued by unikernels (MirageOS in particular).
List of Resources
Here are some resources that were either mentioned during the podcast, or provided by Bart separately.
Building Microservices by Sam Newman: https://www.safaribooksonline.com/library/view/building-microservices/9781491950340/
Pro Git, Second Edition by Ben Straub and Scott Chacon: https://www.safaribooksonline.com/library/view/pro-git-second/9781484200766/ (also available here or here)
Trustworthy secure modular operating system engineering: https://media.ccc.de/v/31c3-_6443-_en_-_saal_2-_201412271245-_trustworthy_secure_modular_operating_system_engineering_-_hannes_-_david_kaloper#video
MirageOS videos from around the world: https://mirage.io/blog/videos-around-world-2015
Unikernel Screencasts: https://www.youtube.com/playlist?list=PLmqXqqjZSStnG33E_865NgHONETzM8kVb
Why are computers so @#!*, and what can we do about it?: https://media.ccc.de/v/31c3-_6574-_en_-_saal_1-_201412301245-_why_are_computers_so_and_what_can_we_do_about_it_-_peter_sewell#video