10 random things learned being a 
startup CTO +Coder
Who am I? 
www.muehlemann-popp.ch/de
What startups was I involved?
tilllate.com – Nightlife portal with 2Million visitors
Quelle: Schweizer Illustrierte, im 2006
Sobrado – Broker Workflow tool
Wishlist 
www.wunschlischte.ch
10 random things I learned…
Disclaimer 
 It’s not scientific 
 It’s not well-structured 
 It’s my own opinion
1. Log everything. 
• Log pageviews 
including GET and 
POST variables 
• Log every activity of 
background tasks in 
log files 
Debugging is much easier
2. Start simple. 
• Keep the system 
simple. 
• Simple = easy to 
understand 
• You can always 
refactor later 
 Make your code friendly 
to refactoring (Unit Tests, 
Method Names) 
If your kid wants a 
helicopter, he will be 
happy with this :-)
3. Involve your team. 
Let the team decide 
about technology, 
architecture AND 
features 
Benefits: 
The team is more 
engaged 
More people -> better 
solutions 
Team discussions M&P Style
4. Don't follow trends too quickly. 
Before you choose a 
technology, make sure 
that it will still exist in 5 
years 
Tests: 
How many books are in 
Amazon about the 
technology? 
How many commits does 
a project have? 
8-Track players were once top 
technology.
5. Keep your code clean an tidy. 
• Remove unused code 
• Rename methods if the 
function of the method 
does not correspond 
anymore to what the 
method does 
Cleaning is Fun!
6. Defensive programming! 
• Think of everything 
that can go wrong and 
be ready to handle 
those cases
7. Pay attention to security! 
• Use the OWASP Top- 
10 to check your code 
security 
https://www.owasp.org 
• Filter and validate 
incoming data -> only 
clean data in your 
system (DB, code etc.)
8. Your code will live longer than you expect! 
• Be nice to the people 
who will work on your 
code after you left the 
company. They are 
engineers like you. 
• If you find a mess, 
clean it up 
• Bad code is not an 
excuse to add more 
bad code 
Even at 80 years old, your code 
should be able to do skateboard tricks 
:-)
9. Choose your symbol names carefully! 
The code should replace a 
documentation, so: 
• Avoid mistypings (it 
looks unprofessional) 
• Don’t be afraid of long 
names (your IDE will 
autocomplete for you) 
Be careful as an artist when coding
10. There should always be fun tasks! 
Developers which enjoy their 
task … 
• …are more focused 
• …think about the project 
even after work 
• …will stay longer in your 
company 
 When choosing projects, 
always ask yourself whether 
your engineer will enjoy doing 
it
Thank you! 
Silvan Mühlemann 
Facebook: https://www.facebook.com/silvan.muehlemann

141125 10 lessons learned being a startup cto

  • 1.
    10 random thingslearned being a startup CTO +Coder
  • 2.
    Who am I? www.muehlemann-popp.ch/de
  • 3.
    What startups wasI involved?
  • 4.
    tilllate.com – Nightlifeportal with 2Million visitors
  • 5.
  • 6.
    Sobrado – BrokerWorkflow tool
  • 7.
  • 8.
    10 random thingsI learned…
  • 9.
    Disclaimer  It’snot scientific  It’s not well-structured  It’s my own opinion
  • 10.
    1. Log everything. • Log pageviews including GET and POST variables • Log every activity of background tasks in log files Debugging is much easier
  • 11.
    2. Start simple. • Keep the system simple. • Simple = easy to understand • You can always refactor later  Make your code friendly to refactoring (Unit Tests, Method Names) If your kid wants a helicopter, he will be happy with this :-)
  • 12.
    3. Involve yourteam. Let the team decide about technology, architecture AND features Benefits: The team is more engaged More people -> better solutions Team discussions M&P Style
  • 13.
    4. Don't followtrends too quickly. Before you choose a technology, make sure that it will still exist in 5 years Tests: How many books are in Amazon about the technology? How many commits does a project have? 8-Track players were once top technology.
  • 14.
    5. Keep yourcode clean an tidy. • Remove unused code • Rename methods if the function of the method does not correspond anymore to what the method does Cleaning is Fun!
  • 15.
    6. Defensive programming! • Think of everything that can go wrong and be ready to handle those cases
  • 16.
    7. Pay attentionto security! • Use the OWASP Top- 10 to check your code security https://www.owasp.org • Filter and validate incoming data -> only clean data in your system (DB, code etc.)
  • 17.
    8. Your codewill live longer than you expect! • Be nice to the people who will work on your code after you left the company. They are engineers like you. • If you find a mess, clean it up • Bad code is not an excuse to add more bad code Even at 80 years old, your code should be able to do skateboard tricks :-)
  • 18.
    9. Choose yoursymbol names carefully! The code should replace a documentation, so: • Avoid mistypings (it looks unprofessional) • Don’t be afraid of long names (your IDE will autocomplete for you) Be careful as an artist when coding
  • 19.
    10. There shouldalways be fun tasks! Developers which enjoy their task … • …are more focused • …think about the project even after work • …will stay longer in your company  When choosing projects, always ask yourself whether your engineer will enjoy doing it
  • 20.
    Thank you! SilvanMühlemann Facebook: https://www.facebook.com/silvan.muehlemann