Slide 1

Slide 1 text

DevOps and sharing A semi-personal story Marta Paciorkowska

Slide 2

Slide 2 text

Introduction What I mean by people skills Why this talk Communication is crucial in: - recognizing obstacles - self-development - effective knowledge sharing Gaining that secret knowledge Some practical tips

Slide 3

Slide 3 text

Marta Paciorkowska DevOps Heroine* Acrolinx GmbH t: a_meba || g: xamebax * a female hero; a software engineer, a sysadmin and I guess a bit of a coordinator

Slide 4

Slide 4 text

Our stack Java Python Clojure Node.js Ember Ant Maven Gradle Go Jenkins Docker Lambdacd Linux RedHat Windows MacOS Vagrant Scala ESX Clusters GWT MySQL PostgreSQL DB2 MSSQL Oracle H2

Slide 5

Slide 5 text

Introduction What I mean by people skills Why this talk Communication is crucial in: - recognizing obstacles - self-development - effective knowledge sharing Gaining that secret knowledge Some practical tips

Slide 6

Slide 6 text

People skills communication abilities personal habits cognitive or emotional empathy leadership traits building relationships of trust, respect and productive interactions understanding ourselves and moderating our responses

Slide 7

Slide 7 text

Introduction What I mean by people skills Why this talk Communication is crucial in: - recognizing obstacles - self-development - effective knowledge sharing Gaining that secret knowledge Some practical tips

Slide 8

Slide 8 text

The “why” & the “how” of this talk DevOps is not only technology; it’s interdisciplinary I’m against the self-fulfilling prophecy of the anti- social tech-genius: we over-simplify “people skills” Discuss skills one by one You cannot foster success when you only focus on one skill

Slide 9

Slide 9 text

Introduction What I mean by people skills Why this talk Communication is crucial in: - recognizing obstacles - self-development - effective knowledge sharing Gaining that secret knowledge Some practical tips

Slide 10

Slide 10 text

My experiment After a few months of working in Acrolinx, I decided to ask my colleagues a few questions: ● What would they consider the biggest obstacles to popularizing DevOps ideas and implementing DevOps- inspired practices in our company? ● What was the most important thing they learned recently (this year); did they learn more by collaborating or by themselves? ● What’s their approach to internal documentation?

Slide 11

Slide 11 text

First question: Things that make adopting DevOps in your organization difficult

Slide 12

Slide 12 text

Mindset Overwhelming amount of tools No one wants to do the “boring” tasks Using outdated software/technologies Lack of documentation on our outdated software/technologies Lack of resources No bigger picture Other people Being kept in the dark Obstacles

Slide 13

Slide 13 text

● Learn about people’s preferences and use that when dividing work (communication, organizational skills) ● Fight the hesitation (empathy): - rigid mindset... - “My work is more important”, - “I don’t see the benefits at all” - “But current tools work ok!” - or underdeveloped skill set? Analyze & f

Slide 14

Slide 14 text

● Outdated technologies? Lots of tools? Lack of a bigger picture? - build a long-term plan (leadership & organizational skills) - listen to complains (empathy) and motivate colleagues (leadership) ● Unresponsive colleagues: - the busy bee, the slight procrastinator, the focused one - recognize the reason and pick the best solution Analyze & f, continued

Slide 15

Slide 15 text

Second question: The most important thing you have learned this year

Slide 16

Slide 16 text

“You need to know what you want to build before you actually build it”. “You should keep things simple and don’t engage in premature optimization”. “I’ve learned a lot and it’s hard to pinpoint the most important things, but I’ve mostly learned by myself or pair programming”

Slide 17

Slide 17 text

Third question: Approach to internal documentation

Slide 18

Slide 18 text

We have so many tools and “tribal” knowledge lying around that internal documentation is necessary. Internal documentation is unnecessary: software changes and we have a low turnover rate, so it gets outdated quickly; additionally, someone has to maintain it. Documentation is important, but no one wants to do it and having it is a team decision – not an individual one.

Slide 19

Slide 19 text

Knowledge transfer

Slide 20

Slide 20 text

When people work together for a long time, they start treating specialized knowledge as if it was common. The more senior a person is, the bigger the risk that they might treat a lot of their knowledge as obvious. Knowledge transfer

Slide 21

Slide 21 text

You need to decide whether to spend a lot of time writing down docs and then drop them on the new hire or to sit down with them every day and show them something new. Knowledge transfer, continued

Slide 22

Slide 22 text

Think about each of your colleagues: What would happen if they went on an extended sick leave or decided to leave the company? How much would that influence everybody else’s work? Stress levels? Deadlines? Knowledge transfer: mental exercise

Slide 23

Slide 23 text

Knowledge transfer is both about what you know and where you look Knowledge transfer: I’ll share a secret

Slide 24

Slide 24 text

Your colleagues don’t have to just sit down and explain old, cranky code. Encourage them to talk about how they themselves acquire experience instead. How do they debug things? What’s their approach to problem solving? Result: knowledge that will be technology- agnostic. Knowledge transfer, continued

Slide 25

Slide 25 text

Introduction What I mean by people skills Why this talk Communication is crucial in: - recognizing obstacles - self-development - effective knowledge sharing Gaining that secret knowledge Some practical tips

Slide 26

Slide 26 text

Don’t talk with your colleagues about current tasks only. Try to understand where everyone is coming from. In case of resistance: mindset or skill set? Don’t make assumptions, that’s a cognitive error.

Slide 27

Slide 27 text

Ask, ask, ask. When in doubt: ask. “What is the problem you’re trying to solve?” Don’t go quiet when things go wrong or when you’re stuck. Encourage knowledge-sharing. Have your own science log.

Slide 28

Slide 28 text

Practice non-violent communication. Consider doing regular brainstorming sessions. Mimicry. Foster a healthy work environment.

Slide 29

Slide 29 text

Thank you Marta Paciorkowska t: @a_meba || g: xamebax https://thatmarta.wordpress.com