Welche Skills brauchst du als Indie-Hacker zum Bootstrapen einer SaaS Anwendung?

TL;DR

Zum Aufbau und Betrieb eines SaaS Business als Indie-Hacker gehört mehr als nur Programmieren zu können. Neben der Softwareentwicklung sind noch weitere Skills notwendig um erfolgreich zu sein.


Du hast eine Programmiersprache gelernt oder bist gerade dabei und spielst mit dem Gedanken ein eigenes Softwarebusiness zu starten oder bist als gesetzter Softwareentwickler tätig und möchtest dem 9-5 Job entfliehen? Gut, dann hast du schonmal einen wichtigen Skill den man für ein erfolgreiches Softwarebusiness benötigt. Doch wie sieht es mit den anderen Skills aus? Welche Skills braucht man als Indie-Hacker zum Bootstrappen eigentlich und was kommt da alles auf einen zu? Das schauen wir uns gemeinsam in diesem Beitrag an.

Als ich vor ein paar Jahren mit meiner Ticket Plattform easy-tickets.app begonnen habe, hatte ich ehrlich gesagt keine Ahnung auf was ich mich da genau einlasse. Ich wollte einfach das Projekt nutzen um meine Programmierkenntnisse zu vertiefen und endlich mal eine „richtige“ Software programmieren, die tatsächlich auch genutzt wird. Jetzt, ca. 3 Jahre später, hat die Seite Monatlich 14.000 Visits mit knapp 40.000 Page Views (Stand März 2023), es werden über 5000 Tickets im Monat darüber abgewickelt und das System verschickt über 4000 E-Mails im Monat. Das alles fast vollständig automatisiert und ohne Downtime 🥳.

Um so ein SaaS Business alleine zu betreiben, braucht es neben der eigentlichen Programmierung aber auch noch weitere Skills. Ich würde sogar sagen, dass der eigentliche Programmierpart eine eher untergeordnete aber dennoch wichtige Rolle spielt.

Das ist auch eines der Dinge die mir vorher so nicht bewusst waren. Aktuell würde ich sagen liegt das Verhältnis von Coden zum Rest vielleicht so bei 20%. Der Rest teilt sich auf in Support, Marketing, strategische Planung und Ausrichtung usw. Daran siehst du schon, dass das SaaS Business aus mehr als nur Softwareentwicklung besteht.

Marktanalyse, Requirements Engineering

Bevor es überhaupt etwas zu Programmieren gibt, geht es erst einmal darum eine geeignete Idee zu finden welche umgesetzt werden soll.

Dieser Teil ist der alles entscheidende Teil

Eine Idee für ein Softwarebusiness zu finden welche dann auch noch so gut und validiert ist, damit es sich auch lohnt diese umzusetzen, ist nicht einfach. Hier musst du genug Zeit reinstecken, eine vernünftige Marktanalyse durchführen und die Idee(n) validieren. Machst du das nicht, läufst du Gefahr die nächsten Wochen und Monate oder sogar Jahre damit zu vergeuden eine Software zu entwickeln die später niemand nutzen will oder für die niemand bereit ist Geld zu bezahlen. Und genau darum geht es doch schließlich. Du möchtest ein profitables Softwarebusiness und kein Hobbyprojekt.

Hast du eine Idee validiert (idealerweise mit zukünftigen Usern), dann solltest du die Anforderungen festlegen und diese idealerweise in einer Roadmap festhalten. Ein gutes Requirements Engineering ist einerseits eine gute Übung das Potential der Software abzuschätzen und andererseits wird es dir bei der Entwicklung helfen dich auf die richtigen Prioritäten zu fokussieren und dich nicht von „shiny objects“ ablenken zu lassen.

Sei nicht wie ich und unterschätze diesen Teil nicht. Natürlich ist es verlocken direkt los zu Coden. Aber es wird dir auf lange Sicht nichts bringen. Am schnellsten Fertig sind die Dinge die du garnicht erst entwickeln musst. Ich musste das leider auch auf die harte Tour lernen. easy-tickets.app war nie Validiert, ich hatte nie mit einem User gesprochen und habe die Anwendung einfach drauf los entwickelt. Die ersten zwei Jahre waren dadurch eigentlich verschenkte Zeit. Erst als ich vor einem Jahr mich mit den Anwendern, ihren Problemen und den Anforderungen die daraus resultierten beschäftigt habe, hat sowohl die Entwicklung als auch die Nutzung Fahrt aufgenommen.

Hier siehst du die Besucher und Seitenaufrufe von easy-tickets.app. Im März 2022 habe ich angefangen mich mit den Bedürfnissen der User auseinandergesetzt. Habe Umfragen unter den wenigen Besuchern der Seite gemacht und auch Feedback bekommen. Daraus haben sich zwei Kontakte ergeben die als Beta-Teste fungiert haben und von denen ich gutes Feedback bekommen hab.

Code

Der Code, das Herzstück deines Softwarebusiness. Ich gehe davon aus, dass du bereits Softwareentwicklungserfahrung hast. Falls nicht, solltest du in Erwägung ziehen hier erst einmal einen Grundstein zu legen. Du musst heutzutage kein Softwareentwickler sein, aber du solltest auf jeden Fall die Grundlagen der Programmierung beherrschen. Neben der Programmierung solltest du auch deinen Code Debuggen können und, auch wenn dies in Indie-Hacker Kreisen umstritten ist, Tests für deine Code schreiben können. Ich bin Team-Unittests. Ein Minimum an Tests schadet nicht und hat mir schon bei so manchem Deployment den Tag gerettet. 🫣

Welche Programmiersprache oder welchen Technologiestack du nutzt bleibt dir überlassen. Dies ist sowieso stark von deiner Anwendung abhängig und lässt sich nicht pauschal beantworten.

Seine eigene Anwendung selbst zu Programmieren und die nicht outzusourcen hat übrigens einige entscheidende Vorteile. Zum einen kostet dich die Entwicklung „nur“ deine eigene Zeit. Das ist gerade am Anfang entscheidend. Wenn du mit etwas startest bei dem es nicht sicher ist ob es überhaupt Gewinne abwerfen wird, willst du nicht erst Unsummen in die Entwicklung einer Lösung stecken die hinterher niemand nutzt. Ein weiterer Vorteil ist, dass du kleinere Tools und Helferlein oder Integrationen einfach selbst bauen kannst ohne auf andere, oft teure Lösungen zurückzugreifen.

Architektur, Infrastruktur, Deployment

Natürlich muss die Software irgendwo gehostet und dorthin deployed werden. Hier lohnt es sich ein paar Grundlagen zu beherrschen. Pauschal kann man hier wiederum nicht viel sagen, da die Architektur von dem gewählten Technologie-Stack abhängig ist.

Die folgenden Grundlagen solltest du dir aber zumindest einmal anschauen:

  • Webframeworks
  • Static Webhosting
  • CDN’s
  • Datenbanktechnologien
  • Container
  • Serverless Deployments (Google Cloud: App Engine, Cloud Run / Azure: App Service)
  • CI/CD Pipelines (Continues Integration / Continues Deployment)
  • Git, GitHub (Code-Versionierung und Hosting)

Ich kann dir an der Stelle nur empfehlen dich mit diesen Themen auseinanderzusetzen. Vielleicht nicht direkt am Anfang, aber auf jeden Fall bevor deine App „durch die Decke geht“. Du legst damit einen soliden Grundstein für den zukünftigen Betrieb der Anwendung. Versuche hier allerdings das Maß zu behalten zwischen einer pragmatischen Lösung welche für die Anfangssituation „gut genug ist“ und einer hoch verfügbaren hyperskalierenden Lösung welche 100k Requests pro Sekunde bedienen könnte. Anders ausgedrückt, du brauchst dir um die Skalierung keine Sorgen zu machen solange dein Softwarebusiness 0 zahlende Kunden hat 😂.

Security

Die Zahl der Angriffe oder Angriffsversuche auf SaaS Lösungen steigt und die Unternehmen welche targetiert werden werden oft beliebig ausgewählt. Aus diesem Grund solltest du auch in dem Bereich Cybersecurity einiges beachten.

Eine Grundlage ist hier: entwickle selbst keine Komponenten die andere schon für dich entwickelt haben. Die meisten Frameworks verfügen über Bibliotheken für die unterschiedlichsten Anwendungsfälle. User Authentifizierung, Verschlüsselung, Passwörter in Datenbanken speichern, Zahlungen abwickeln usw. sind alles Dinge von denen du die Finger lassen solltest. Bediene dich einer der vorhandenen Bibliotheken welche bereits auf Herz und Nieren getestet wurden.

Ebenso solltest du Überlegungen anstellen wie Daten gespeichert und übertragen werden. Speicherst du Daten deiner User sollten diese sicher gespeichert werden, nicht manipulierbar sein und im Notfall wiederhergestellt werden können. Was sich trivial und selbstverständlich anhört zeigt sich in der Praxis manchmal anders. Des Öfteren kann man lesen, dass Userdaten „entwendet“ wurden, weil diese unverschlüsselt und für jeden zugänglich als CSV oder Excel auf einem FTP-Server lagen 🙄.

Hier einige Themen in die es sich lohnt reinzuschauen:

  • OWASP
  • Datenbankbackups
  • Verschlüsselung von Daten
  • Login, Logout, Sessions
  • MFA – Multi Factor Authentication
  • Sichere vs. unsichere Protokolle (z.B. http vs https)

Marketing

Des Entwicklers liebstes Kind, Nicht!

Idealerweise startet dein Marketing noch bevor du die erste Zeile Code geschrieben hast. Gehe raus suche die potentiellen zukünftigen Nutzer deiner Anwendung und Frage sie nach ihren Problemen. Somit kannst du nicht nur sehen ob deine Idee auch tatsächlich Abnehmer findet, sondern kannst dich durch schnelle Feedbackloops an dem Bedarf der Nutzer entlang orientieren und die Lösung auf ihre Bedarfe zuschneiden.

Wo du deine potentiellen Kunden erreichst hängt von deiner Anwendung ab:

  • Facebook (Gruppen oder Ads)
  • Google Ads
  • Foren
  • Lokale Unternehmen
  • Konferenzen
  • Gast Blogposts
  • Gast in Podcasts oder eigener Podcast
  • YouTube
  • Social Media allgemein

Sei nicht wie ich, und entwickle etwas im verborgenen ohne von Anfang an mit dem Marketing zu starten und die Idee direkt zu vermarkten. Eine Einfache und schnelle Möglichkeit ist es eine Landingpage zu erstellen und Google Ads drauf laufen zu lassen. Lass die Nutzer ein Formular ausfüllen wo sie sich für eine Warteliste anmelden oder weitere Informationen anfragen können. Dann kannst du sehen ob die Leute bereit sind etwas dafür zu geben. Mit etwas Glück erhältst du hier wichtige Kontakte. Dieses Modell kann auch beliebig abgewandelt werden um Leads zu generieren oder sogar die ersten Einnahmen zu erzielen noch bevor du deine Software geschrieben hast.

Datenschutz

Ebenfalls ein sehr wichtiges Thema. Dinge wie Impressum, Datenschutzerklärung, DSGVO oder AGB’s solltest du nicht auf die lange Bank schieben. Das Minimum für eine Webseite sind Impressum und Datenschutzerklärung. Diese sollten die ersten Seiten sein welche du auf deiner Webseite publizierst.

Abhängig von deiner Softwarelösung müssen aber auch Themen wie DSGVO im Bezug auf personenbezogene Daten (heutzutage eigentlich fast immer der Fall) beachtet werden. Hier empfehle ich dir, dich in das Thema einzulesen. Es mag zwar im ersten Moment abschreckend sein, hast du dich aber einmal durchgekämpft, wirst du feststellen, dass der Schutz von personenbezogenen Daten richtig, wichtig und logisch ist. Auch wenn die Anforderungen welche sich daraus ergeben recht aufwändig sind, helfen sie einem die eigenen Prozesse zu verstehen und zu hinterfragen.

Folgende Sachen solltest du dir hier anschauen:

  • Impressum
  • Datenschutzerklärung
  • DSGVO
  • Cookiebanner
  • AGB’s

Hier findest du eine gute Checkliste zu DSGVO Maßnahmen.

Support

Läuft dein Softwarebusiness einmal an und du hast ein paar aktive User, wirst du mit dem Thema Support konfrontiert werden. Abhängig von deiner Anwendung und deinem Business-Modell solltest du den Support entsprechend aufstellen.

Hier kann man in High-Touch und Low-Touch Business unterscheiden. Grundsätzlich ist, je höher der Preis für deine Software, desto mehr musst du die potentiellen Kunden im Verkaufsprozess betreuen.

Da ich eine nahezu vollständige Automatisierung meiner SaaS Lösung anstrebe, habe ich versucht hier so viel Self-Service wie möglich zu realisieren. Dazu zählen:

  • eine gute Dokumentation (welche mit der Zeit wächst)
  • FAQ’s (jede Frage die ich per E-Mail gestellt bekommen habe, habe ich als FAQ angelegt)
  • Self Onboarding (Anleitung nach Registrierung senden, Links zur Dokumentation etc. )
  • Guided Tour (Onscreen Help)
  • Info-Buttons (mit link zur Dokumentation)
  • Self Offboarding (Nutzer können ihren Account selbsttätig löschen)

Ob du direkt am Anfang ein Support-Ticket System brauchst ist fraglich. Ich habe einfach meine E-Mail Adresse auf die Startseite und in die Quickstart-Anleitung gepackt mit dem Hinweis wo die Nutzer zuerst nachschauen können bei Fragen. Das funktioniert gut und ich werde es auch noch eine Zeit lang so beibehalten. Mein Zeil ist eh die Support-Anfragen zu gering wie möglich zu halten den Nutzern aber dennoch die Möglichkeit zu geben mich zu kontaktieren wenn sie nicht weiterkommen.

Ich habe auch nach einer Weile meine Handynummer von der Seite genommen, weil die Anzahl der Anrufe mit steigender Nutzerzahl deutlich zugenommen hatte und ich die asynchrone Kommunikation bevorzuge. Allerdings war es gerade in der Anfangszeit doch recht Hilfreich ab und zu mit einem User zu telefonieren. Am Telefon kann man auch mal Fragen stellen die einem helfen das Vorgehen von dem User zu verstehen oder kann sein Problem besser eingrenzen.

Wrap up

Wie du siehst gehört zum Betrieb eines SaaS Business mehr als eine Idee und ein bisschen Programmierung. Vermutlich der größte und entscheidendste Teil liegt hier in den Bereichen außerhalb der Softwareentwicklung selbst.

Wenn du wie ich ein Calm-Business EN aufbauen möchtest wirst du nicht drum herum kommen dich mit den oben genannten Dingen früher oder später zu beschäftigen.


Beitrag veröffentlicht

in

von

Schlagwörter: