10 Practical Rules for Cleaner Code

May 9, 2018

This article is for my nerd friends. It is for software engineers that look for inspiration to write cleaner code. 

Clean code is simple. Clean code is easy to modify. Clean code has few bugs. Clean code requires little work and achieves a better result.

Work smart - write clean code.

 

"Everything should be made as simple as possible - but not simpler."

 

1) Have conventions for code formatting and naming.

Do all your method and variable names start with lower case? Do all your class names start with upper case? For compound words, do you use camelCase? In method declarations, do you open the curly braces in a new line?

You want to have a set of rules how to format and name things. Clean code minimizes complexity. If there is inconsistent naming, you increase code complexity. In dirty code, you have to look up names each time you want to reuse code. Clean code follows conventions. Always.

 

2) Write out everything. Do not use abbreviations.

Software Developers don't spend most of the time typing code. They spend most of the time reading it. Clean code is easy to read.

You never want to use abbreviations to save a few seconds of typing. Instead, you want your code to be easy to understand. If you have a method that subtracts a discount from a price, don't call it subtrDisc($p). Instead, call it subtractDiscountFromPrice($price).

 

3) Name variables according to the company's terminology.

Each company develops its own terminology. For example, a high-value customer might be called Premier Customer. An inbound customer request that still needs handling might be called a support ticket.

When writing code, use the company's terminology. Don't name a variable $highValueCustomer when your company calls those people Premier Customers. By using the company's terminology, you have a clear understanding of the code's intentions - even after many years have passed.

 

4) Use short methods instead of comments.

A lot of fresh developers think that commented code is good code. I disagree. Comments are like dead code - they rot and nobody updates them. Comments get outdated as the code base changes. Over time, many comments become misleading rather than helpful.

If you have a block of code that is encapsulated in one logical concept - don't write a comment at the top. Instead, extract another short method. Most IDEs have shortcuts for method extraction - for example, CTRL+ALT+M in JetBrains' IDEs. The method name should be inspired by the comment you wanted to write. This way, you increase code reusability and readability. 

 

5) Have a precise and consistent file and folder structure.

If your code is dirty, you use "Find Everywhere" in your IDE to search for the place you need to modify. If your code is clean and has a consistent structure, you can tell the location of every logic by browsing through the files. The location of a logic should be predictable. If you apply discounts, have a DiscountCalculator Class. Don't put the logic somewhere hidden in a Controller Class, or in a ShoppingCart Class or in a Checkout Class.

 

6) Use the same naming throughout every layer. Data -> Manipulation -> Presentation.

Giving the same thing multiple names is like opening Pandora's box of unnecessary complexity. You will flip between files to recall what synonyms have been used at what point in the code. Don't be the person that does the following: Your table is called "accounts"; the related DTO/Model is called "Customer"; the handling controller is the UsersController; you show the data at "https://www.domain.com/my-portal" which renders a view file called "mySettings.html" and uses a dedicated styling sheet called clientSettings.css with a javascript file called customerScripts.js.

Name it all the same. How does your business call them? Buyers? Then use that terminology and call everything related to the word buyer - from data (table) to manipulation (controllers, models, DTOs, components, services, ...) to presentation (endpoints, views, assets, css pointers, javascript functions, ...).

 

7) Separate responsibilities. Create dedicated classes.

Clean code can be understood at a high level by looking at nothing else but the files. When opening a file, its content should be predictable - there should be no element of surprise. The files lay out the details of what has been described by the file name.

In an InvoiceService, you shouldn't have a method called sendSms(). Nobody - including the future you in a few months - expects to find Sms related logic in an InvoiceService. Create your dedicated SmsService - even if it only contains one method. Think very hard where each piece of logic belongs - that's the only way to keep software modular and avoid spaghetti code. 

 

8) Don't mix abstraction concepts with its implementation.

Clean code makes a clear separation between abstract ideas and concrete implementation. When you send out emails and you prepare related information, do it in an EmailComponent Class. If you use Mailgun to execute the actual sending, have a MailGun Class that implements the EmailInterface. Never have any MailGun specific logic in the abstract EmailService - otherwise you create coupling with third-parties. The business very often requires to interchange third-party APIs - your code needs to be prepared accordingly.

 

9) Use hierarchical translation keys.

Translation files consist of key -> value pairs. Use a consistent hierarchy to indicate the position of the item that needs translation. Ideally, a reader of the translation file knows about the element's location just by looking at the keys.

The following example is good practise: pages.profile.modals.contact.title="Contact Me".

 

10) Track and eliminate technical debt by using TODO comments.

Sometimes a feature needs to be delivered in a rush. If you have to make shortcuts in your code, add a // TODO comment for later cleanup. Your IDE likely has a feature to easily navigate TODOs. By regularly eliminating open TODO's, you keep the code base clean.

Gerhard Kuschnik
Startup Web Developer

Bring business ideas to market.
Iterate to product-market fit.
Get professional web development.

Gerhard Kuschnik >>


Programming in Startups vs Corporations

May 3, 2018

Most of my developer friends work at startups. Startups are fast. Startups are agile. Startups are fun and change the world. Every few months there is a new fun project that uses cutting-edge technologies.

Compare this to large companies. Corporates are boring. There is the daily grind with mundane tasks. A life in a cubicle.

The decision seems obvious.

...

I did the unconventional move.

After years of web development for startups, I accepted a corporate job.

I joined FWD insurance. A successfully growing insurance company.
A large corporate.

Wait, what??
But... Why?!?

It is about skill improvement.

Contrary to common belief, employees at corporations are more skilled than their counterparts with similar titles in startups.

Think about it.

Who joins startups? It's the young folks. It's the dynamic risk-takers without obligations. It's the high achievers that do 100 hour weeks. It's the folks that don't have high opportunity costs. People that have yet to learn and gain experience.

As you get older, skills improve. You gain experience. Your market value increases. Selling time becomes attractive. In addition, private life dictates for more stability. Babies need to be fed. Mortgages need to be paid.

The father of 3 - the middle-aged, well-experienced software architect - would he draw from the startup lottery? Or would he rather monetize his deep skills in a safe and well-paying job?

It’s cliché but true: You are the average of the 5 people you spend the most time with.

I have been very fortunate. I became part of a small but high-profile team that builds the IT backbone for business expansion projects.

The quality of your corporate job rises and falls with your team. Before accepting any offer, get to know your future teammates. Don't skip this due diligence. There needs to be at least one person that is vastly more skilled than you and is willing to be your mentor.

Every day I learn a ton about how to improve code quality. My code design is getting way simpler, less coupled and overall much more readable and maintainable.

In many ways, corporations have a competitive advantage. Corporations have the financial resources to hire the best people in the industry. Large companies can afford to assemble teams that startups can only dream of.

If you get the opportunity to join an uber-performing team in a large company - don't let the stigma of the "boring corporate" blind you. It might be an incredible chance to learn faster than you ever did and really push your career.

Gerhard Kuschnik
Startup Web Developer

Bring business ideas to market.
Iterate to product-market fit.
Get professional web development.

Gerhard Kuschnik >>


Tech skills that last

Apr 26, 2018

Like most ambitious people, I try to constantly sharpen my skills. Better skills mean more productivity. More productivity means more value creation and career success.

There is a problem. Well - there is a problem in software development.

Technical skills have a shelf life. Technologies get replaced frequently - they fall out of demand.

  • Have you learned Ruby on Rails? Bad luck - Laravel has copied everything and is now 10 times more popular.
  • Have you learned AngularJS? Bad luck - the demand has fallen over 50% in the last 3 years and there is no end in sight.

Nowadays, you better know NodeJs, VueJs, GoLang... Or even Etherium's Solidity to consult founders on issuing ERC20 tokens for an ICO.

The fast pace can be frustrating. You run, run, run - just to catch up. Once you have mastered a skill, the industry has moved on - to the next shiny new technology.

It feels like you don't build a lasting edge. You compete on the same level with the person straight out of university.

There is a way out:
Learn skills that survive the waves.

Being skilled at trendy tech monetizes well - but over time, you need progression. Progression comes from skills that stay relevant longterm.

Your unfair advantage in the market comes from sustainable skills. Things you have learned 10 years ago that are still useful today. Make learning sustainable skills a high priority.


Tech skills that will still be useful in 10 years

Clean Code
Read about how to keep code clean, simple and maintainable. This knowledge will help in every language you will ever use. A great book is "Clean Code" by Robert C. Martin: https://www.amazon.com/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882

Database Design
Mastering proper database design is useful - independent of the concrete database technology you use. Learn the ins and outs and you have a valuable skill for your entire career.

Design Patterns
You need to know the most popular design patterns. They can be used in any language, but it is easier to learn them in the language you are most familiar with. If this happens to be PHP for you, I can recommend https://github.com/domnikl/DesignPatternsPHP and http://www.phptherightway.com/pages/Design-Patterns.html and https://github.com/domnikl/DesignPatternsPHP

Touch Typing
Do you type with 2-4 fingers? You still hit the wrong letter 5% of the time? As a developer, the keyboard is your primary tool at work! Invest 100 hours in proper touch typing and save thousands of hours in the future. A great website to learn touch typing is https://TypingClub.com.

IDE Keyboard Shortcuts
JetBrains has a great IDE for every popular language out there. It is unlikely that their market position will change in the next 5 to 10 years. Among all their products, the keyboard shortcuts are the same. Memorize them. You should know how to switch tabs, clone a line, select a code block, use live templates, check method usages in the code, ... Use keyboard shortcuts. Don't use a mouse. Without a mouse your productivity skyrockets. Print this: https://resources.jetbrains.com/storage/products/phpstorm/docs/PhpStorm_ReferenceCard.pdf .

Bash Scripting
Linux will definitely still be around in 10 years. It is everywhere. From servers to washing machines and satellites. All Linux related knowledge is useful for your entire career. Command line use and bash scripting is the most basic Linux skill you should master. This is a good intro: https://www.youtube.com/watch?v=hwrnmQumtPw .

Gerhard Kuschnik
Startup Web Developer

Bring business ideas to market.
Iterate to product-market fit.
Get professional web development.

Gerhard Kuschnik >>


Don't compromise health!

Apr 15, 2018

The amount of people that sacrifice health in the name of work is stunning.

  • 4 hours of sleep to get that slide deck done? No problem
  • Fast food delivery to gain more time at the work desk? No problem.
  • Skip exercise since the to-do list is too long? No problem.
I did all of the above - It has always fired back.
 
Intuitively we know that we are less productive on sleep deprivation, junk food, and low fitness. But in practice, we say to ourselves "career first". We think that taking care of health is an effort that we can't afford - given that our days are already packed. We think that top-performers work every waking hour.
 
But is that true?
 
The body and mind are one.
 
We can't think sharply on sleep deprivation. Basic things such as reaction time go down. We can't focus for long when junk food puts blood sugar on a rollercoaster. We can't reason efficiently if we neglect exercise and feel close to being sick.
 
Our language suggests that health is binary. But is not. Health is gradual. We can optimize for health. It's not about being "tired" versus "not tired". We can optimize the sleep routine to be "perfectly rested".
 
Outstanding health is a prerequisite for outstanding work performance.
Gerhard Kuschnik
Startup Web Developer

Bring business ideas to market.
Iterate to product-market fit.
Get professional web development.

Gerhard Kuschnik >>


Bitcoin. Hate it. Own it.

Apr 14, 2018

Bitcoin is very opinionated.

 
Is it the future of money?
Is it a pyramid scheme?
 
You can read endless content.
You can try to understand.
You can try to form an opinion.
 
Don't waste time on that.
Your opinion doesn't matter.
 
The smartest and richest people on this planet are in disagreement.
 
  • The Winklevoss twins became billionaires with Bitcoin and yet did not sell a single coin.
  • JP Morgan's CEO - Jamie Dimon - called Bitcoin a fraud.
  • Peter Thiel sees Bitcoin as the digital form of gold and is invested.
  • The richest investor alive - Warren Buffet - said that Bitcoin will end badly.
You - the part-time investor - have zero edge here!
 
Do you think with your limited time and investment skills you have any chance of forming a more sophisticated opinion compared to the likes of Peter Thiel?
 
Of course, you don't. And that's why you shouldn't value your opinion. There is dissent among the best - so there are very good reasons for either side.
 
Being in the same boat with the winners is a winning strategy. The fact that some top people are invested in Bitcoin means that you should be as well. 
 
You don't need switch careers and become a blockchain consultant.
You don't need to put your retirement savings into crypto.
 
But you don't want to miss an entire disruption.
You don't want to completely ignore what has already become hundreds of billions in market value.
You don't want to bet against any of the smartest people on the planet.
 
Diversify your investments. You have no idea how Bitcoin will play out. Nobody knows. Your investments need to reflect that uncertainty. 
 
Don't gamble. Most of your investments should be property and stock. Bitcoin is young and small - and so should be your position. 
 
Take advantage of Bitcoin's high volatility - use the cost average effect by buying a small quantity each month.
 
If Bitcoin the goes to zero, it won't hurt too much.
 
If Bitcoin becomes the new gold, you will have participated appropriately.
Gerhard Kuschnik
Startup Web Developer

Bring business ideas to market.
Iterate to product-market fit.
Get professional web development.

Gerhard Kuschnik >>


Decisions

Apr 12, 2018

What's wrong with the following statements?

  • It was the right decision to sell that house last year. I just heard there's a plan to build a waste incineration plant in the area.
  • I sent my son to public school and he became a successful entrepreneur. Private schools are not worth the fees.
  • I did the right thing to raise his poker bet. He threw in the towel and I won the pot.


For a few years, I played poker professionally.
It was my only source of income.
It was at the height of the poker boom.

I got tons of lessons for life out of that time. Here is one:

 

The quality of your decision is disconnected from the outcome.
Don't forget other influences - especially luck.

 

That guy that sold the house? He didn't know about the plant. It was sheer luck. The outcome is great but the decision might have been bad. Maybe without that coincidence, the house would have continued to rise in value. The quality of the decision - at the time it was made - could be bad.

The parent that sent the son to public school? The great outcome for his son came from a variety of circumstances. The conclusion that the choice of school form was the main determinant for the son's development is faulty.

And the guy that raised the poker bet? Even the world's best players lose some hands - when luck is not on their side. Winning a single pot tells you nothing about the quality of your decision-making as a poker player.

"Isn't this nitpicking? It turned out great, so it was the right thing to do. Why are you so mad?"

It matters. A lot.

Statistically, the quality of your decision determines the expected value of that decision. The single outcome diverges - but the average of outcomes approaches the expected value.

The skilled poker player wins over the long term. The lucky player loses. Maybe not today, maybe not tomorrow. But definitely over a longer time period.

People get this confused. Decisions are judged by the outcome. It's natural. Our lizard brain rewards outcomes. You get the endorphins when good stuff happens. You learn that it is right to repeat things when good stuff happens. Remember Pavlov's dog?

But that kind of learning only gets you so far. It is very short term.

To win over the long term, you need to improve your decision-making. Great decision-making maximizes the expected value of the outcome. Try to determine what can be expected - putting aside all the other influencing factors - such as randomness.

Build logical context around the outcome. What was luck? What was out of my control? How did my decision influence the outcome? Distill the expected impact of your decision on the outcome.

To improve decision-making and maximize expected value, you need to fight your lizard brain. Don't be lazy in judging decisions. Use the prefrontal cortex. Put in a conscious effort trying to objectively judge decisions with reasoning - independently of whether the outcome was good or bad.

Over time, you will be rewarded.

Gerhard Kuschnik
Startup Web Developer

Bring business ideas to market.
Iterate to product-market fit.
Get professional web development.

Gerhard Kuschnik >>


Anxiety versus leverage

Sep 13, 2017

What makes you anxious?

Did you worry about losing your job? Did you worry about making the rent payment? Did you worry about your partner leaving?

Anxiety is opposite of happiness. If you worry about keeping it all together, life becomes less enjoyable. Reducing your worries means increasing your happiness.

Here is how: Leverage is the enemy of anxiety. Leverage means choice. Leverage means control. The more leverage you gain, the less anxious you become. Have leverage, be happy.

When you are anxious, check your leverage. Think about ways to gain leverage. How can you create more options for yourself? How can you be the best option for others? How can you get in control? How can you build leverage in the long term?

 

Worried about losing your job because of an unhappy boss?

Don’t: Work massive overtime trying to impress your boss. Your boss stays in the driver seat and you have built zero leverage.

Do: Gain leverage by creating options. What about improving your technical skills and social network – so that you could quickly get a new job at any time? What about getting a side-hustle so that even losing your job would not make you unemployed? What about reducing expenses and saving enough – so that a few months of unemployment is no big deal?

 

Worried about paying rent?

Don’t: Borrow money from other people – you would give up even more control.

Do: Get an apartment of half the cost on the other side of the town. Stop fancy. Match expenses to income. What about renting out a room with AirBnB? What about sharing the flat with someone else?

 

Worried about your partner leaving?

Don’t: Become a servant trying to satisfy the unsatisfiable. Freedom is lost if your well-being is subject to your partner’s approval. Don’t let your partner have all the leverage.

Do: Be the person that is always the best option for your partner. Be honest. Be responsible. Be caring. Be hard-working. Be fit and attractive. The longer the relationship lasts, the more value your partner should get out of it. You have leverage over every other potential partner since you have proven your value. Don’t try to impress. Instead, constantly work on becoming really impressive.

 

Have leverage, be happy.

Gerhard Kuschnik
Startup Web Developer

Bring business ideas to market.
Iterate to product-market fit.
Get professional web development.

Gerhard Kuschnik >>


Building a side business - 3 lessons learned

Feb 23, 2017

About 5 years ago I have started my side business. https://thetrustcall.com has evolved from a money-burning and labor intense WordPress site to a profitable, fully automated Laravel application.

In order to get where we are today, my co-founder and me went through a very tough time. We have failed to maintain dozens of valuable business relationships with great people. We have had countless sleepless nights. We have burned a lot of money.

Here are 3 lessons learned along the way. Hopefully they are of value to you.

 

Lesson 1: Automate everything

A side business has to run on its own. You do not want to create yet another job for yourself. You need to build an automated system that has the potential to scale.

If customers have a question – do not just handle the request and call it "case closed". Instead, improve your product in a way that the question never comes up in the future again.

You have to follow this logic of product improvement constantly - otherwise your time gets eaten with internal operations. You don't want to double your work when your business revenue doubles.

Try not to work “inside” the business. Work “at” the business. 5 minutes of repetitive work every day adds up to 30 hours per year! Work on eliminating those 5 minutes wherever you can find them.

We had to learn this lesson the hard way. In the beginning, every transaction needed manual labor. We worked like crazy to get all the work done. Afterward, we hired interns to explain our service to customers – on the phone. We then got busy writing instruction-scripts and supervising interns. In the end, the interns did mundane, repetitive work and finally quit. So we had to find new people.

Get the product right. Thats the first objective. Improve until transactions are completely automatic. Don't let people to do repetitive tasks. Let machines do the repetition. Once your product generates enough revenue automatically, you can start to leverage by hiring people. Your hires will then work on building the business rather than fulfilling operations. Let your system do all of operations.

 

Lesson 2: Learn new approaches regularly

Every week, we asked suppliers for the amount of customers they could handle. We would whatsapp them every Sunday. Over the years, we learned how to give suppliers full control over the marketing traffic they receive through our platform. Today suppliers can simply turn a switch, a few API calls are made and customers magically appear.

This major jump in business maturity only occurred after we upped our skills on coding (PHP Laravel) and marketing (Google Adwords). We found alternative ways of doing things that brought immense value. Previously, we hadn't even been aware of those possibilities. You don't know what you don't know.

To sum up - you need to regularly learn new approaches of doing your thing. If you are an expert in Facebook ads, better spend a few hours a week learning other platforms such as Adwords, Spotify or Snapchat. Try to meet people who are already experts in those areas. You will see that those hours create much more value than the 100th optimization of your Facebook campaigns.

 

Lesson 3: Last but not least - persistence is key

Startups are very hard. You face an insane amount of problems. You work hours over hours but feel like there is no progress. Nothing seems to come out of your work.

You have to stay persistent. You have to solve every piece of the conversion funnel. You can have all the steps perfect and just fail at one problem – and you end with 0.

1 * 1 * 1 * 0 = 0

You have to get everything somewhat right. And this usually takes years. Most people give up. Don't give up. Find your deep reason why you need to keep improving your business - no matter how many problems you may have to solve. It is hard but not impossible. Never give up!

Gerhard Kuschnik
Startup Web Developer

Bring business ideas to market.
Iterate to product-market fit.
Get professional web development.

Gerhard Kuschnik >>


Product hacks for your startup

Jan 19, 2017

Want some inspiration to boost your conversion and retention rates? Here are a few hacks that worked for me and likely help your startup as well.

 

Landing Pages

1. Build A LOT of landing pages – regularly
Most startups make the mistake of building one landing page and continue tweaking details with A/B tests. You are likely missing out on a lot of potential.
Don't build just one landing page. The landing page is the single most important factor for your customer acquisition effectiveness. Instead, build 100 landing pages. Make them as varied as possible. Figure out what design works. Figure out what value proposition works. Figure out what input works. Don't just A/B test button CTAs. If you have 100 landing pages, chances are you discover a way that converts way better. A 50% increase is not unlikely. Build new landing pages on a regular basis – it is worth the investment.

2. Make every landing page load SUPER FAST
Your landing pages should load in less than 2 seconds. Have your server close to your customer. Use CDNs. Use compression. Use minification. Use caching. Use lazy-loading if you need more content.
Why does loading time matter? Read it here: https://blog.kissmetrics.com/loading-time/

3. Match ad messaging and picture 1-to-1 to your landing page
Visitors need to recognize the ad on the landing page. Match the ad text EXACTLY with your landing page headline. Match the ad picture EXACTLY with your landing page picture. You will see that a slight a missmatch will cost you at least 30% more drops offs.

4. Mobile only
Don't just think mobile first. Think mobile only – especially if you are B2C. Your desktop site won't be used. Let the intern build your desktop page if you really think you need one.

 

The Funnel

5. One message per screen
Attention spans on mobile are short. Screw everything you know from desktop. Don't let people “navigate”. Don't have menus. Don't have tabs. Don't have different sections. People will get confused.
Go away from thinking structure. Instead, start thinking process. Linear process. If you see yourself designing a menu – ask yourself: “Can I make this a series of steps instead?”.

6. Avoid typing like the plague
People hate forms. There is no time for forms. You however, love forms – because data converts into money.
Don't show forms. They look like menus. They look like effort. They scream “Customer, please do some work. Type for me on that touchpad. You will miss most of those touchpad keys – but I don't care”.
Instead, make it super simple for customers to give you data (=money). Only ask one question at a time. Only one sentence per screen.
Avoid touchscreen typing. Give yes / no buttons instead of input fields. Ask for a photo instead of a description. Ask for a map touch (with location detection) instead of a text field labeled “address”. Give the option to record an audio instead of typing.
Whatsapp audios are super popular – especially in Asia. Because typing those Chinese characters is a pain in the neck. Uber is super popular – because it's frictionless to point on a destination in a map.

7. Set up the reengagement channel quickly
People are busy. Especially on mobile. You only have a few seconds to keep your visitor. Establish your reengagement channel quickly. You need the reconnection to make your sale. This can be email or SMS or phone calls or facebook or web push notifications. Have one main channel and ask for it very quickly in the process. The longer you wait for getting the reengagement channel set up, the more people drop without ever seeing you again.

8. Time to “WOW” matters
You need to prove the value of your product quickly. Don't talk about it. Prove it. Forget those text widgets like “we are the easiest, most convenient and cheapest platform”.
People are only willing to spend a few moment with you without being “WOWed”. Show them your WOW value as soon as possible.
What WOW moment do you provide? What does your customer need to experience to say “Wow, this is legit. This is something useful. This is worth pursuing further”.
For Facebook, this moment is when you see a real life friend on the page. For Uber it is when you see all those Uber cars on the map. For AirBnb it is seeing that super unique treehouse apartment for USD 30 per night.

 

Retention

9. Make retention a priority
A lot of startups make the mistake of focussing on the initial conversion. This probably happens because the acquisition channel is what you build first. Getting acquisition right is a pain. There is not much head space left to think about retention. Huge problem.
Sustainable businesses make most sales from existing customers. Retention is the value driver. The long game drives business success. You need to keep your customers happy. If your average customer makes 5 purchases over life-time, you better give 80% of your attention to retention. This is easier said than done. Be aware that whatever effort you put into retention – it is very likely not enough.

10. Don't sell, give value instead
Stop the sales pitch. Your customers don't need yet another spammy email with a 20% discount. They already bought from you. If your business is any good, they should know by now that giving you money provides value to them.
Instead, try turning a buyer into a friend and evangelist. You don't make friends by selling. You make friends by providing help and value. Free value. A lot of it. Constantly.
Be creative and come up with 100 ideas how to make your existing customers super happy. Think of useful content especially for them. Think of unexpected nice gestures like small gifts. You will love your job because all you do is to make people happy and watch how good favors get returned.

11. Relevance is key
You have a lot of data about your customers. Use every piece of it. Make sure your customer never ever gets any communication from you that is not relevant. Your company should be perceived as the friend who cares about each individual problem. Your company should not appear like a random sales guy who tries to make a quick buck by offering discounts to random stuff.

12. Have all the channels
You acquire customers and start with your main reengagement channel. Over time, however, you should also offer all kinds of other methods of interaction. Try to have them all – so your customer has the choice to engage with you via their preferred method. Have it all ready: Phone, Facebook, Instagram, SnapChat, Post, Fax, WhatsApp, Line, WeChat, … the list goes on.
If you see youself becoming too busy maintaining all those channels – refer to point 9. It is very likely worth spending that time. If you are still small, you better have your ears wide open to listen closely to customer feedback in order to improve your product market fit.

Gerhard Kuschnik
Startup Web Developer

Bring business ideas to market.
Iterate to product-market fit.
Get professional web development.

Gerhard Kuschnik >>


Create value, capture value

Nov 9, 2016

Founders often get this twisted:

Companies exist to make money. Startups should think about selling. Write business plans. Build excel sheets. Forecast revenues. Focus on extracting money.

Here is the catch:
It is very hard to extract money without creating value.

Customers do business with you because of the value you provide. Any sustainable business needs to create more value than it extracts.

Efficient value creation is the hard part. Value extraction is easy.
Your idea
When evaluating a startup idea – don't focus on market size, VC trends, competition… Don't just think about making money. Forget margins, revenue forecasts, and customer acquisition channels.

Instead, begin with unique value creation. How can you really be useful? How can you be the only one who is that useful?

To whom will you be most useful? In what context will you be the most useful? Can you be so useful that people would use nothing else and start relying on you only?

  • Google brings knowledge in milliseconds
  • Facebooks keeps people connected for decades
  • AirBnb provides places to stay for a fraction of the usual cost
  • Uber provides the fastest and most convenient mode of transportation

If you create great value in a unique way - capturing a fraction of that value is not hard. Making money almost becomes an afterthought. If you are not creating enough value or lack differentiation - you sign up for a hard time.

You need to constantly provide a good deal for people. You need to create more value than what you ask for in return. You have no problem with seeing a text ad in Google – because you get access to the world's knowledge in milliseconds.

Start your startup idea brainstorming with questions like

    • What am I especially good at? What do I enjoy doing? What is my outstanding skill?
    • Who would benefit most if that skill is applied? Those people are your target customers. They also typically live in a very different context. They might even be in a different social network and rarely talk to people with your skill.
    • How can I present the benefits to my target customers - so it gets understood?

If you have very clear answers to the above, you will likely succeed. Start with charging very little to nothing. Build brand equity and reputation. Get testimonials and referrals. Automate. Productize. Make yourself the only viable option. Over time, you get the ability to capture more of the value you create.

Gerhard Kuschnik
Startup Web Developer

Bring business ideas to market.
Iterate to product-market fit.
Get professional web development.

Gerhard Kuschnik >>


Hunt the right goals

Sep 22, 2016

We made it! We got product-market fit! Our startup TheTrustCall.com regularly gets new customers. They buy the service. Marketing ROI is positive! We have achieved what most startups fail to deliver.

Now what? Growth? Make the company huuuuge? Spend more on marketing? Get more of this sweet, sweet revenue?

Bad idea! Never focus on revenue. Money is the root of all evil.

Be very careful what carrot to chase.

Here is what happens when you hunt the dollar:

  •  The experience after the sale will become second priority. Customers hate you after having spent that dollar with you. They want refunds. They spread the bad word. They surely never come back. Your company dies after everyone has tried the service or read about you.
  • Your business processes become second priority. For each transaction, you do many boring manual steps. When doubling revenue, you have to double the grunt work. You either do the grunt by yourself or outsource it to poor lost souls. The lost souls escape once they find a better job. You are busy managing grunt work and hate yourself.
  • A competitor with better conversion rates outbids you on marketing. Since you don't have returning customers, your revenue stream stops completely.

Don't get me wrong. Revenue is the lifeblood of a company. You need to make money to survive. "Revenue fixes everything" - but revenue comes in different quality.

If you plan to grow your company for many years, better prioritize sustainability over quantity. Prioritize value creation over value extraction.

Your key metrics should map things like...

  • customer engagement
  • customer retention / customer churn rate
  • customer satisfaction
  • supplier satisfaction
  • variable operation expenses relative to revenue

Once you have raised outside money, focussing on the above becomes increasingly difficult. Investors push you to raise your valuation. When you are still small, take the chance to lay the right foundation for your business. Resist the urge to scale pre-maturly for the quick buck. Instead, build a small but fully automated system. Make customers and suppliers super happy. Make them love to engage with your business. Put this into your metrics.

Hunt the right goals.

Gerhard Kuschnik
Startup Web Developer

Bring business ideas to market.
Iterate to product-market fit.
Get professional web development.

Gerhard Kuschnik >>


Why nobody likes your stuff

Sep 9, 2016

You built that website, that app, that powerpoint, that thing. And nobody wants it.

But it has the newest shit?!? Like web push notifications. Like real time web sockets. Like really nice diagrams.

You fail.
Like 95% of your peers.
Feel the pain!

All this time of building. For nothing. Nobody likes your stuff.

Welcome reality!

Every thought is assumption. You are wrong!

People don't understand your value proposition.
People don't understand which one of the 3 buttons to click.
People don't care about your message.

There is only one way to get out of this mess.

MAKE IT OBVIOUS!!

You have 2 seconds. Afterwards you are abandoned.

Decide for them. Don't give options.

One touch - one purchase.

No explanation.

No reading.

No attention required.

Give your stuff to your grandmother. She has very few moments left until death. She better hurries... she has no time for your silly crap. She is like everyone else on this planet.

Your stuff sucks because you need more than 2 seconds.

Your thing fails because you feel entitled to more than 2 seconds.

Gerhard Kuschnik
Startup Web Developer

Bring business ideas to market.
Iterate to product-market fit.
Get professional web development.

Gerhard Kuschnik >>


The cash perpetuum mobile

Aug 19, 2016

You make Google rich. You buy the banner click.

The click is darn expensive. You better sell stuff to that stranger. Quickly. A lot. Repeatedly.
Sell more stuff - get more money - buy more clicks.
Sell more stuff - get more money - buy more clicks.

GROWTH! The cash perpetuum mobile!

It's all simple - until it isn't.

Thousands of people want the click. It matters how well you sell.

Being the best is not enough. You need to be best by a great margin. Competitors don't know their numbers. They bid themselves into negative margins. They bid YOU into negative margins.

Let the rabbit race begin! But... Didn't you start that business to escape from the rabbit race?

Forget it!

Only join that global game if you want it most. More than anyone in this world.

You must have the most attractive ad.
You must have the best targeting.
You must have the shortest loading time.
You must have the best device compatibility.
You must have the most intuitive UI.
You must have the most payment methods.
You must have the best retention content.
You must be faster at figuring out that new marketing channel or technology.

You must be better than anyone else in this world. Better by a margin.

The best get the price - the cash perpetuum mobile! Until someone wants it more than you.

Gerhard Kuschnik
Startup Web Developer

Bring business ideas to market.
Iterate to product-market fit.
Get professional web development.

Gerhard Kuschnik >>


Building MVPs with freelancers

Aug 17, 2016

Internet startups begin with nothing but an idea and a founder. There is high uncertainty. There is little cash.

As founder, it is your job to capture the maximum of opportunity with the minimum of risk. Your job is to provide a really appealing investment thesis. If you build an internet company, you are not in the market of taking risk - you are in the market of reducing risk.

The upside of internet businesses is obvious - product distribution is uber-fast. Marginal cost is not existent. Good products become global within months. The downside is limited - bad products fail instantly.

The investor's job is to find the winner first. Investors give money for products with traction. You need to show user engagement. You need to show customers. You need to show revenue.

Lots of traction = Low risk

Eliminate risk. You don't do this with surveys or pretty powerpoints. You do this by testing the market. Begin with a super simple prototype - a minimum viable product. Market feedback shows if the idea is worth pursuing further.

If nobody likes your product - iterate or pivot. If some people love your product - investors will be standing in lines to give you money.

The market for freelancers

You are cash-strapped. You are "Pre-Series-A". You do not know how to code but you also do not have several million dollars to get an office, hire a bunch of people and get the business rolling. Your only way to MVP is the development via freelancers.

The market for freelancers is very segregated. You basically have the choice between two categories:

The cheap developer with the "standard-package"

You can hire the student that has just learnt how to configure a Wordpress blog. You can hire the Indian outsourcing company where you are client number 12321. You can hire that cheap philippine developer from the freelance platform - the person that changes clients like underwear and thus does not care about that sloppy database structure.

The above developers serve a market need. If you need a simple blog or a newsletter signup landing page - the above developers are sensible choices. For the case of building MVPs though - I yet need to find a startup that has become successful with a cheap freelancer. All of the above-described developers are cheap because they have problems acquiring or retaining clients - the underlying problem is a lack of skill or lack of commitment.

The pricey top-developer in your area "that has done it before"

You want to meet your developer face to face. Software is very complex - decisions about small details will be made by the developer himself. You have to make sure the developer understands the vision and overall business case in its details.

Most top-developers work full-time - be it in the likes of Google or Facebook or in the newest quickly scaling startup that has just raised another multi-million dollar round. Top developers are very rare and uber-productive.

You want the best, not the cheapest developer.

With experience, developer productivity increases exponentially because

  • Function calls are used thousands of times. They are memorised. No need to check the documentation.
  • A lot of work repeats itself. Development problems are solved using the appropriate "design pattern"
  • Good code is reusable. That Paypal Express integration? What would usually take 1-2 weeks will take a few hours for the pro that has done it before.

Most top developers are satisfied with their stable and relatively safe jobs. Only a small fraction decides to do freelance on the side. Some just like the feeling of building a new project from scratch. Some just want to work with other technologies than what is used at work. Others just see how much more value they create and that employee productivity is not always 1 to 1 reflected in pay. Some Google employees even end up quitting their jobs and do nothing but freelance.

How to get a top-developer

Put in the work. Use LinkIn to research who works at the best technology companies in your area. Try to find the developers' website and private e-mail address. Consider even reaching out via Facebook. Always reply quickly if you get a response.

Gerhard Kuschnik
Startup Web Developer

Bring business ideas to market.
Iterate to product-market fit.
Get professional web development.

Gerhard Kuschnik >>


8 side business ideas for developers

Aug 15, 2016

What do you do on weekends?
Play video games? Bar-hopping? Shopping?

What about a hobby that does not cost but make money? What about starting a side business?

Developers are in a unique position. They have the valuable skill of building products without the need of investing money. They can make ideas become reality.

A side business is fun for several reasons. It gives the feeling of setting goals and making progress. It gives the feeling of not wasting but investing free time. It gives the feeling of “getting ahead of the game” and building financial independence.

Having a side business improves coding skills, builds a professional network and (hopefully one day) makes some money. You learn how to own the business from end to end – including product, marketing, operations and business development. It also makes you a more valuable employee – since you gain basic knowledge of all essential business functions.

You want to start something - but need an idea? Choose something from below.

1. Coding tutorial website with high-quality videos
If you are exceptionally good at a framework and like teaching
Build something like Laracasts.com. Do it for the framework you have mastered. There is probably a lot of hidden demand for videos teaching PHP Symfony, PHP Zend, AngularJS, App development for IOS/Android. You might even get away with doing another Laravel website – if you do it in Chinese, Korean or Japanese.

2. SaaS platform for Business Intelligence (BI)
If you have a good understanding of business metrics in startups
Online businesses need calculations for CLV (customer lifetime value) and CAC (customer acquisition cost).
It is hard to turn raw data into actionable BI numbers. In practise, this is either done by business analysts with MS Excel (which often lacks in capabilities) or through an app written by in-house BI-developers (which is very costly).
Build a Saas platform that receives data through an API (data on customers, sales, marketing expenses, variable expenses). Run your magic formulas for customer churn rates and expected purchases over lifetime. Provide your user with nicely formatted BI numbers and historic charts. Show CAC and CLV – segregated by product(-type) and marketing campaign.

3. Marketplace for phone consultation by professionals
If you have experience in building marketplaces
Build a marketplace for professional consulting services over the phone - something like TheTrustCall.com. Do it for verticals with high customer retention – such as psychology or law. Have the best professionals of your vertical on the platform.

4. Online shop for a niche product in a niche geography
If you have experience in e-commerce and in-depth knowledge of a niche
Niche e-commerce is the classic exampe of a side business. Nowadays it is hard to still find a profitable spot for cheap (long-tail) advertising. However, if you have deep e-commerce knowledge, live in a developing country and have an extraordinary hobby (Playing ukulele? Playing yoyo? Drink Whiskey?) - this might be the way to go.

5. Local business CRM
If you have experience in selling to small businesses
Most local businesses underestimate the importance of keeping customers' data. A dumbed-down CRM would add massive value to your local dentist, restaurant or barber shop.
Customers register via iPad with name and phone number. The CRM can contact customers individually or broadcast promotions. Distribution channels are SMS, Whatsapp and Facebook (Facebook account can be found by searching via phone number).

6. Easy flashcard app
If you like studying languages (and have been using Anki flash cards)
A very effective way of learning language vocabulary is the spaced repetition flashcard system. The leading app is Anki and is relatively clunky to use: Adding a new flash card with audio recording requires 5 touches. Configuration has a lot of unnecessary settings. A simplified Anki would very likely find demand in language learning communities.

7. Do-it-yourself IVR
If you have experience in telecommunications and small business sales
Phone call systems for small businesses: “Your call will be recorded. Press 1 to talk to customer service. Press 2 to leave a message. Press 3 to get our opening hours.”.
Twilio has made it easy for developers to build complex call-systems. If you can make it easy not just for developers but also for your lawyer next door - you might very well open up an underserved market.
The product could be a simple web-app where the user drag-and-drops IVR-elements and rules like Lego bricks. It needs to be easy and intuitive. Like Twilio, it should charge per minute.

8. Braintree / Stripe for "high-risk" businesses
If you have deep knowledge in payments and API development
Braintree and Stripe made it easy for the average online business to charge and store (tokenized) credit cards. For the sake of a unified fee structure, both companies do not accept “high risk” online businesses. A business model is classified as "high risk" if it operates in a vertical that historically has comparatively high credit card chargeback rates – for example flight ticket sales, online dating or fortune telling. Companies in those lines of business still have to create a merchant account with a bank and integrate with a complex payment gateway API.
A Stripe for high-risk businesses that has a simple technical implementation but charges a slightly higher fee (for the increased risk) would very likely find great demand.

Last but not least: Note of warning:
Make sure your employer knows about your side business. Look at your employment contract - you might have to renegotiate specific clauses. Do not risk to breach your agreement. Make sure that your employer and your side business do something completely different. You want to avoid potential conflicts of interest. Once you make some revenue, create a separate legal entity for your project.

Gerhard Kuschnik
Startup Web Developer

Bring business ideas to market.
Iterate to product-market fit.
Get professional web development.

Gerhard Kuschnik >>


Growth is not fluid

Aug 14, 2016

Let's throw away our application!
Let's re-develop everything all over again.
In the trash with all this legacy code!
Let's change programming languages as well!
Successful startups do this! All the time!
Look at Twitter. Look at Groupon.

Same product, same UI. Totally new code base. 
Why do all this investment AGAIN?
For little design changes?
For better loading speeds?
All this pain - Seriously?

TECHNOLOGY SCALABILIY
In theory, great websites should scale.

In theory, great business models should scale.

But here is the catch: Growth is not fluid.

Growing is more like climbing walls.

Businesses operate entirely differently with 10, 100 or 1000 people. Each order of magnitude requires reorganisation.

Communication channels change. Roles change. Hierarchies change.

 
Technical structures are no different. Even though both electric vehicles - a golf cart with max 25 km/h is built very differently from a Tesla Model S that runs an order of magnitude faster.

 
The Youtube that serves billions of videos every month is technically a totally different beast to the quick hack that Steve Chen churned out.


SCALABILITY VS FLEXIBILITY AND SPEED

You choose:

    • Do you want it fast? Do you need quick changes down the road?

    • Or do you need something scalable? Something that is able to serve millions?

You cannot have both. Scalable applications are not flexible. They need time to develop. Quick hacks however will crash with millions of daily users. Finding the balance between the two is important. I have seen both fails:

  • Fail A: Products that have been launched quickly but crash once traffic increases. This typically happens when the team lacks senior developers who spot bottlenecks early. It happens for example if front- and backend are not properly separated. It happens when complex tasks are not put into queues. It happens when bad external APIs are used.
  • Fail B: Products do not launch at all - or they launch very late and offer a huge bag of features that people do not use. This happens when startups lose focus. It happens when founders are scared of market feedback. It happens when programmers get bad, vague specs. The outcome is a huge and complicated application that cannot be modified quickly to market feedback.
Paul Graham gives a few rules of thumb in his essays how to tackle the issue.
  • Launch a crappy alpha 0.1 super quickly and test initial demand.
  • Plan with feature shifts - your market likely does not want what you have built.
  • Plan with technology failures - stay flexible in order to iterate.
  • If the market likes it, develop for 10x growth.
  • Do a complete redevelopment for every new order of magnitude. Don't redevelop with only double the user base in mind - it would require redoing code too often. Don't redevelop for 100x growth - it would make you slow and inflexible.
PEOPLE

Last but not least: People matter. Make the right hiring decisions.
  • Small companies need young and passionate business/tech people who can hack stuff together and ship prototypes. Experience slows things down.
  • Large companies need experienced people. Experienced people look out for bottlenecks and help climbing the walls to the next 10x  growth.
Gerhard Kuschnik
Startup Web Developer

Bring business ideas to market.
Iterate to product-market fit.
Get professional web development.

Gerhard Kuschnik >>


Evaluating business co-founders

Mar 25, 2016

A successful startup only needs two things:

1. Effective distribution
2. A great product that people adopt and stick with

Distribution is what the business co-founder is for. He does the sales, partnerships, networking, online marketing, customer support. He also might write specs for the product because he knows what potential customers want.

Product development is what the technical co-founder is for. He chooses technology, writes code, fixes bugs, implements an appealing design.

A technical co-founder is expected to have a track record and know his stuff. He has done it before - can show his finished products and GitHub account. Nobody would work with a technical co-founder who has never touched code.

The situation is very different for business co-founders. Most technical co-founders choose the wrong business partner. Many business co-founders see their role in "having the idea" and "raising the funds when needed". Technical co-founders don't understand what business people do - so they don't know what a good track record looks like. This is a huge problem. The number one reason for startup failure.

Most startups fail because of a lack of customers, not because the product doesn't work.

Here is the dream business co-founder:

1. He has customers before the product has been developed. He has the skills and network to create more demand down the road.

  • If its a B2B startup, he has signed contracts with customers that would pay him to make the product. He had nothing but powerpoint mockups to sign those deals. Maybe he has had a job in sales before. He should have +500 linked in contacts.
  • If its a B2C startup, he should be known by the target customer group. Maybe with a strong forum presence, a well followed twitter account or a popular podcast. He should have friends in relevant distribution channels (blogs, magazines, podcasts...) and in mass media (TV, radio, newspapers). He knows online marketing inside out and has an email list with thousands of interested prospects - waiting for the product to be developed.

2. He has raised funds or at least you really think he knows the right people to make it happen soon.

3. He has an idea that you still like after several days of research.

4. Last but not least: He has a great reputation of ethics. Great employees and partners have choice - and they only stick with people they feel comfortable with.

Techies - choose your business partner wisely!

Gerhard Kuschnik
Startup Web Developer

Bring business ideas to market.
Iterate to product-market fit.
Get professional web development.

Gerhard Kuschnik >>


Buying property

Mar 17, 2016

Hong Kongers love to own property. Flat ownership is a common goal and regular small talk.

"How much did you pay for that flat?"

"Do you think the right time to buy is now?"

"How does the mortgage cost compare to your previous rent?"

This is very different to Germany. Nobody talks properties there. I was wondering what was going on in Hong Kong.

HK property has been a lucrative investment for the last 100 years. The city has been growing rapidly - in line with its property prices. For the last 50 years or so, property prices rose twice as quickly as salary incomes.

The consequences:

  • Older generations got rich through property - and teach their children to mortage.
  • Property agencies made lots of money. They do lots of ads. In HK, finding a property agency is easier than finding a super market. TV shows and news discuss current price levels regularly.
  • Property became the symbol of the haves versus the have-nots. No parent would advice their child to be with a have-not.

For Hong Kong locals it is a no-brainer to get a mortgage. Everybody considers flat ownership a central goal in life.

Expats in Hong Kong have diverse opinions. I have a less emotional relationship to the mortgage idea.

 

The cons of a mortgage

  • With a mortgage, you put all your financial wealth into one asset. An average flat costs around HKD 4,000,000 (~ EUR 400,000). Nobody has similar wealth invested in other assets at the same time (stocks, bonds, own business). You will 100% rise and fall with your property price.
  • If interest rates rose, Hong Kongers would not be able to afford the increasing monthly payments. Future rent cash flows get more discounted. Property prices would fall A LOT.
  • For stagnating cities, the return of property is poor. A diversified stock / bond portfolio will provide much better results than a 100% owned property.
  • A property takes away options. Transaction costs are high, personal mobility suffers. To meet the payments, you go with security rather than potential in your career choices.

 

The pros of a mortgage

  • Putting all your eggs into one basket is aweful when it goes wrong but awesome when it goes right. If you buy the right thing in a depressed environment - there are few other ways to get that heavy exposure to market volatility. A 10% down payment mortgage gives you huge oportunity through leverage - amplifying whatever market movement comes your way.
  • If you rent, you are bearish on your city's economy. You lose when the city blossoms. Your landlord will ask for more - since you and everybody else can afford more.
    If you own, you are  bullish on your city's economy. You gain when the city blossoms. Your property price will rise with the city. You want to work in rising economies (see the article about waves).
  • If interest rates rose, you would be in trouble. So would everybody else. So interest rates won't rise. They stay where they are. Forever. Like in Japan.
  • The return on investment for a wholly owned property is low - however the return on a highly leveraged property mortgage is huge. As long as prices are low, it makes sense to own a little piece of a huge property rather than a big piece of a small property.
  • With a property comes the social status. You are not the indepent, unreliable, free spirit but rather a fully integrated member of society with reputation and roots that can't be cut off easily.

I hope I gave you a bit of inspirational input. Feedback is awesome. Leave your comment now! Thank you! 

Gerhard Kuschnik
Startup Web Developer

Bring business ideas to market.
Iterate to product-market fit.
Get professional web development.

Gerhard Kuschnik >>


Comparisons

Mar 16, 2016

I live in Hong Kong - where most people drive BMW, Benz or Lamborghini. I live in Facebook - where most people have a happier life. I live in 2015 - when saving all of a median income can buy a median property after 40 years (our parents' generation needed 20 years).

I am born in 1986. Our generation is confused. We have peace, health, food, education, access to information - and yet something is wrong.

We compare more. Through history, urbanisation and internet. We see ourselves as part of a much bigger group. And we are not the alpha animal in that huge group. So we feel weak. Too weak to marry. Too weak to have children. Too weak for a mortgage. Heck! Even too weak to buy a car.

"I don't want to have children until I can afford to send them to a top school. Without that, they won't be able to compete."

"I don't buy a property - I might need to live in a different country in 6 months. The return on investment is not attractive either."

"I don't marry - everything in my life changes every few years. Its hard to imagine that relationships are any different".

We don't commit. We keep options - to be ready for that BIG opportunity. That opportunity that changes everything - especially wealth. It is the opportunity that makes us the alpha member of our huge reference group. A multi-millionaire - at least.

Without those millions we are weak - so we better are flexible, fit, fast. So we can always run away. Only the alpha fights. We are not alpha. We flee instead. Flee from commitments.

Never settle. Especially for second best. Keep running. Stay hungry...

That's our generation.

Gerhard Kuschnik
Startup Web Developer

Bring business ideas to market.
Iterate to product-market fit.
Get professional web development.

Gerhard Kuschnik >>


How to become the top 0.001% of your discipline

Mar 8, 2016

For 3 consecutive years, I was among the highest raking online poker professionals in the world. Out of 20,000,000 players on PokerStars, less than 200 "SuperNova Elite VIPs" have pushed similar amounts of money over the tables. All I needed was an initial deposit of USD 50.
Here is how you become the top 0.001% in your field.

You only become great at something, if you have a very concrete "WHY". Why do you HAVE TO to become great at this?

You need perseverance. You need a very very strong reason not to give up when everything else tells you that you should. You must be the one who never quits. Nobody becomes great at something for the sake of being great. Every great success has a much deeper rooted reason. This reason should mean EVERYTHING to you. You need to be willing to give up everything else for that single reason. You must be the one who wants it most.
My reason for poker: I was 22. By accident, I got sent to work in Hong Kong during an internship. I had never been out of old Europe before. I literally fell in love with the city. Everything was just too awesome. I spent lots of money. It was the best time of my life. On the return flight to little to Germany, I promised myself to go back - and never leave Hong Kong again. I needed a truck load of money for my plan. With poker, I found my way. I was willing to give up anything else to make this dream come true.

You only become great at something, if you are in the right environment.

You are the average of the 5 people you pass most time with. Meet people who are already successful. Read the things they read. Go to forums where they are. Get influenced by their thoughts. Get a role model. Get another role model.
I found my environment online. Other professional players posted their winnings in online forums and described their way to success. I learned from them. I read their articles. I knew I could be one of them if I worked just as hard as them.

You need to find the right balances.
  • Find the right balance of theory and practice. To improve efficiently, do both every day.
  • Find the right balance for your body. Go to bed at the same time every day. Exercise every day.
  • Find the balance for your brain - in what frequency do you need breaks? (I need a break every 2.5 hours)
  • Find the right balance for your spiritual mind - how much social interaction do you need?

Listen carefully to your mind and body and incorporate the needs in your routines. Optimize for mastery in your field - but do not neglect your inner balance. Give this concept the attention it deserves. Otherwise you give up because of an imbalance. You quit before becoming great. You must be the one who never quits.
Every day I was practicing poker for 10 hours. I was reading the theory during lunch, while exercising (podcasts) and in the evenings while relaxing on the sofa - a total of 3 hours per day. I did this every Monday to Saturday. Saturday night I went out and met friends. Sunday I recharged for the next week.

Gerhard Kuschnik
Startup Web Developer

Bring business ideas to market.
Iterate to product-market fit.
Get professional web development.

Gerhard Kuschnik >>


The ROI of exercise

Mar 7, 2016

Six months ago I made a decision: Exercise regularly!

The return on investment of exercise is 200% to 700%!

Here is how to get to that number:

Think of your exercise time as an investment that returns health. The return is...

  • Higher life expectancy
  • Improved immune system (less colds)
  • Improved brain function (better concentration)
  • Weight control

The return on a capital investments is calculated by comparing the dollars invested with the dollars returned.

Exercise is an investment made in time, not in dollars. Let us neglect all benefits but the gain in time (= life expectancy).

According to an extensive Harvard research, life expectancy increases by 3 to 8 minutes for every minute of exercise. The lower your BMI, the higher the ROI. The older you are, the higher the ROI. Optimal are 30 minutes of heavy exercise per day.

Start exercising today and make it a habit!

Source:

Articles:

Gerhard Kuschnik
Startup Web Developer

Bring business ideas to market.
Iterate to product-market fit.
Get professional web development.

Gerhard Kuschnik >>


How to get a Ferrari and be loved by everyone

Mar 7, 2016

Ask yourself this difficult question.

What important truth do very few people agree with you on? - Peter Thiel

Here is my answer:

Most people think financial success is about capturing value for yourself. You only create value as a legitimization to charge money:
Set the price as high as possible, reduce cost as much as you can. Add hidden fees for cancellation. Negotiate maximum salaries for yourself and minimum salaries for your employees. If you take a job - work as little as possible.
In short: With minimum effort - squeeze every penny out of everyone. Maximize your monetary gain. Maximum monetary gain = maximum financial success.

I disagree with the above. It does not work that way. Here is why:

The truth is - lasting success is about maximizing value creation - not value capturing. Improve many people's lives as much as you can. Only charge as much as you need to help even more people.
Do not worry about capturing value for yourself. People notice when you improve their lives. People will give back to you. Instead of buying ads, you buy word of mouth by charging low. Especially in small businesses - the money you DO NOT charge will compound faster than any stock investment will. You will have made an invisible investment in your network, your reputation, your support group.

The above works for any interaction with people. Do not focus on what you will receive. Always focus how you can improve other people's lives as much as possible. You will sleep better and live longer.

Everyone will like you. Because they feel it is good to be around you.

That is actually why you want that Ferrari in the first place. You just want to be liked.

Gerhard Kuschnik
Startup Web Developer

Bring business ideas to market.
Iterate to product-market fit.
Get professional web development.

Gerhard Kuschnik >>


Find, Sell, Make

Mar 7, 2016

Before starting my business TheTrustCall.com I read hundreds of books and blogs about Entrepreneurship. Most of that time was wasted. All you need to know is in this article.

Starting a business is no rocket science:

1) Find an urgent need in a currently small but potentially big market
2) Sell the product
3) Make the product

Research and list at least 100 ideas

First, research about new upcoming businesses - preferably outside of the location where you plan building your business. Read foreign blogs, travel to hot spots of your industry, read venture capital reports. Make a list of at least 100 ideas that will succeed and that you would enjoy working on. Pick the one idea you cannot stop thinking about.

When you have THE ONE idea: Sell!

Find customers for your idea. Minimize risk where possible. Do not invest time and money in building a product - just make a mock up or a PowerPoint if you really need. You only want to build if people want it. In the beginning - just SELL, SELL, SELL!

Most new businesses fail because they built something people don't want.

With 90% of your ideas, you will fail to sell. That is why you don't build beforehand. Repeat the above process until you found demand.

When you found people who want to give you money: Build crappy version 0.1

If you sold a product that you can build by yourself - do it. If you do not have the skills: talk to a friend you know for at least 5 years who can be your technical co-founder. Give him 50% equity. Every imbalance will cost you rather than bring you gain. If you did a lot of sales and have customers, everyone wants to be your technical co-founder. Choose wisely. Choose your friend.

Get regular customer feedback and iterate over time.

Build in iterations and get customer feedback every other day. Shape your product in a way your customers want it. Do it quickly. Your customers will love and advocate for you.

Rinse and repeat: sell and build.

Once you get too many customers and have good cash flow: hire people to help you selling. Once you are exploding in demand, think about getting a small investment from a strategic investor. One day, that investor should buy you entirely or at least forward you to somebody who will.

That's it. No rocket science. Now do it!

Gerhard Kuschnik
Startup Web Developer

Bring business ideas to market.
Iterate to product-market fit.
Get professional web development.

Gerhard Kuschnik >>


Waves are brutal

Mar 6, 2016

When I started playing professional online poker in 2007, I doubled the money in my online account every month - soon making tens of thousands of dollars each month. If I tried to do the same today, I would be lucky to break even.

You grow and die with the wave.
Go where the growth is.

Let's have a look at the consequences of working in a growing versus a shrinking environment:

  • If your market grows, opportunities arise. If your market shrinks, companies die.
  • If your industry grows, companies focus on getting customers. If your industry shrinks, companies focus on survival and cost cutting.
  • If your company grows, you grow your team. If your company shrinks, you lose your job.

Meet the wave early. The earlier you are in, the more assets (skills, network) you have once the market is big. You will face big demand by a big market with experience few others have acquired. A rare asset in big demand - that's where you want to be.

Imagine the opposite - You jump the wave late. Many people came before and have more assets. You are competing in a market with shrinking demand. You have no chance and die.

Get on the train as early as your risk tolerance allows. The earlier you jump, the stronger you will ride the wave. Estimate how long the party will last. The bigger the future market, the later you can afford to jump.

If you find a wave in an early stage and you think it will get big: be bold and make the commitments. You are lucky to have found the wave. Seize the opportunity as much as you can.

  • As employee, join the leading company in the field. Learn the skills and network. Work as hard as you ever can.
  • As investor, chase the leading company and beg them to take all your money.

Once you have ridden a wave from the early stage, you will never want to do anything else. I promise.

Gerhard Kuschnik
Startup Web Developer

Bring business ideas to market.
Iterate to product-market fit.
Get professional web development.

Gerhard Kuschnik >>