2. Why
• Diversity
• Experience
• Consider a non-traditional entry
route into the field
• Either for yourself
• Or for your future colleague/
employee
3. Onboarding and Mentoring Apprentices with DevOps Culture -
Mercedes Coyle video
• Why hire an Apprentice?
• You have a strong desire to mentor and grow a new engineer
• Give back to the labour pool and tech community at large
• You can teach them your way of doing things
• They don’t yet have bad habits
• Inculcate DevOps culture and collaboration from the start
• New engineers bring with them infectious enthusiasm
• Source: https://vimeo.com/115484860
4. Popular Psychology - Self Help/Motivation Binge
• So Good They Can’t Ignore You - Cal Newport
• Thinking Fast and Slow - Daniel Kahneman
• Winners - Alastair Campbell
• How To Have a Good Day - Caroline Webb
• Grit - Angela Duckworth
• Mindset - Carol Dweck
• A Mind for Numbers (and Coursera Learning How to Learn course) - Barbara Oakley
5. Self Help/Motivation Binge
“Why skills trump passion in the quest for work you love”
Craftsman Mindset > Passion Mindset*
*(when first starting to consider what you want to do for a job/
career)
It is important to eventually cultivate both.
6. Topics we covered at CodeClan
16 Week Software Development Bootcamp
- Programming languages: Ruby, Java, JavaScript
- Object-Oriented Programming
- Working in teams: stand-up/emotional therapy, countless paired
programming labs, Git
- Introduction to algorithms, SOLID principles, RESTful APIs
- Web applications with Sinatra, Express
- Databases: SQL, SQLite, MongoDB
- 3 projects:
- 1. Ruby, SQL, Sinatra
- 2. Java, IDEs, Android, SQLite
- 3. Group Project: JavaScript, Express, Google Maps API
- Learning from others way more experienced and knowledgeable
than I was
Friendship
Pear Programming
7. Dramatic re-enactment in graph form of what I knew (or
rather what I didn’t know and had to learn on the job)
That I knew nothing*
* I didn’t really know
how much I didn’t
actually know, and
probably still don’t
8. What is DevOps???
DevOps (a clipped compound of "development" and
"operations") is a software engineering practice that aims at
unifying software development (Dev) and software operation
(Ops).
- https://en.wikipedia.org/wiki/DevOps
12. A few cool projects I have been a part of
• Simple things like AMI rotations
• Terraform to create the AWS infrastructure to implement
Blue-Green deployments
• Monolith -> Microservices
• Reusable Terraform Modules
14. Hypothetical Lesson Plan for the first 6 months
Reading List:
• Open Guide for AWS
• The Phoenix Project
• The DevOps Handbook
• Continuous Delivery
• Sign up for Linux Academy and Safari Books Online
15. Hypothetical Lesson Plan for the first 6 months
• Month 1 - just general on-boarding - write off anyway
• Get through the necessary security training etc
• Must feel comfortable with asking stupid questions
• Read ‘The Phoenix Project’
• Have the DevOps Handbook and Continuous Delivery on hand to refer to and read once finished
• Start own research as to what they want to learn
• Try not to break anything, but it’s okay if you do
• Start shadowing Mentor/colleague
• Be exposed to the problems and questions that other people ask
• Be involved with the general upkeep of services
• learn simple task like rotating an AMI and deploying and testing through environments
• As a team, documentation is very important for helping to on-board
16. Hypothetical Lesson Plan for the first 6 months
• Month 2-3
• Start and aim to complete Linux Essentials from Linux Academy
• Research the Cloud Computing Service of choice - ex. AWS
• Continue shadowing and working with mentor, taking time to progress through
Tuckman’s (1965) model of Team Development (Forming, Storming, Norming,
Performing) to finish a major project
• Deploy, learn more about Jenkins
17. Hypothetical Lesson Plan for the first 6 months
• Month 4
• Work with mentor on a couple of simple projects - start to learn another tool to
help with work Chef, Puppet, Terraform, Ansible, Docker etc etc
• Month 5 - build on previous work and knowledge, learn another tool
• Month 6 - finish another major project
• Reward them with a shout-out to validate their existence
• Be patient
18. What is DevOps?
• A whole team working together through the full work cycle to design, create, implement, protect, monitor and
deploy quickly and safely
• Using whatever tools we can to solve other people’s problems
• UPTIME
• It’s not a person, an occupation or a team
• A way of doing things that is business minded and factory inspired to improve the workflow of your team
Culture
19. What is DevOps?
• At this point I’m less concerned over the definition and I just
want to do whatever it takes to be able to do my job well
• Everyone has their own experiences and thus attribute
different definitions
20. Things I still have to learn
• EVERYTHING - I have so much more to learn and so far to go, but I think I will always
feel this way
• Gain better knowledge of current tools/skills set
• Refresh knowledge of programming and programming languages
• Pretty ‘Ops-centric’ at the moment
• Get more involved in the ‘Dev’ side of things?
• The next new shiny things
• More Linux
• Jenkins
• Get better at documentation
21. Failures/Lessons
• Trying to run before I could walk
• Trying to learn Chef before I knew Linux
• Sometimes you will read/do/look at
something and it won’t make sense - you
will need to learn and gain more context
first
• Searching online for help with DevOps
problems is a lot harder - maybe less
people to ask and answer questions,
niche
• Generally first time mentorship
relationships don’t work out — but it’s for
the best
• Stay hungry (for knowledge) but be
patient
22. The Future
Continue learning, practicing and doing as much as I can
GLA - Graduate Level Apprentice
Heriot-Watt University
The idea - build upon knowledge in a variety of contexts
Ideal: Work-based projects tie into university course work
I’m able to start university knowing what I want to do and what to
focus on
Get over social anxiety and just go to more tech meet-ups