Oren Ellenbogen
How to keep solid
engineering skills as an
Engineering Manager?
Slide 2
Slide 2 text
My name is Oren Ellenbogen 👋
aka Ear Elbow
Like you, I’m an Engineering Manager
Slide 3
Slide 3 text
You’re exhausted (FOMO is real)
… and looking for an answer
This talk is applicable to all levels of Engineering Management
Slide 4
Slide 4 text
Where should we start? With the devil we know
Slide 5
Slide 5 text
While (?) {
Write code
}
Slide 6
Slide 6 text
While (?) { Write code }
“Invest X% of your time writing code”
Slide 7
Slide 7 text
While (?) { Write code }
Wrong assumption:
All features are of equal value to you
Slide 8
Slide 8 text
While (?) { Write code }
Only write code that produces meaningful insights
Investments: Expertise, Tools, Dependencies, etc.
Never in the critical path.
Slide 9
Slide 9 text
While (?) { Write code }
Only write code that produces meaningful insights
Investments: Expertise, Tools, Dependencies, etc.
Never in the critical path.
Slide 10
Slide 10 text
While (?) { Complete IC tasks }
Only complete IC tasks that produces meaningful insights
Also: OnCall, Observability, Docs, etc.
Slide 11
Slide 11 text
Trigger: “I don’t have enough
time to learn by writing code”
What now?
Slide 12
Slide 12 text
Invest your time elsewhere
80% in How X works (+Why)
20% in How to do X
Slide 13
Slide 13 text
Look at your team’s stack, e.g.
- Nodejs
- Vue
- Elastic Search
- MySQL
- Kafka
- GraphQL
- …
- [CI, CD, Monitoring, Alerts, etc.]
Slide 14
Slide 14 text
How to do X < How X works
(and why was it invented)
Seek to understand how things work
Invest in fundamentals
Slide 15
Slide 15 text
How X works (+why is it needed)
e.g.
- How event-loop works? What not to do with it?
- What append-only data structures good for?
- Why Virtual DOM was invented?
- How ACID works? When is it good? When to avoid?
Slide 16
Slide 16 text
Source: https://www.flickr.com/photos/blmoregon/28674598606
Be an archaeologist
Tell a story
Slide 17
Slide 17 text
template
Slide 18
Slide 18 text
“Sure! But when?”
Slide 19
Slide 19 text
😱
Slide 20
Slide 20 text
You’re always
Free in 2 weeks
Slide 21
Slide 21 text
Future Thinking
Explicit investments
Slide 22
Slide 22 text
Invest your time to fight inertia
70% in the present
30% in the future
Slide 23
Slide 23 text
Present
1.
Design requirements, trade-offs, risks, know-how
2.
Operate sustainability, quality of service, focus
Future
3.
Hire puzzle, pitch & close
4.
Envision alignment (tech/biz), roadmap, growth
Slide 24
Slide 24 text
70% in the present:
Practice in areas you’ll gain insights
and feel pains
→ Level up your Design & Operate
Slide 25
Slide 25 text
70% in the present: Level up Design & Operate
- Execute insightful IC tasks ✅
- Take Design Reviews by other teams and do your own
- Analyze operational burden (e.g. tickets, alerts, etc.)
Slide 26
Slide 26 text
30% in the future:
Research what knowledge your
team is lacking
→ Level up Envision & Hire
Slide 27
Slide 27 text
30% in the future: Level up Envision & Hire
- Research the competition
- Analyze & present missing expertise in the team
- Write a doc: “Why should you join us? Why now?”
Slide 28
Slide 28 text
Seek deeper knowledge &
inspiration by building your library,
e.g. →
30% in the future
Slide 29
Slide 29 text
No content
Slide 30
Slide 30 text
70% in the present
30% in the future
Hours will fluctuate, keep the ratios consistent over time
Slide 31
Slide 31 text
“How do I know that it’s good enough”?
Slide 32
Slide 32 text
To continuously improve
you need to be
consistently calm & optimistic
* 90% of the time, we’re human
Slide 33
Slide 33 text
The EM’s
technical skills
time
The team’s technical skills
Common result
Desired result
Slide 34
Slide 34 text
“I have good ENOUGH engineering skills to:”
❏ Entice experienced engineers to join my team to raise the bar
Slide 35
Slide 35 text
“I have good ENOUGH engineering skills to:”
❏ Entice experienced engineers to join my team to raise the bar
❏ Notice bottlenecks in my team’s Products/Systems (tech or socio-tech)
Slide 36
Slide 36 text
“I have good ENOUGH engineering skills to:”
❏ Entice experienced engineers to join my team to raise the bar
❏ Notice bottlenecks in my team’s Products/Systems (tech or socio-tech)
❏ Offer alternatives to product requirements & technical design decisions
Slide 37
Slide 37 text
“I have good ENOUGH engineering skills to:”
❏ Entice experienced engineers to join my team to raise the bar
❏ Notice bottlenecks in my team’s Products/Systems (tech or socio-tech)
❏ Offer alternatives to product requirements & technical design decisions
❏ Unblock Technical Roadmap creation for my team’s systems
Slide 38
Slide 38 text
“I have good ENOUGH engineering skills to:”
❏ Entice experienced engineers to join my team to raise the bar
❏ Notice bottlenecks in my team’s Products/Systems (tech or socio-tech)
❏ Offer alternatives to product requirements & technical design decisions
❏ Unblock Technical Roadmap creation for my team’s systems
❏ Grow, challenge and inspire my teammates to retain them
Slide 39
Slide 39 text
“I have good ENOUGH engineering skills to:”
❏ Entice experienced engineers to join my team to raise the bar
❏ Notice bottlenecks in my team’s Products/Systems (tech or socio-tech)
❏ Offer alternatives to product requirements & technical design decisions
❏ Unblock Technical Roadmap creation for my team’s systems
❏ Grow, challenge and inspire my teammates to retain them
❏ Harvest context to connect technical needs to product & business needs
Slide 40
Slide 40 text
“I have good ENOUGH engineering skills to:”
❏ Entice experienced engineers to join my team to raise the bar
❏ Notice bottlenecks in my team’s Products/Systems (tech or socio-tech)
❏ Offer alternatives to product requirements & technical design decisions
❏ Unblock Technical Roadmap creation for my team’s systems
❏ Grow, challenge and inspire my teammates to retain them
❏ Harvest context to connect technical needs to product & business needs
Feel good enough to ✔ the above?
Slide 41
Slide 41 text
Execute insightful IC Tasks
I’m good enough to improve
present
future
Slide 42
Slide 42 text
Got anything to share? I’m all ears
oren.ellenbogen@gmail.com or oren@forter.com
We’re hiring, come say hello 👋
Slide 43
Slide 43 text
Design
Great talks & posts:
- Replicated Data Consistency Explained Through Baseball
- Silence is Golden: Coordination-Avoiding Systems Design
- The Log: What every software engineer should know
about real-time data's unifying abstraction
- Dan North - Decisions, Decisions
- How to Outperform a 10x Developer
- Turning the database inside out
Slide 44
Slide 44 text
Operate
Great talks & posts:
- How to Write Documentation for People
that Don't Read
- Practicalities of Productionizing
Distributed Systems
- How NOT to Measure Latency
- Stability Patterns & Antipatterns
Slide 45
Slide 45 text
Hire
Great talks, posts & websites:
- There is no talent shortage
- The Accidental Diminisher
- https://staffeng.com
Slide 46
Slide 46 text
Envision
Great talks, posts and websites:
- How to Move Beyond Gamification
- https://boringtechnology.club/
- https://www.useronboard.com/
Slide 47
Slide 47 text
Share fears, tactics, resources,
failures, and success stories
with other humans
Get out of your head