How Product-Focused Companies Optimize For Developer Autonomy
Jon Kruger
Director of Engineering @ Upstart
Enabling Effortless Credit
Based On True Risk
We have a problem
What kind of value are you chasing?
What is a “product-focused” company?
Product
Public Website
Mobile App
Physical Product
Internal Application
Service
Technical Stuff
Creates Value
(you define what “value” means to you)
For a Customer
Public Consumers
Internal Teams
Other Engineers
Product companies measure success by outcomes
Objectives and Key Results (OKRs)
Objective - how we want to create value for the customer
Key Results - how we’ll know if we’re doing it
________________________________________________________________
Example:
Objective - increase customer engagement on our platform
Key Results
Characteristics of Product-Focused Companies
More autonomy for engineers
The expectation of developers at traditional companies is to
complete assigned work.
At product companies, it's to solve problems that the business has.
More autonomy for engineers
Product managers define the “what” (product requirements) and
the “why” (product strategy)
Engineering owns the “how” and the “when”
More autonomy for engineers
Engineers have end-to-end ownership of projects
Engineers are creative problem solvers, not ticket workers
Creative problem solvers | Ticket workers |
Responsible for end to end ownership of a solution | Responsible for completing assigned work |
Success is measured by value created | Success is measured by work completed |
Not viewed as fungible resources | Often treated as fungible resources |
Work directly with product managers and business people to determine what to build | Get detailed specifications from business analysts or product owners |
More exposure to the business
Fewer roles in between engineers and the business
Organizing in cross-functional vertical teams
More exposure to business metrics
Investing in a less frustrating developer experience
Invest heavily in making your engineers more effective
Investing in a less frustrating developer experience
How good is your team at these things?
Deployment frequency | How often does your organization deploy code to production or release it to end users? |
Lead time for changes | What is your lead time for changes (i.e., how long does it take to go from code committed to code successfully running in production)? |
Time to restore service | How long does it generally take to restore service when a service incident or a defect that impacts users occurs ? |
Change failure rate | What percentage of changes to production or released to users result in degraded service? |
Reliability | The degree to which a team can keep promises and assertions about the software they operate |
Source: Google 2021 State of Devops Report - https://services.google.com/fh/files/misc/state-of-devops-2021.pdf
Investing in a less frustrating developer experience
More frequent deploys is an absolute game changer
Want to hear more? Watch “Yes, I Test in Production (And So Do You)” https://www.infoq.com/presentations/testing-production-2018/
Just enough process
What do we need Scrum for anymore?
Read more: “How Big Tech Runs Tech Projects and the Curious Absence of Scrum”
https://blog.pragmaticengineer.com/project-management-at-big-tech/
Higher leverage -> higher autonomy, higher pay
Engineers aren’t just coders, they are problem solvers,
therefore they are worth more
… which leads to higher caliber talent
… which attracts more high caliber engineers that want to work with other high caliber engineers
… because we’re optimizing for exponential value
What’s your next step?
Upstart is hiring!
Tech Platform / DevOps / Architecture
Auto Lending
Mortgage
Growth/Top of Funnel
Personal Loans
Pricing/Underwriting
Small Dollar Loans
Small/Medium Business Lending
Lending Partnerships
Loan Servicing
Data Engineering
Model Engineering
Machine Learning Engineers
Research Scientists
We are hiring for many roles across engineering and machine learning
(including managers!)
OPEN ROLES
Questions
?
Thanks!
Get these slides:
Contact me at
jon [at] jonkruger [dot] com
Thanks for coming!