+ All Categories
Home > Technology > Scaling your startup from po c to production a tale of technological and human struggles

Scaling your startup from po c to production a tale of technological and human struggles

Date post: 21-Jan-2018
Category:
Upload: johann-romefort
View: 170 times
Download: 0 times
Share this document with a friend
58
Scaling your Startup from PoC to Production A tale of technological and human struggles Johann Romefort, Tech Evangelist @Stylight
Transcript
Page 1: Scaling your startup from po c to production a tale of technological and human struggles

Scaling your Startup from PoC to ProductionA tale of technological and human struggles

Johann Romefort, Tech Evangelist @Stylight

Page 2: Scaling your startup from po c to production a tale of technological and human struggles

Hi, I’m Johann!

● Tech Evangelist @Stylight

● Since 3 years in Munich

● A certain passion for building communities

● Before: 7 years in San Franciscobuilding startups

Page 3: Scaling your startup from po c to production a tale of technological and human struggles

Program ● The Technical Cheat Sheet of Doing a Startup● The Human Cheat Sheet of Doing a Startup● Scaling your team & Building your network

Page 4: Scaling your startup from po c to production a tale of technological and human struggles

The Technical Cheat Sheet of Doing a Startup

Page 5: Scaling your startup from po c to production a tale of technological and human struggles

The Craziness of Building a Tech Startup

● Compressing time● Getting on the roller-coaster● Living in a bubble

Page 6: Scaling your startup from po c to production a tale of technological and human struggles

PoC? Prototype? MVP? Production?

PoC: Demonstrate/Validate an idea - no UI required

Prototype:Get a step further and build something that people can play with

MVP:Get one step further and get it in the hands of future audience

Production: Shit gets real and so is a myriad of problems :)

Page 7: Scaling your startup from po c to production a tale of technological and human struggles

Some deadly technical mistakes and oversights

Page 8: Scaling your startup from po c to production a tale of technological and human struggles

1/ Premature Scaling

Page 9: Scaling your startup from po c to production a tale of technological and human struggles

Premature Scaling 1. 74% of high growth internet startups fail due to premature scaling.

2. No startup that scaled prematurely passed the 100,000 user mark.

3. Startups that scale properly grow about 20 times faster than startups that scale prematurely.

4. 93% of startups that scale prematurely never break the $100k revenue per month threshold

70% of the startups are scaling prematurely

Source: Startup Genome Report - Data based on an analysis of about 3200 high growth internet startups

Page 10: Scaling your startup from po c to production a tale of technological and human struggles

What’s premature scaling?

Page 11: Scaling your startup from po c to production a tale of technological and human struggles

2/ Over-engineering

Page 12: Scaling your startup from po c to production a tale of technological and human struggles

On the cutting edge of technology

Our product runs on Kubernetes, with fully containerized Rust microservices talking through a Kafka messaging queue, with a VueJS frontend.

We have 10 users, and growing fast.

Page 13: Scaling your startup from po c to production a tale of technological and human struggles

Exotic tech stacks,just because you can

Page 14: Scaling your startup from po c to production a tale of technological and human struggles
Page 15: Scaling your startup from po c to production a tale of technological and human struggles

I built majestic monoliths for a living

Page 16: Scaling your startup from po c to production a tale of technological and human struggles

Sounds cool!

What’s a Monolith and how do I build one?

● A whole system in one giant black box

● Much easier to build than distributed application

● You generally build one without even thinking about it

Page 17: Scaling your startup from po c to production a tale of technological and human struggles

When does it make sense to build a monolith?● Proof of Concept ● Prototype● Early production

WHY?

● Because anything else before Product-Market fit is *NON-SENSE*

Page 18: Scaling your startup from po c to production a tale of technological and human struggles

On being CTO at hot startup in San Francisco

Page 19: Scaling your startup from po c to production a tale of technological and human struggles
Page 20: Scaling your startup from po c to production a tale of technological and human struggles

My first year as a CTO● Put a monolithic prototype in production● With no monitoring● No continuous integration● No continuous deployment● No testing● … and kept adding features...

Page 21: Scaling your startup from po c to production a tale of technological and human struggles

Codebase after a year

● Failing from everywhere

● Fixing one part created more bugs

● Developers scared to touch it

Page 22: Scaling your startup from po c to production a tale of technological and human struggles

Deployements became HELL

● Bringing down the site for hours

● Lighting up candles

● Praying

● Rolling back

● Felt like russian roulette

Page 23: Scaling your startup from po c to production a tale of technological and human struggles

Me, 10 years ago...

Page 24: Scaling your startup from po c to production a tale of technological and human struggles

Oops, I crashed TechCrunch :)

Page 25: Scaling your startup from po c to production a tale of technological and human struggles

How do we fix this? We patch it!

Page 26: Scaling your startup from po c to production a tale of technological and human struggles

Hire a QA Manager● Create Testing/Staging

env.● Test > Stage > Deploy● Feared by the Devs● Hated by the CEO

Page 27: Scaling your startup from po c to production a tale of technological and human struggles

Add an “Ops” guy● Create the build● Prepare the deploy● Locks everything so

devs can’t play with prod

● Wake up when servers on fire

● Also feared by the devs...

Page 28: Scaling your startup from po c to production a tale of technological and human struggles

Impact of poor code base on developers

● Frustrated of slow release process

● Chain of Command way too long● Feeling powerless and scared● Low trust & Autonomy● High hit-by-the-bus factor

Page 29: Scaling your startup from po c to production a tale of technological and human struggles

Impact on Product ● Frustration of slow

execution● Frustration of having to

ask for everything● No autonomy● Don’t understand

developers

Page 30: Scaling your startup from po c to production a tale of technological and human struggles

Introducing:

BIG-BANG REFACTORING

Page 31: Scaling your startup from po c to production a tale of technological and human struggles

Let’s rewrite everything from scratch!● Developers love it (they get rid of their tech debt)● Your CEO will HATE YOU.● Your Customers will HATE YOU.● You might never catch-up with your legacy system● You might just crash the company into the ground

Page 32: Scaling your startup from po c to production a tale of technological and human struggles

What you should do instead

Break down application into smaller autonomous units, piece by piece.

Break down team into smaller autonomous units

Automate what can be automated Continuous Integration and Deployment, and devops your way to success.

Page 33: Scaling your startup from po c to production a tale of technological and human struggles

Let’s get back to Microservices

● You’re in production ● Start to extract on well domain-defined part of your

monolith (ideally you did a preliminary work on that by designing your code in a modular way)

● Run it alongside your monolith, and have them communicate.

● Rinse & Repeat

Page 34: Scaling your startup from po c to production a tale of technological and human struggles

An example of domain-defined microservices

Page 35: Scaling your startup from po c to production a tale of technological and human struggles

Storage in Microservices

Page 36: Scaling your startup from po c to production a tale of technological and human struggles

Servers in Microservices Architecture

Page 37: Scaling your startup from po c to production a tale of technological and human struggles
Page 38: Scaling your startup from po c to production a tale of technological and human struggles

30-seconds meditation on Conway’s Law

Page 39: Scaling your startup from po c to production a tale of technological and human struggles

Introducing Cross-Functional Teams

● Autonomous team● Different set of skills

but working together● Own metrics and KPIs● Own software/DB● But new challenges...

Page 40: Scaling your startup from po c to production a tale of technological and human struggles

Microservices + Cross Functional teams = Lean Enterprise

● Unless you don’t have Product-Market Fit - then it’s premature scaling :)● It’s not Unicorns and Rainbows either● The bigger the monolith & the more rigid the organization, the harder it is●

Page 41: Scaling your startup from po c to production a tale of technological and human struggles

</microservices>

Page 42: Scaling your startup from po c to production a tale of technological and human struggles

Looking for money? Let’s talk about Tech Due Diligences ● It’s a risk assessment of your technology● You need to prepare for it● Most likely you’ll be locked one full-day

giving details about your technical choices, your engineering team, etc..

Page 43: Scaling your startup from po c to production a tale of technological and human struggles

Things to watch out for:

● Are you using any GPL code?● Do you have licences of all the products

you’re using● Ability to give a clear picture of the

architecture● Being transparent on technical debt and

your PLAN to reduce it.● Know where are the Single Points of

Failure in your architecture and have a PLAN.

● Is there any engineer that detain unique knowledge about a part of the code?

● What happen if X is hit by a bus?

Page 44: Scaling your startup from po c to production a tale of technological and human struggles

Designing your architecture for scale

○ Simple tools for simple tasks○ Automate, automate, automate: CI / CD○ Make sure your code is 90%+ Tested○ Monitoring everything early on.○ Measure everything: Analytics are vital.

Page 45: Scaling your startup from po c to production a tale of technological and human struggles

The Human Cheat Sheet of Doing a Startup

Page 46: Scaling your startup from po c to production a tale of technological and human struggles

Managing Expectations (your own and other’s)

○ Energy Management vs Time management

○ How to say NO to your CEO○ Technical debt○ Virtues of being honest

with oneself and transparent with others

Page 47: Scaling your startup from po c to production a tale of technological and human struggles

Things you always forget

The value of mentoring

Keeping focus

Sleep Paying it forward

Page 48: Scaling your startup from po c to production a tale of technological and human struggles

This is where you ask me questions!

Page 49: Scaling your startup from po c to production a tale of technological and human struggles

Scaling your team and building your network

Page 50: Scaling your startup from po c to production a tale of technological and human struggles

Why is Hiring Tech People so Hard?

Page 51: Scaling your startup from po c to production a tale of technological and human struggles

Source: StackOverflow Insights Survey 2017

Page 52: Scaling your startup from po c to production a tale of technological and human struggles

Source: StackOverflow Insights Survey 2017

Page 53: Scaling your startup from po c to production a tale of technological and human struggles

Source: StackOverflow Insights Survey 2017

Page 54: Scaling your startup from po c to production a tale of technological and human struggles

Hiring the right people○ Let’s talk about Divas○ Slow Experts vs Scrappy Doers○ The “Hit-By-The-Bus” factor

Page 55: Scaling your startup from po c to production a tale of technological and human struggles

Distributed Team or Onsite Team?● I’ve managed a team of 60+ engineers all over

the world:

○ Multiple US-location/timezones○ Bucharest○ Singapore○ France○ Germany

Page 56: Scaling your startup from po c to production a tale of technological and human struggles

Where to find talents?

1/ Your employee network

2/ The network you’re building

3/ Recruiters? Eerr no thanks.

Page 57: Scaling your startup from po c to production a tale of technological and human struggles

PAY IT FORWARD

It will eventually come back to you.

Page 58: Scaling your startup from po c to production a tale of technological and human struggles

How can I help?

@romefort

[email protected]

http://linkedin.com/in/romefort


Recommended