Startups need to focus on product market fit and user acquisition before building the perfect system because things are guaranteed to change.
But what happens after a startup's found product market fit and accrued a mountain of tech debt along the way? In this session Catherine will discuss her teams work at Stash as they navigated their way through an intense growth period and how they tackled paying down tech debt that was impending hyper growth.
How do you recognise the scaling risks in your systems?
Trading off challenges between monoliths and microservices
How reducing cognitive load improves the resilience of a system
Frameworks for identifying types tech debt and strategies for approaching them
2. I’ve been a product manager for about 7 years.
Currently a Director of Product at Stash, focusing
on Stash’s Consumer Investing business.
Catherine Cornell.
4. Stash is the first subscription platform
empowering middle-class Americans to
invest and build wealth.
5. Middle class Americans
Who is our market?
● 170m population size
● 45k - 145k household income
○ Median Stasher income is $50k
● Stash’s +5M customers are diverse -
coming from all over the US, with
unique financial backgrounds and
situations
● First time investors
6. 02
Over the Invest product’s 4 years focus has been
given to expanding number of products offered
and iterating to find the right fit for new investors.
Stash November
2019.
● 250 investments
● Executed orders twice a day
● Adding a new investment took about 3
weeks and required coordination between 4
teams
7. Here’s what Stashers are thinking…
- iOS 2.9.9 user
The ability to purchase partial shares and the
small monthly fees are great. Unfortunately,
you only have the ability to purchase whatever
is listed on the App. They might want to figure
out how to broaden their investment options
before one or all of the major trading sites
jumps into the partial share niche and squeeze
them out of business.
“
- Android 1.19.16.6 user
Very smooth and convenient interface... very
simple, yet offers wide selection of options.
Only drawback... Doesn't offer full range
amount of companies to invest in
“
*This is not an endorsement or a statement of satisfaction by any individual. Research based on a survey conducted online within the United States by Stash using SurveyMonkey technology in March 2021.
9. We identified
some blockers.
● 10 pages document of KNOWN blockers
○ Mobile layout was designed with three segment
controls each lists to scroll through, already too
difficult sift through
■ iOS wouldn’t even be able to pull down
3,000 investment names let alone
constantly updating pricing
○ Investment pricing wasn’t scalable, we were
updating a single table in our monolith every 5
minutes
○ Tool the brokerage operators traders used to fill
orders tapped out at 500 investment names
○ Current 2 windows structure would not be able
to keep us with the volume of orders
○ Infinite unknown blockers
10. How did we back
ourselves into 10
pages of mistakes?
14. ● Round-ups
● OKR planning
● New feature exploration
● Test win
Identifying debt.
Identifying Tech Debt
15. ● Good Citizen Rule
● Small Bites
● Design It In
● Demolition
Approaches for tackling tech
debt.
Tech Debt approaches
16. Opportunistic refactoring while coding features,
time for this is included in story points.
Good Citizen Rule.
● Reducing verboseness
● Removing dead/unused code
● Adding more test coverage
INSERT IMAGE HERE
Tech Debt approaches
17. Small improvements baked into a sprint. Pointed
tickets on the smaller side.
Small bites.
● Query optimizations
● Bug fixing
● Creating tools that suck up developer’s time
INSERT IMAGE HERE
Tech Debt approaches
18. Designed changes to a larger foundation when
implementing new features.
Design it in.
● Breaking pricing into a microservice out of a
monolith
● Moving to shared components in iOS
● Introducing new technologies into your
stack
INSERT IMAGE HERE
Tech Debt approaches
19. Major changes to a larger foundation. Often span
multiple sprints.
Demolition.
● Updating to Rails 5
● Rewriting a service in a new language
● Moving to streaming event architecture
INSERT IMAGE HERE
Tech Debt approaches
20. ● Calculated the maximum number of investments that could be added.
● 250ish
● Added 200
○ took note of the largest pain points in the process
○ uncovered some of the unknown blockers
○ validated the hypothesis that if we added more investments then we would see an increase in
key metrics
Snowball Method.
Our debt repayment plan
21.
22. Buys and Deposits on the Stash Platform
*This material has been distributed for informational and educational purposes only represents an assessment as of 05/13/2021
23. 02
Paying off our tech
debt paid off.
142%
Increase in AUM.
13%
Increase in Customer
Dividends
37%
Increase in
Purchases
24. And paid off in dividends...
Google searches for “stocks” in the United States
26. ● There will always be tech debt
● Be proud of your tech debt
● Have a process and feedback loop between engineering <> product
Recap.
Tech Debt approaches
Verbal Disclosure: For record, all of the information I note in this discussion is for educational and information purposes only.
Stash is the first subscription platform empowering middle-class Americans to invest and build wealth.
median HHI 50k
Stash’s +5M customers are diverse - coming from all over the US, with unique financial backgrounds and situations
First time investors
Each time a new investment was added to the platform our key metrics (AUM, buys and deposits) would jump up.
-found product market fit and Stashers were growing with us
Unfortunately, you only have the ability to purchase whatever is listed on the App. They might want to figure out how to broaden their investment options
Doesn't offer full range amount of companies to invest in
Opportunity sized
Aligned on mission
Really excited for forecasts
10 pages document of KNOWN blockers
Mobile layout was designed with three segment controls each lists to scroll through, already too difficult sift through
iOS wouldn’t even be able to pull down 3,000 investment names let alone constantly updating pricing
Investment pricing wasn’t scalable, we were updating a single table in our monolith every 5 minutes
Tool the brokerage operators traders used to fill orders tapped out at 500 investment names
The forecasted gains we had been so excited about?
Current 2 windows structure would not be able to keep us with the volume of orders
Infinite unknown blockers
Tech debt is borrowing labor and capital from future “you”. -Doesn’t mean you made bad choices, it’s the cost of building. Its a graduation, get your system a cap and gown/play it Vitamin C
At Stash:
Engineering is responsible for identifying what tech debt there is and explaining to Product.
Product is responsible for truly understanding what the tech debt is and prioritizing it
Product creates an environment where it is easy for two parties to have a consistent and constant dialogue
These are ‘checkpoints’, or moments when its not only appropriate, but needed to check in with your tech debt balance. These are in order from most ideal to least ideal.
Developers come along a campsite, and spot a chance to make an improvement.
Reducing verboseness
Removing dead/unused code
Adding more test coverage
Small improvements baked into a sprint. Pointed tickets on the smaller side.
Bug fixing
Creating tools that suck up developer’s time
Designed changes to a larger foundation when implementing new features.
Breaking pricing into a microservice out of a monolith
Moving to shared components in iOS
Introducing new technologies into your stack
Major changes to a larger foundation. Often span multiple sprints.
Updating to Rails 5
Rewriting a service in a new language
Moving to streaming event architecture
The debt snowball is a method of debt repayment in which a person pays off the smallest debt first, while making only minimum monthly payments on the other debts. Sort of like MVP.
alculated the maximum number of investments that could be added.
250ish
Added 200
took note of the largest pain points in the process
uncovered some of the unknown blockers
validated the hypothesis that if we added more investments then we would see an increase in key metrics
-in total we added 3463 investments were added throughout 2020, with most being added in late feb through March
-1555 were added in March
-with 839 being added the first week Stash was remote
-$908 million AUM to $2.2 billion, 142% increase
-13.7 million in dividends for customers
-37% increase in purchases
-continued commitment to engaging in tech debt identification ceremonies and slowly working through tech debt backlog
In January 2021, a short squeeze of the stock GameStop and other securities (YOLO stocks). The media coverage given to retail investors that had banned together in the subreddit /wallstreetbets created a retail investing freezy. Many Americans were learning for they could start investing with low In the United States there was a retail investing boom.
Stayed because we were able to office advice and guidance.
-able to keep up with the record breaking volume of buys and investment page loads