2. 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
3. 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
4. 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/
5. 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
6. 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?
7. 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?
8. 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.
9. 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
12. 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
14. 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
15. 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.
16. 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
17. 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
22. 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
23. 23
WWW.TINKERBOX.COM.SG BUILD WEB AND MOBILE APPS THE RIGHT WAY
JARYL SIM
Jaryl has been programming for
about 15 years, starting off with
C/C++. He has been writing ruby
& rails since 2007.
JARYL@TINKERBOX.COM.SG
EMAIL
HTTPS://GITHUB.COM/JARYL
GITHUB
HTTPS://TWITTER.COM/JARYL
TWITTER