The Technical Co-Founders Handbook

55
Technical Co-Founder Handbook Joseph K Ziegler | @jiyosub | jiyosub YOU’RE IN A STARTUP!

Transcript of The Technical Co-Founders Handbook

Technical Co-Founder

Handbook

Joseph K Ziegler | @jiyosub | jiyosub

YOU’RE IN A STARTUP!

Summary

High level overview for the

Head Hacker

in a startup

Agenda

• Who is this Technical Co-Founder

• Choosing a Stack

• Development Tools

• Design Patterns

• Deployment Patterns

Agenda

• Who is this Technical Co-Founder

• Choosing a Stack

• Development Tools

• Design Patterns

• Deployment Patterns

The Technical Co-Founder

Why even have one?

$

Rule #1

Long term success is impacted by

technical prowess

Winning Characteristics

How do I Find him?

Rule #2

It’s a numbers game and you have

competition

Motivation

Rule #3

Nerds are motivated by more than

$$$

Idea Validation

Rule #4

Validate your idea early and cheaply!

Static Website

Via a Blog

Good Old PowerPoint

Agenda

• Who is this Technical Co-Founder

• Choosing a Stack

• Development Tools

• Design Patterns

• Deployment Patterns

Choosing a Stack

Choose an OS

Rule #5

Go Open Source First

Choose a Language

Choose a LanguageStatic | Multiple languages | Mono on Linux | Good Docs

& Support | Proprietary | $$$

Static | Multiple languages on the JVM | Good Docs | Big

Developer Community | Heavy Frameworks | Oracle?

Dynamic | Scientific | Easy | Strong Cloud Support |

Scattered Docs & Libs | Light | Single Threaded

Dynamic | Easy | Learning Resource | Web Support |

Light | Scaling Limits

Dynamic | Vast Libraries | Big Developer Community |

Long History | Spaghetti Code | Horrible to Awesome

Dynamic | New | Skill Reuse | Event Driven | Limited

Libraries and Breadth | Smaller Community

Choose a Language

Look at the Developer Community

Look at your Problem Space

Be Aware of the Future but not Controlled By It

Rule #6

Pick the Language That Helps You

Iterate the Fastest

Choose a Framework

Rule #7

Stand on the Shoulders Giants

- or -

Don’t Re-invent the Wheel if it

Works for Now

Choose a Database

DynamoDB

Rule #8

Go Hybrid

Use SQL for the Freebies and

NoSQL for Name / Value Storage

Choose a Platform

Rule #9

Cloud First or Go Home

Agenda

• Who is this Technical Co-Founder

• Choosing a Stack

• Development Tools

• Design Patterns

• Deployment Patterns

Source Control

Rule #10

Use Distributed Hosted Source

Control

Continuous Integration

Rule #11

Start Continue Integration Early

Infrastructure as Code

Rule #12

Start Automation Early

Team Tools

Rule #13

Use Cheap and Free Things

Agenda

• Who is this Technical Co-Founder

• Choosing a Stack

• Development Tools

• Design Patterns

• Deployment Patterns

Benefits of the Cloud

Rule #14

Build for the Cloud

Automation & Bootstrapping

Loose Coupling

Managed Services

Rule #14

Build for the Cloud

Automation & Bootstrapping

Loose Coupling

Managed Services

Rule #14

Build for the Cloud

Automation & Bootstrapping

Loose Coupling

Managed Services

Rule #14

Build for the Cloud

Automation & Bootstrapping

Loose Coupling

Managed Services

Agenda

• Who is this Technical Co-Founder

• Choosing a Stack

• Development Tools

• Design Patterns

• Deployment Patterns

Architecture Alpha

DeveloperStation

Source Control

CI Server

Durable Cloud Storage

Load Balancer Compute Database

Durable Cloud Storage

Stage & Test Environment

Development Environment

Rule #15

Everything is in Source Control

Architecture Beta

DeveloperStation

Source Control

CI Server

Durable Cloud Storage

Load Balancer

Compute Database

Durable Cloud Storage

Production Environment

Stage & Test Environment

Development Environment

Rule #16

Deploy with the CI Server

Architecture 1.0Source Control

CI Server

Durable Cloud Storage

Load Balancer Compute

Database

Durable Cloud Storage

Stage & Test Environment

Hot Standby

Super Secret Rule #16

Rule #16

The Whole Architecture

is the Application…..

Architecture as the Application Source Control

CI Server

Durable Cloud Storage

Stage & Test Environment

Version 1Developer

Station

Architecture as the Application Source Control

CI Server

Durable Cloud Storage

Stage & Test Environment

Version 1

Version 1.1

DeveloperStation

Architecture as the Application Source Control

CI Server

Durable Cloud Storage

Stage & Test Environment

Version 1.1

DeveloperStation

Architecture as the Application Source Control

CI Server

Durable Cloud Storage

Stage & Test Environment

Version 1.1

Version 2

DeveloperStation

Technical Co-Founder

Handbook

Joseph K Ziegler | @jiyosub | jiyosub

YOU’RE IN A STARTUP!

Thank you!