This document discusses the role of modern software engineers and the importance of culture. It describes how culture can define a company's potential and that outstanding achievements are usually the result of amazing teams. The document advocates for embracing culture and emphasizes that great things are achieved through persistence when people do their best work. Modern software engineers are expected to have a wide range of technical skills but also understand the importance of creativity, integrity, and persistence for building happy and high-performing teams.
3. Did lots of open source work
Some of the things I built are part of apache couchdb
Have committed to node core
Many of the people that built nodejs used to work for me
4 million downloads a month
4.
5. Deploy node applications with one command
20 engineers
2 dedicated to working in node core
100k applications live
50k customers
1 million deploys a day
7. E M P O W E R P E O P L E T O B U I L D
T H I N G S T O G E T H E R B A S E D O N
S H A R E D U N D E R S TA N D I N G O F
S H A R E D VA L U E S A N D M I S S I O N
11. T H E Y E A R I S 1 9 9 9
• Healthcare company that provides dialysis service
• Technically bankrupt
• 500 “franchise" clinics
• ~50k patients
• Below average survival rates
12. 2000 2004 2008 2012
Treatment
Centre’s
500 650 1500 2000
Revenue 1.5B 2.1B 5B 7.5B
Survival Rate 81% 82% 83% 86%
THE MODERN SOFTWARE ENGINEER
NEW CEO FOCUS ON CULTURE
13. RITUALS
IDIOMS
BEHAVIORS
VALUES
THE MODERN SOFTWARE ENGINEER
CULTURE INGREDIENTS
Rituals:
Awards
Retrospectives
Monday Plannings
Offsites
Idioms:
No brag, just facts
Get stuff done
Fairness over time
Values:
Dignity
Compassionate Healing
Fun
16. D O E S C U LT U R E M AT T E R
F O R T E C H C O M PA N I E S ?
17. Before After
Approach Roll Own Frameworks Open Source
Architecture Monolith / Mainframe Services / Containers
Delivery Long Cycles Continuous
Products Long Shelf Life Lean
Focus Inwards Customer
Team Large Teams Small Crossfunctional
Talent Outsource Essential
Risk Adverse Pro-Active
THE MODERN SOFTWARE ENGINEER
WHAT CULTURE SHIFT HAPPENED IN ENGINEERING
18.
19. — B I L L S C O T T, V P V E N M O A N D PAY PA L W E B
“Most organisations biggest challenge is moving
from a culture of delivery to a culture of learning”
20. N E T F L I X T O PAY PA L
L E A N B R A I N T O T H E A G I L E
B O D Y
B U I L D . M E A S U R E . L E A R N .
E N G I N E E R I N G I N S Y N C
W I T H A G I L E P R O C E S S
B I L L S C O T T
GOOB
21.
22. DOCS
GUIDELINES
CLIENTS
CUSTOMER CONTENT PRODUCTS SEARCH
WEB PUBLIC API
PRACTICES
MOBILE MOBILE-WEB
PAYMENT
CALL CENTRESALESFORCE GITHUB
NPM AWS
SLACK
JENKINS
Talk about mobile apps, how innovating and chuking things out is important
Talk about apis, slower, decoupled, allowing business innovation
Enable usage across teams of better tools
Services and accelerate non key parts
23. A M A Z O N A D O P T I O N
C U R V E , N I H
O P E N S O U R C E
G I V I N G B A C K
THE MODERN SOFTWARE ENGINEER
SAAS AND FOSS ENABLE BUSINESSES
24. W H AT R O L E D O
M O D E R N E N G I N E E R S
P L AY ?
26. •Understands EventLoop
•Understands Redux
•Understands HTTP and HTTP2
•Can use streams (can anyone use
streams?)
•Can do CLI apps
•Knows how to handle errors
•Understands Security
•Understands Performance work
•Knows 12 factor app
•Follows code style
•Does good coverage
•Can use git?
•Has presence in Github?
•Understands semver
•Open source footprint:
Documentation, Engagement, Talks,
Coverage, CI, Nice on Issues
•Debug memory issues
•Debugging while coding
•Uses Callbacks and Streams
•Published to NPM?
•Understands semver
•Understands different framework
choices
THE MODERN SOFTWARE ENGINEER
AND THE LIST GOES ON
28. A N D W E N E E D T O
O U T G R O W J U S T T H E P U R E
T E C H N I C A L D O M O D E R N
E N G I N E E R S P L AY ?
29. wake up early
eat properly
stay in shape
be strong
get a drink when we need
stay clean
meditate
be curious
get plenty of sleep
THE MODERN SOFTWARE ENGINEER
HOW TO BE A HAPPY CAT
32. “Ask for forgiveness not permission”
“We begin again, we never give up”
Persistance
Strongly held principles
Self started projects/companies
Presence in the community
Volunteers time to help beginners and/or charities
Knows how to operate in the “real world”
Speaks his mind
Confident in his abilities and willing to tackle new challenges head on
33. P E R S I S TA N C E
! =
S T U B B O R N E S S
Not about your ideas
Not about your ego
Not at any cost
34. Strive to learn
Shares Knowledge
Thinks different
Question everything
Creativity
Curious, Tinkerer, Self-taught
Motivated by learning
Can reason complex new tasks and adapt
Prefers sound engineering to clever engineering
Not dogmatic about technology, right tool for the job (esp. node)
Questions everything, and takes a positive approach to fixing it
Loves technology, but has hobbies and life.
35. C R E AT I V I T Y
! =
W I N G I N G I T
Not a reason to stop measuring
Normal for impostor syndrome
36.
37. Integrity
Strong opinions. Weakly held.
Humility
My opinions matter as much as everyone else
Treats everyone with the same high level of respect
Belief that I am better if I make my team members succeed
Loves teaching, not preaching
Respectful of people’s knowledge
Incentivizes natural leadership and participation
Inclusive of all races/ethnicities/sex
38. I N T E G R I T Y
! =
C O N F O R M I T Y
Not about being liked
Not about following blindly
40. Optimise to enable
personal development
in yourself and others
you work with
Be uncompromising
about the goals you set
and help others achieve
it
THE MODERN SOFTWARE ENGINEER
BALANCE LEARNING & GSD
Mention build measure learn
41. THE MODERN SOFTWARE ENGINEER
KEY TAKE AWAYS
Culture defines
potential for a
company. Embrace
it.
No man is an island.
Outstanding things can
only be created by
amazing teams
Change is hard but great
things are achieved when
people do their best work
and persist
42. Dankie Shnorhakalutiun
Hvala Blagodariya Hvala
Dekuju Tak Kiitos Merci
Grazie Grazzi Takk Danke
T h a n k Yo u D z i ę k u j ę
Obrigado Gracias Asante
Tack Teshekur Ederim