Startup Engineering for Non-Technical Founders

23
STARTUP ENGINEERING GROWTH HACKING ASIA

Transcript of Startup Engineering for Non-Technical Founders

Page 1: Startup Engineering for Non-Technical Founders

STARTUP ENGINEERINGGROWTH HACKING ASIA

Page 2: Startup Engineering for Non-Technical Founders

2

STARTUP ENGINEERING

Outsourcing vs Building a Team

Not always a case of black and white, what are the pros and cons and more importantly, how do you know when to pick one over the other.

Choosing your Technology Stack

What programming language and framework do you build your product on, and where do you deploy it to.

Managing your Product

How to make use of readily available tools to make things easier for your team.

PUTTING SOMETHING ON THE MARKET

Page 3: Startup Engineering for Non-Technical Founders

3

ON HIRING AND OUTSOURCING

STARTUPS HAVE SUCCEEDED (AND FAILED) WITH BOTH HIRING AND

OUTSOURCING

Hire your team once you’ve

achieved product market fit and

raised enough capital to build the

team right.

HIRE WHEN READY

FIND OUT WHAT’S RIGHT FOR YOU

Pay for quality, or pay anyway. Find

outsourcing partners that can

provide additional value, not just an

extra pair of hands.

PAY FOR QUALITY

Early stage startups face great

difficulties building a team. It’s

easier to outsource it, unless a co-

founder can built it.

OUTSOURCE EARLY

Page 4: Startup Engineering for Non-Technical Founders

4

OUTSOURCING VS HIRING

“It’s expensive to work with cheap people”

http://www.codelitt.com/blog/how-to-handle-client-comparing-hourly-to-cheap-overseas-development/

Page 5: Startup Engineering for Non-Technical Founders

5

EARLY STAGE STARTUPS

You Have No Bargaining Power

Good hires have tonnes of opportunities. You will be forced to settle. Gets expensive if you are offering equity.

Experience Managing a Product Team

Assuming you cobble together a team, made up of freelancers and friends, your challenge now is to make all this somehow work.

It’s Not Your Main Focus

Founders have many responsibilities; hiring a team and managing it to build a product can take away a lot from customer development, fundraising, etc.

AND HUMAN RESOURCES

Page 6: Startup Engineering for Non-Technical Founders

6

BUILDING A TEAM

You Have Traction, People Want to Join

Cool product bro! You have product market fit, hire away! No major pivots at this point.

You’ve Hired Your CTO, Right?

Your first developer needs to be top dog, otherwise other good developers will not join.

You’re Ready to Go All In

Building a tech team is a long term commitment. Retention can be a problem if developers are not sufficiently engaged. Do you have a good runway, and an exciting roadmap?

Page 7: Startup Engineering for Non-Technical Founders

7

OUTSOURCE!

Choosing Between Cheap & Expensive

Don’t take prices at face value. Cheap software development comes at a very high cost!

Fixed bid vs Time & Materials

Fixed bid doesn’t always mean lower risk, chances are, it increases it.

Dedicated vs Shared Team

Are the developers you work with burdened with several projects at a time?

Page 8: Startup Engineering for Non-Technical Founders

8

HIRING YOUR CTO

Technically competent and a leader

It’s important to hire a CTO that can lead and coach the team. Great developers don’t want to work in a team where they are not able to grow.

No technical knowledge, get help

How do you ensure the quality of CTO, when you don’t come from a technical background? Find a friend, or hire someone who has been there, done that.

Is he or she future proof?

CTOs need to be able to wear multiple hats. At an early stage, they are expected to build product, and to scale out the engineering team at a later stage. Vest their equity accordingly.

Page 9: Startup Engineering for Non-Technical Founders

9

TECH STACKS

CHOICE OF TECHNOLOGY DOESN’T MATTER

There’s no shame in building things

the ‘wrong way’ first. Use this to

your advantage by keeping

complexity low.

LESS IS MORE

UNTIL IT DOES

If you want to hire good developers

later on, you need to understand

what it takes to build software.

INVEST IN THE RIGHT CULTURE

Early stage startups: it’s alright if

your app is not scalable now. Scale

up when you have funds and

traction.

OPTIMISE FOR AGILITY

Page 10: Startup Engineering for Non-Technical Founders

ARCHITECTURESYSTEM

Image retrieved from https://github.com/system-engineering-hdm/ScalaDeploymentApp/wiki/Amazon-Web-Services

Page 11: Startup Engineering for Non-Technical Founders

11

http://stackshare.io/stacks

Page 12: Startup Engineering for Non-Technical Founders

12

A PRIMER

What is a backend of a web or mobile app?

Backend includes server (where your app is hosted) and database (where your data is stored) technologies. It is a web application that can serves your web front-end, or talks to your mobile app.

What is the front-end of a web app?

You may have heard of HTML, CSS, JavaScript, etc. These are bits of code that are read by the web browser, much like how MS Word opens .docx files.

What about mobile apps?

Mobile app developers typically do a mix of backend and front-end work. Front-end work on mobile is different from that of the web.

TO WEB AND MOBILE APPS

Page 13: Startup Engineering for Non-Technical Founders

13

BACKEND

API

MOBILE APPS

WEB BROWSERS

DB

Page 14: Startup Engineering for Non-Technical Founders

14

EARLY STAGE STARTUPS

Optimise For Agility, Not Scalability

You are looking for product-market fit, so you need to be able to test your validations as fast as possible. Don’t optimize prematurely.

Shaving Pennies Don’t Always Add Up

Save money where it counts, but don’t choose the $10 hosting plan over the $30 when it is going to cost you developer time.

Be Prepared To Throw Away Code

Sunk cost is sunk cost. Code is really good at holding businesses back, figure out your next steps and throw bad code away.

AND TECHNOLOGY STACKS

Page 15: Startup Engineering for Non-Technical Founders

15

GETTING IT RIGHT

Invest in Code Quality & Automated Testing

Your technology is a first class business concern, and you should treat it that way. If you do not invest your team into building your product the right way, you will lose talent.

Don’t Reinvent the Wheel

Stand on the back of giants, by using well-built open source libraries. Sometimes, it makes sense to write your own, but be wary of the total cost of ownership (TCO).

Avoid Major Code Rewrites

Rewrites are more costly than planned for, and can kill a startup. Typically worthwhile as a strategic play for larger companies, and even then rarely. If you rewrite, treat it as a new product.

Page 16: Startup Engineering for Non-Technical Founders

16

ON PRODUCT MANAGEMENT

BUILDING THE RIGHT FEATURES

Saying that everything is important

is a failure to prioritize, and will

eventually lead to project failure.

PRIORITIZE

AT THE RIGHT TIME

Improve the process for building

and testing features organically, one

step at a time.

OPTIMIZE

Product management is not so

much a process for building, as it is

for learning.

LEARN

Page 17: Startup Engineering for Non-Technical Founders

17

EARLY STAGE STARTUPS

Validate Ideas with Non-Product MVPs

Identify key assumptions and validate them with experiments that cost next to nothing. Don’t start with building a product right off!

Come up with Visual Specifications

Start with user stories, simple sentences that describe the value of features you are building. Use sketches and storyboards to flesh out detail.

Once Again, Less Features is More

Building the entire product outright is risky use of time if we don’t if people will use the features. Find out what went right or wrong.

AND PRODUCT MANAGEMENT

https://medium.com/@mdubakov/visual-specifications-1d57822a485f

Page 18: Startup Engineering for Non-Technical Founders

18

BACKLOG IN-PROGRESS DONE

Source: Running Lean, Ash Maurya

Page 19: Startup Engineering for Non-Technical Founders

19

BACKLOG IN-PROGRESS DONE

Source: Running Lean, Ash Maurya

Page 20: Startup Engineering for Non-Technical Founders

20

BACKLOG IN-PROGRESS DONE VALIDATEDLEARNING

IN-PROGRESS VALIDATEQUALITATIVELY

VERIFYQUANTITATIVELYDESIGN CODE PARTIAL

ROLLOUTFULL

ROLLOUTBACKLOG

BU

GS

FEAT

UR

ES

Source: Running Lean, Ash Maurya

Page 21: Startup Engineering for Non-Technical Founders

21

TOOLS

Page 22: Startup Engineering for Non-Technical Founders

22

TINKERBOX STACK

CODE QUALITY CONTINUOUS DEPLOYMENT

On average, our projects score

87.17% test coverage, based on 27

of our recent projects, giving us

confidence in our codebases.

TEST COVERAGE

1 2

3

We employ static code analysis on

our codebases, using CodeClimate.

On average, we scope a GPA of

3.59 (max 4.0), of 34 projects.

Using Heroku, or equivalent set up,

we configure automated pipelines

for deploys to our staging &

production environments.

STAGING PRODUCTION

CLOUDFLARE

(CDN)

APPSIGNAL

GITHUB

CIRCLE CI CODECLIMATE

AUTOMATED DEPLOYMENTS

TYPICAL DEPLOYMENT SETUP

SLACK

Page 23: Startup Engineering for Non-Technical Founders

23

WWW.TINKERBOX.COM.SG BUILD WEB AND MOBILE APPS THE RIGHT WAY

JARYL SIMJaryl has been programming for about 15 years, starting off with C/C++. He has been writing ruby & rails since 2007.

[email protected]

HTTPS://GITHUB.COM/JARYLGITHUB

HTTPS://TWITTER.COM/JARYLTWITTER