53
@wseliga #DevoxxPL Platinum Sponsors: Ten lessons I painfully learnt while moving from software developer to entrepreneur/CEO role Wojciech Seliga Spartez co-founder & co-CEO, @wseliga

Ten lessons I painfully learnt while moving from software developerto entrepreneur/CEO role

Embed Size (px)

Citation preview

Page 1: Ten lessons I painfully learnt while moving from software developerto entrepreneur/CEO role

@wseliga#DevoxxPL

Platinum Sponsors:

Ten lessons I painfully learnt while moving from software developer

to entrepreneur/CEO role

Wojciech Seliga

Spartez co-founder & co-CEO, @wseliga

Page 2: Ten lessons I painfully learnt while moving from software developerto entrepreneur/CEO role

z

About me

Page 3: Ten lessons I painfully learnt while moving from software developerto entrepreneur/CEO role

zz

Why I am here

Audycja zawiera lokowanie produktu :)

Page 4: Ten lessons I painfully learnt while moving from software developerto entrepreneur/CEO role

zz

Don’t bring me problems.Bring me solutions.

#0

Page 5: Ten lessons I painfully learnt while moving from software developerto entrepreneur/CEO role

z

Negative thinking destroys your brain

Page 6: Ten lessons I painfully learnt while moving from software developerto entrepreneur/CEO role

zz

“But” vs “And”

Page 7: Ten lessons I painfully learnt while moving from software developerto entrepreneur/CEO role

z

Negative thinking destroys people around you

“Shit, shit … everywhere” “Flowers, flowers … everywhere”

Phot

o by

Oliv

er W

ild, C

C B

Y 2.

0

Phot

o by

ear

l258

, CC

BY-

NC

2.0

Page 8: Ten lessons I painfully learnt while moving from software developerto entrepreneur/CEO role

zz

The entrepreneur's dilemma#1

Page 9: Ten lessons I painfully learnt while moving from software developerto entrepreneur/CEO role

z

The entrepreneur's dilemma

# Maintaining friendships. # Building a great company. # Spending time with family. # Staying fit. # Getting sleep.

Pick 3 https://twitter.com/randizuckerberg/status/145030699966136320

Page 10: Ten lessons I painfully learnt while moving from software developerto entrepreneur/CEO role

z

Dealing with the entrepreneur's dilemma

0

25

50

75

100

2007 2008 2009 2010 2011 2012 2013 2014 2015

Maintaining friendships Building a great company Spending time with familyStaying fit Getting sleep

Page 11: Ten lessons I painfully learnt while moving from software developerto entrepreneur/CEO role

zz

The focus means NOT doing things

#2

Page 12: Ten lessons I painfully learnt while moving from software developerto entrepreneur/CEO role

z

Focus

• Atlassian does not negotiate prices, does not do customisations, does not implement their products on a customer site.

• IKEA does not manufacture custom stuff, does not offer transport, does not provide assembly service (just via partner companies)

• Twitter does not support tweets longer than 140 characters*

Pict

ure

of ih

tath

o C

C B

Y-N

C 2

.0

Page 13: Ten lessons I painfully learnt while moving from software developerto entrepreneur/CEO role

z

PPHU “<name>EXIM”

Photo by One Way Stock - CC BY-ND 2.0

Page 14: Ten lessons I painfully learnt while moving from software developerto entrepreneur/CEO role

z

Time - the most limited and valuable resource

• Founders’ time is super precious - treat it as it would cost 1000 USD per hour. Then think if it’s worth spending on what you spend it.

• Everything you do, own, think about or care for introduces a tax. This tax sooner or later will kill you, unless you start limiting what you do, own, think about or care for.

Meeting Room

Page 15: Ten lessons I painfully learnt while moving from software developerto entrepreneur/CEO role

zz

If you want something new, you have to stop doing something old

P E T E R F. D R U C K E R

Photo by AP Photo/Claremont Graduate University

Page 16: Ten lessons I painfully learnt while moving from software developerto entrepreneur/CEO role

z

(De)Focus - our case• Services for Atlassian - interesting for engineers & quite profitable,

limited short and mid-term risk, no diversification • Consulting & custom development - very exciting, access to field

market, source of ideas and real requirements, good money, not scalable, could be risky and tiresome (e.g. migrations scheduled for Easter)

• Training services - great money vs time spent, not scalable, no risk • Own products - risky, potential highest ROI, most emotionally rewarding,

scalable.

Another company

One company

Page 17: Ten lessons I painfully learnt while moving from software developerto entrepreneur/CEO role

z

Focus vs. Pivot

Page 18: Ten lessons I painfully learnt while moving from software developerto entrepreneur/CEO role

zz

An idea alone is worth nothing, the execution is worth everything

#3

Page 20: Ten lessons I painfully learnt while moving from software developerto entrepreneur/CEO role

z

Stupid ideas, great ideasIt really does not matter…

Page 21: Ten lessons I painfully learnt while moving from software developerto entrepreneur/CEO role

z

Page 23: Ten lessons I painfully learnt while moving from software developerto entrepreneur/CEO role

z

Iterate, You Fools!

Learn and Adjust!

Page 24: Ten lessons I painfully learnt while moving from software developerto entrepreneur/CEO role

z

Failure Permitted Zone

Photos courtesy of SpaceX - public domain!

Cost of failure is

close to zero

Page 25: Ten lessons I painfully learnt while moving from software developerto entrepreneur/CEO role

zz

Automation introduced too early is a waste

#4

Page 26: Ten lessons I painfully learnt while moving from software developerto entrepreneur/CEO role

zz

Our story - waste at Spartez

Page 27: Ten lessons I painfully learnt while moving from software developerto entrepreneur/CEO role

z

Problems with automation

• Once automation is introduced it removes us from better understanding of given process (unless we keep paying close attention to it). If it’s too early…

• Automating of a bad process does not make it any good.

• Usually given process won’t survive the initial contact with the battlefield, automating it too early is then a pure waste.

“There is nothing quite so useless, as doing with great efficiency, something that should not be done at all.”, Peter Drucker

Page 28: Ten lessons I painfully learnt while moving from software developerto entrepreneur/CEO role

zz

Too much order means seeking your comfort zone

#5

Page 29: Ten lessons I painfully learnt while moving from software developerto entrepreneur/CEO role

zz

If everything seems under control, you're not going fast enough

M A R I O A N D R E T T I

Photo by Legends of Motorsports - CC BY-SA 2.0

Page 30: Ten lessons I painfully learnt while moving from software developerto entrepreneur/CEO role

z

Engineers seek Order

• By default engineers want to see or establish an Order around them

• Software engineers want it even more, as the software is infinitely flexible - refactoring, renaming, code style, process improvement & automation, “Clean Code”, …

• This is all good, but … it’s also seeking your comfort zone - something where everything is under your control, everything is predictable, everything is safe Photo by Rich Renomeron - CC BY-NC-ND 2.0

Page 31: Ten lessons I painfully learnt while moving from software developerto entrepreneur/CEO role

z

Page 32: Ten lessons I painfully learnt while moving from software developerto entrepreneur/CEO role

zz

Maintaining full Control and eradicating all Chaosis a very tough battle.

Your competitors may be not be playing this game…

Page 33: Ten lessons I painfully learnt while moving from software developerto entrepreneur/CEO role

zz

The way how one ends, not begins,defines true professionalism

#6

Page 34: Ten lessons I painfully learnt while moving from software developerto entrepreneur/CEO role

zz

Prawdziwego mężczyznę poznaje się nie po tym, jak zaczyna, ale jak kończy.

L E S Z E K M I L L E R

Photo by Adrian Grycuk - CC BY-SA 3.0

Page 35: Ten lessons I painfully learnt while moving from software developerto entrepreneur/CEO role

z

The beginning vs the end in practice• brownfield projects • deployment • documentation • effective & timely support • bug-fixing • security fixes • performance improvements • handling incidents • roll-backs and roll-forwards • migrations, upgrades • user training & onboarding

• greenfield project • proof of concept • evaluation of new technologies • initial design • planning • “inception” (a la RUP) • prototyping • alpha versions • rewriting • redesigning • rearchitecting

While there is value in the items on the left, users & customers value the items on the right more.

VS

The

begi

nnin

g

The

end

Page 36: Ten lessons I painfully learnt while moving from software developerto entrepreneur/CEO role

zz

The most important skill for engineersis communication

#7

Page 37: Ten lessons I painfully learnt while moving from software developerto entrepreneur/CEO role

z

Software Engineering is about Humans

• Engineering is about working with humans for humans (solving their problems) • We are taught so little about how to work with humans - how to communicate • Software development nowadays is a team sport

teach

explainconvince

listen

understand

warn

surprise

feel

sympathise

advise

Page 38: Ten lessons I painfully learnt while moving from software developerto entrepreneur/CEO role

z

Technical Skills

Communication Skills

Page 39: Ten lessons I painfully learnt while moving from software developerto entrepreneur/CEO role

z

Page 40: Ten lessons I painfully learnt while moving from software developerto entrepreneur/CEO role

z

They all suck for 1:1 communication

in comparison to old plain conversation

Photo by Francois Bester - CC BY-ND 2.0

Page 41: Ten lessons I painfully learnt while moving from software developerto entrepreneur/CEO role

zz

Half-products are worth far less than half.

#8

Page 42: Ten lessons I painfully learnt while moving from software developerto entrepreneur/CEO role

z

“Sure, it’s possible”

• Developers have tendency to treat half-baked products as “done”. • Half-baked means: those which still require installation, customisation, reading

documentation (because they are unintuitive), configuration or even scripting/programming. • “Sure, it’s possible” - is the mantra we love to use, but our customers hate. • A lot is “possible”. It’s even possible that you will be Polish president one day. • “Possible” does not mean anything in software. It has to work here and now - ideally OOB,

intuitively, fast.

A product almost solving customer problem cost only a small fraction (if you are lucky) of what it could cost if it was solving entirely the customer problem.

Page 43: Ten lessons I painfully learnt while moving from software developerto entrepreneur/CEO role

zz

Matching founders are key#9

Page 45: Ten lessons I painfully learnt while moving from software developerto entrepreneur/CEO role

z

(Theoretical?) Example1. super strong technically, challenging everything and everyone, perfectionist, pessimist 2. bringing order & peace, totally reliable and responsible, predictable, realist 3. super fast builder & learner, caring for customers, mission-impossible person, optimist 4. influencer, inspiring, having strong vision, focused on strengths & opportunities, idealist

Photo from Xiaomi MIUI

Page 46: Ten lessons I painfully learnt while moving from software developerto entrepreneur/CEO role

zz

Small and simple is easyBig and simple is damn difficult

#10

Page 47: Ten lessons I painfully learnt while moving from software developerto entrepreneur/CEO role

z

Dealing with complexity is hard• The simplicity needs constant care (our energy), complexity increases autonomously

otherwise. • One cannot achieve simplicity by adding things to already complex (or complicated)

system. Simplicity is achieved by removing, not adding. • When your organisation grows you are adding things. It’s very difficult to remove

anything. People think that adding is great and removing is bad. I am yet to see how to overcome it.

• Some simple development rules apply nicely: avoid ifs (corner cases), DRY (duplicate functions), name functions well and … refactor.

• It’s easy to kill diversity and innovation by the attempts to achieve simplicity by standardisation. <=>

Page 48: Ten lessons I painfully learnt while moving from software developerto entrepreneur/CEO role

zz

Simplicity is the ultimate sophistication.L E O N A R D O D A V I N C I

Page 49: Ten lessons I painfully learnt while moving from software developerto entrepreneur/CEO role

zz

Do not believe into magic bullets.The context is everything

#11

Page 50: Ten lessons I painfully learnt while moving from software developerto entrepreneur/CEO role

z

So, do we software engineers suck as CEOs?

• understand technology - the best currently vehicle letting us change the world • share knowledge, intensely collaborate (feel secure) • have attention to details, are precise in setting and measuring goals (e.g. growth hacking) • strive for simplicity • are used to work with quick cycles with a short feedback loop - key to learn fast • can fail fast • inspire masses - bringing innovations from IT to all other industries

It’s not that bad after all. We have a huge potential!

Software engineers:Leader

Manager

Page 51: Ten lessons I painfully learnt while moving from software developerto entrepreneur/CEO role

zz

People who are crazy enough to think they can change the world, are the ones who do

S T E V E J O B S

Page 52: Ten lessons I painfully learnt while moving from software developerto entrepreneur/CEO role

z

Page 53: Ten lessons I painfully learnt while moving from software developerto entrepreneur/CEO role

[email protected]

@wseliga

Q&A

We are

hiring

in Gdańsk!

Shameless plug