The Lean Start-up Ninja

yrekazzyzxamuckInternet and Web Development

Dec 4, 2013 (4 years and 6 months ago)


The Lean Start
up Ninja

Martijn Verburg (@karianna)

Ben Evans (@kittylyst)


Who are we?

NINJAS (obviously)

And mostly lean ;

Martijn Verburg (@karianna)

Founder & CTO at jClarity

aka "The Diabolical Developer"

Java Champion, J1 Rockstar, Author, Speaker etc <yawn>

Ben Evans (@kittylyst)

Founder & Chairman at jClarity

Deep dive technologist

Java Champion, J1 Rockstar, Author, Speaker etc <yawn> /


What our start
up does

See what we did here? ;

Java/JVM Performance Analysis Tools

For cloud and enterprise

Lots of deep dive or bleeding edge tech

Hotspot (JVM) internals

Linux internals

Virtualisation technologies


Angular.js & pals



What we're going to cover

How to be Lean & Agile

What does this really mean?

How do you implement it?

How to be a Ninja

Ninjas were actually on the good team originally

Do not read Hacker News


Lessons from start
up life


MongoDB, Angular JS, vert.x and more!)


From office hours to bust ups and in between

Angels / VCs / Lawyers

aka Vampires and Sharks

Part I

Lean and Agile

Why it's important

Why the principles matter

Implementation in your culture

Cargo Cult is bad

So why "Lean" and "Agile"?

People bang on about this....

But why is it important in start
up life?

Is it not important elsewhere?

Why "Lean" and "Agile"?

Where you actually end up

ups transition...... a lot.

Their entire product / idea / market

More than twice in a single year

We transitioned product twice

GC Log Analyser to general purpose performance analyser

We transitioned markets three times

From cloud to enterprise and back to cloud again

We laugh at our original business plan

Don't make my eyes bleed

Famous post by a VC/Investor

WHO are your target market?

Make them real people

WHY will they use your product?

This varies for different customers

HOW will they give you money?

Our FD says
"Make money while you sleep"

Lean / Agile practices that helped


24 hour warning on anything that went right or wrong

Great for team building (celebrate success / help on failure)


Kept us honest with each other (most of the time)

Small, 1
week long achievable sprints

With a very real goal at the end

Even planning 2 sprints in advance didn't work

What we failed to do

Validate product against users, early.

We waited too long to get our product out as a Beta

Revenue stream from product, early.

Nothing beats a self sustaining business

Even if you think your product isn't up to scratch yet

Sales and Marketing

Need to get someone in at the start

If you've solve Cold Fusion but can't sell it....

Cargo cults

You are not your users

Our peer group are Java/JVM performance specialists

Our customers are (generally speaking) not specialists

Not Invented Here (NIH)

Very easy to fall into when you're a green field product

We have a strict culture of
"Avoid if at all possible"

Part II

Be a Ninja


Everything is a first class citizen

Technical Debt

Picking the right technology



It changes *everything*

click release / deploy

We took a long time to get there

But we always worked on it each sprint

Chef / Vagrant solves everything?


You need shell scripts, build tool skills, AWS skills,
networking skills, Linux skills, SSL skills...

Everything is a first class citizen

Only as strong as your weakest link

All tech should be treated 1st class

Your product code

Your website code

Your customer reporting code

Your accounting / E
Commerce code

Technical Debt

Is a much bigger risk than people think

It slows you down

It makes you inflexible

We focus a sprint ~1/month on this

Picking the right technology

Follow the "Matt Raible" principle

See his decision matrix on Java/JVM web frameworks

Set out criteria

Add weightings

Run the numbers

Prototype the top two


Consumers are spoiled today

Beautiful and useful UI/Ux, thanks Apple for the trend!

They expect the same at work

Poorly thought out Ux will kill your idea

Your idea can get "lost" in the noise

We hired an expert!

But we failed on running studies / labs

Part III

Lessons from start
up life

Minimum Viable Product (MVP)

Being a business


Vultures, Vampires and Sharks

And some good guys


Minimum Viable Product

Cold hearted capitalist

"Whatever people will pay for"

Hackernews Fanboy/girl

"What I coded over the weekend"

The perfectionist

"When it's ready"

The ideal scenario

Gets you revenue and receives generally positive press

Being a business

Identify if you need professional help

Tech people aren't always good business people

Get strong mentors

Be prepared to spend equity on this

Admin matters as much as product

Invoicing, Accounting, Legal, Sales, Marketing etc

Stick to your vision


Culture varies massively

Even in the so called meritocracy of the tech world

Remote vs local teams

Distributed teams are hard

Technology can help

Social infrastructure is far more important

Hierarchies are minimal

Act like "A Boss" and you'll quickly lose respect

It's like a family

Fight, forgive and move on

Vultures, Vampires and Sharks

When things are looking tough

You'll get 'rescue offers'

It's just business, don't take it personally

But don't take the 'offer'

Angels are Devils in disguise

Most VC's are just plain evil

Do your research

Lawyers are expensive

They smile lots and have nice suits

That suit is more than your monthly run rate

There are good guys

Aimar Capital

Moss Mosimann is an investor who gets it

They actually mentor the start

Crowell and Moring

Lawyers who have a specialist arm for tech start

Guide you through Patents, Trademarks, Contracts etc


We had to chose a modern tech stack

Asynchronous messaging

Browser based UI that had great Ux


Minimum reliability and scalability

Could scale if need be

Could failover if need be

Security / Data protection

SaaS service

don't divulge customer data

Customer data needs to live georgraphically

Chef Report Card



Recipes galore!

Java/JVM recipes

PHP/Wordpress recipes

MongoDB recipes...


Inconsistent command line

Fairly complex

Doesn't do deletions

Vert.x 2.x



Websocket support

Eventbus shared across

Easy, no shared state

CSP style concurrency

Eventbus to the browser!

Multiple JVM language support

We used Groovy

Vert.x 2.x


NIH Logging

Release a new version without supporting old version

No security

SSL support in hazelcast

Not for eventbus traffic

Architected for local data centres

When we’re moving into the cloud

MongoDB Report Card

MongoDB Report Card



Document models

Nice Java API


No support for timezones other than UTC


compiled own SSL
enabled daemon

Difficult to sysadmin

Election Algorithm broken

constant reconnects

Not an issue, but very confusing

Groovy 2.x scorecard



Looks like Java

Has fairly nice JSON and handler support

Friendly devs, respond via twitter


2.0 was a joke (compiler broken etc)

IDE fail

Build system fail

Angular JS



Ability to implement early Html5 features


Easy to understand and read

way data binding

Structures your code into simple

Client side templating

Clean language separation vs templating

Angular JS


> Testacular/Karma

Requires node.js <blurgh>

Google search gives you testicular cancer results

Doesn’t fit the eventbus so well


Documentation/Stackoverflow presence

People are familiar with jQuery, declarative is new to them.

Javascript tooling sucks



Maven integration


ups are very tough

Beautiful and useful UI/Ux, thanks Apple for the trend!

They expect the same at work

Poorly thought out Ux will kill your idea

Your idea can get "lost" in the noise

We hired an expert!

But we failed on running studies / labs

Often you will feel like this

But at least you don't work for

Built for the Cloud. Works in the Enterprise.


Martijn Verburg (@karianna)

Ben Evans (@kittylyst)