Vodič

Odabir tech stacka za vaš prvi SaaS: iskren vodič za osnivače

Većina rasprava o stacku su vjerski ratovi između inženjera koji nikada neće koristiti vaš proizvod. Ovo je smirenija verzija: kako netehnički osnivač bira tech stack koji izbaci SaaS u produkciju, s plaćajućim kupcima i svime, bez kockanja cijelom tvrtkom na nekom trendu.

Have a nice dayHave a nice day13 min čitanja
Odabir tech stacka za vaš prvi SaaS: iskren vodič za osnivače

Pitajte deset inženjera koji tech stack koristiti za vaš prvi SaaS i dobit ćete petnaest odgovora, od kojih su tri izrečena sa sigurnošću vjere. Većina tih odgovora je točna — za osobu koja ih daje. Nijedan od njih nije o vama, vašem runwayu ni o kupcima koje još niste potpisali. Ako ste osnivač koji bulji u ovu odluku i osjeća se pomalo loše, evo onoga što nitko ne kaže naglas: stack je daleko manje važan nego što su vas naveli da vjerujete, a onih nekoliko načina na koje doista jest važan nisu oni oko kojih se prepiru na internetu.

Pomogao sam priličnom broju osnivača-početnika da od prezentacije dođu do proizvoda za koji stvarni ljudi plaćaju. Gotovo nitko od njih nije bio tehnički. Gotovo svi su stigli nakon što su već upili zastrašujuću količinu folklora o stacku — da im trebaju mikroservisi, da je neki framework "mrtav", da će ih pogrešan odabir osuditi na propast. I gotovo svaki put stack se pokazao kao jedna od najmanje važnih odluka koje su te godine donijeli. Ono što je ubijalo projekte bili su opseg, nejasna odgovornost i prekrasno izgrađivanje pogrešne stvari. Nikada framework.

Dakle, ovo je vodič koji dajem tim osnivačima prije nego što napišemo i jedan redak koda. Neće vam reći da koristite jedan određeni stack, jer svatko tko to obeća bez poznavanja vašeg posla nešto vam prodaje. Umjesto toga dat će vam način razmišljanja — tako da, što god odabrali ili što god vaš tim predloži, to možete provjeriti zdravim razumom odrasle osobe umjesto da nervozno kimate glavom.

Zašto se ova odluka čini težom nego što jest

Pitanje stacka čini se golemim jer je to prvi izbor koji zvuči nepovratno, a umotan je u jezik koji ne govorite. Riječi poput Postgres, React, Kubernetes, serverless bacaju se uokolo kao da je odabir među njima poput odabira temelja zgrade — pogriješite i sve se sruši.

No softver nije zgrada. Mnogo je bliži kuhinji koju možete preurediti dok još kuhate. Uspješne tvrtke stalno prepisuju dijelove svog stacka; verzija proizvoda koja nađe svojih prvih stotinu kupaca gotovo nikad nije ona koja poslužuje prvih sto tisuća. Cilj vašeg prvog stacka nije da traje zauvijek. Cilj mu je da vam omogući graditi, mijenjati i isporučivati dovoljno brzo da naučite želi li to itko uopće. To je posve drugačija — i mnogo niža — ljestvica od "savršeno za sljedeće desetljeće".

Vaš prvi stack ne mora biti onaj na kojem ćete skalirati. Mora biti onaj koji vam omogući da saznate je li skaliranje uopće problem vrijedan imanja.
ono što kažem svakom osnivaču prije nego što počnemo

Čim to prihvatite, pritisak pada za pola. Više ne pokušavate predvidjeti budućnost. Pokušavate napraviti razuman, povratan ulog koji vas dovodi do funkcionalnog proizvoda i plaćajućih korisnika. A razumne uloge netehnički osnivač itekako može procijeniti.

Što "stack" zapravo jest, jednostavno rečeno

Prije nego što išta odlučite, korisno je demistificirati tu riječ. Tech stack je samo skup alata koji se koriste za izgradnju i pokretanje vašeg softvera. Možete ga zamisliti u četiri sloja, a nijedan od njih ne morate duboko razumjeti — samo trebate znati da postoje.

  • Frontend — ono što korisnici vide i klikaju u svom pregledniku ili aplikaciji. To je dio po kojem vas svi prosuđuju.
  • Backend — logika i pravila koja se izvode na serveru: tko što smije, što se dogodi kad to učini, kako se novac kreće.
  • Baza podataka — mjesto gdje vaše informacije zapravo žive: korisnici, narudžbe, pretplate, sve što biste bili shrvani izgubiti.
  • Infrastruktura — serveri i usluge koje sve navedeno drže online, sigurnosno kopirano i dostupno u 3 ujutro.

Kad netko kaže "koristit ćemo moderan JavaScript stack" ili "Rails na Postgresu", opisuje izbore kroz ta četiri sloja. To je sve. Svaki SaaS, od dvočlanog usputnog projekta do javne tvrtke, neka je verzija te četiri stvari posložene zajedno. Veličanstveni dijagrami arhitekture upravo su to, samo nacrtani s više kvadratića.

Čist, prijazan dijagram softverskog stacka s četiri sloja — frontend, backend, baza podataka, infrastruktura — nacrtan kao posložene vodoravne ploče s malim ikonama, u smirenom uredničkom plošnom ilustracijskom stilu na svijetloj pozadini
Svaki SaaS neka je verzija ta četiri sloja. Rasprave na internetu uglavnom su o tome koju marku ploče koristiti.

Stvari koje doista važe (i one koje ne)

Ovdje većina savjeta o stacku pođe po zlu: optimiziraju za stvari koje ne utječu na vaše prve dvije godine i zanemaruju one koje utječu. Dopustite da budem izravan o oba popisa.

Što doista važi

Tko to može graditi i održavati. Najveći pojedinačni čimbenik nije tehnologija — nego ljudi. Najbolji stack za vas onaj je u kojem vaš tim (ili partner kojeg unajmite) doista može raditi, tečno, danas. "Savršen" stack koji razumije samo jedan rijedak stručnjak gori je izbor od dosadnog koji svaki kompetentan razvojni programer može preuzeti. Zapošljavanje i kontinuitet svaki put pobjeđuju teorijsku eleganciju.

Koliko brzo možete mijenjati stvari. U početku ćete se stalno varati oko svog proizvoda. Pravi posao stacka jest učiniti promjenu mišljenja jeftinom. Zreli, dobro dokumentirani alati s velikim zajednicama omogućuju vam brzo kretanje jer odgovori na vaše probleme već postoje. Alati s ruba tehnologije čine vas osobom koja otkriva bugove.

Možete li za to zaposliti ljude. Odaberite nešto nepoznato i vežete svoju budućnost uz onoga tko ga je izgradio. Odaberite nešto uobičajeno i dosadno i uvijek ćete pronaći sljedećeg programera, sljedeću agenciju, sljedeću osobu koja će preuzeti. Dosadno je prednost kad vaš posao o tome ovisi.

Što važi daleko manje nego što ljudi kažu

Sirove performanse i "skala". Vi nemate problem skale. Imate problem nitko-to-još-ne-koristi, što je suprotan problem. Arhitekture osmišljene za milijune korisnika usporit će vas kad ih imate jedanaest. Slavne tvrtke koje oponašate prvo su izgradile jednostavnu verziju i ponovno je izgradile kasnije, financirane uspjehom. Tako trebate i vi.

Koji točno framework "pobjeđuje" ove godine. Frameworci se uzdižu i padaju u ciklusu mode koji gotovo nema veze s time hoće li dobro izgraditi vaš SaaS za naplatu. Bilo koja od mainstream, široko korištenih opcija obavit će posao. Trend je šum; izaberite iz dosadne, popularne sredine i krenite dalje.

Zašto "dosadna" tehnologija obično pobjeđuje

Među iskusnim graditeljima postoji tiha mudrost koju pridošlice smatraju razočaravajućom: najbolja tehnologija za novi posao obično je dosadna, provjerena, pomalo nemoderna vrsta. Ne zato što su novi alati loši, nego zato što svaki izbor koji napravite troši ograničeni budžet novosti — broj nepoznatih, nepodržanih, iznenađujućih stvari s kojima se vaš mali tim može odjednom nositi.

Potrošite taj budžet na ono što vaš posao čini posebnim — na sam proizvod, na uvid koji imate samo vi. Nemojte ga trošiti na bazu podataka za koju nitko nije čuo samo da biste se osjećali moderno. Dosadan, zreo stack znači da su problemi već riješeni, da dokumentacija postoji, da je zapošljavanje lako i da alat neće nestati sljedeće godine kad njegov jedini održavatelj izgubi zanimanje. Dosadno vam dopušta da svu svoju uzbuđenost uložite ondje gdje se isplati: u kupca.

Pouzdan, pomalo staromodan nakovanj ili čvrst radni stol okupan toplim svjetlom, pokraj blještavog ali krhkog neonskog uređaja koji treperi — vizualna metafora za dosadne provjerene alate naspram modernih krhkih, urednički plošni stil
Uzbudljiv alat je zabavan dok se ne pokvari u ponoć i nema koga pitati. Dosadni alati imaju priručnik.

Ovdje i AI pomalo mijenja sliku — i to ne na način na koji hype sugerira. AI pomoćnici za kod dramatično su bolji u dosadnim, popularnim tehnologijama jer su trenirani na desetljeću javnih odgovora o njima. Odaberite mainstream stack i vaš tim (i vaši alati) dobivaju bržu pomoć besplatno. Odaberite nešto egzotično i prepušteni ste sami sebi upravo onda kad si to najmanje možete priuštiti.

Metoda odlučivanja koju doista možete koristiti

Dosta načela. Evo konkretnog načina da dođete do odluke, bilo da birate sami, dajete brief slobodnjaku ili procjenjujete što agencija predlaže. Ništa od toga ne zahtijeva da pišete kod — samo da pitate prave stvari i odvagnete odgovore.

  1. 1
    Krenite od tima, ne od tehnologije
    Pitajte: tko ovo gradi i održava sljedeće dvije godine? Što god već dobro znaju vaša je jaka zadana opcija. Mijenjanje stackova radi trendova rijetko pobjeđuje tečnost.
  2. 2
    Zadano birajte mainstream i provjereno
    Birajte iz popularne, dobro dokumentirane sredine svakog sloja. Ako ne možete brzo naći tutorijale, poslove i velike zajednice za neki alat, shvatite to kao upozorenje, ne kao značajku.
  3. 3
    Optimizirajte za promjenu, ne za skalu
    Dajte prednost izboru koji uređivanje vašeg proizvoda čini jeftinim i brzim. Oko proizvoda griješit ćete iznova i iznova — posao stacka jest učiniti griješenje preživljivim.
  4. 4
    Držite arhitekturu što jednostavnijom
    Jedna baza podataka. Jedan backend. Jedan frontend. Bez mikroservisa, bez ikakvih pametnih distribuiranih stvari, dok vas pravi, izmjeren problem na to ne prisili. Jednostavnost je cilj, ne kompromis.
  5. 5
    Zapišite zašto ste to odabrali
    Jedan odlomak: tko to gradi, što ste odabrali i što bi se moralo promijeniti da ponovno razmotrite. Ta vas bilješka spašava od ponovnog prepiranja o odluci svaki put kad netko pročita neki žustri stav.

Ako ne slijedite ništa drugo, slijedite korake jedan i četiri. Gradite s ljudima koje imate, na najjednostavnijoj arhitekturi koja radi. Ta kombinacija tiho izbjegava dva načina propasti koja potapaju većinu prvih SaaS proizvoda: nikoga tko to može održavati i sustav presložen za vlastitu veličinu.

Pitanja za onoga tko predlaže stack

Većina osnivača ne bira stack sama — predloži ga programer, agencija ili prijatelj CTO. Ne morate sami provjeravati tehnologiju. Morate postaviti šačicu pitanja i slušati kako odgovaraju. Samopouzdani odgovori jednostavnim jezikom dobar su znak. Obrambeni žargon nije.

  • "Zašto baš ovo, a ne dosadna popularna opcija?" — dobar odgovor govori o vašim specifičnim potrebama, ne o tome što je u trendu.
  • "Da vas udari autobus, koliko bi lako netko drugi ovo mogao preuzeti?" — odgovor otkriva koliko je izbor rijedak i rizičan.
  • "Koja je najjednostavnija verzija ove arhitekture koja i dalje radi?" — pazite posežu li za jednostavnošću ili za složenošću.
  • "Koliko će biti lako zaposliti sljedećeg programera za ovo?" — uobičajene vještine znače zdravo tržište; egzotične znače ovisnost.
  • "Što se dogodi kad za tri mjeseca trebamo promijeniti ključnu značajku?" — želite čuti da je promjena jeftina, a ne strašna.
Smiren razgovor preko stola između netehničkog osnivača i programera, osnivač drži kratak popis pitanja, oboje opušteni i suradnički raspoloženi, toplo prirodno svjetlo, urednička plošna ilustracija
Ne morate znati odgovore — morate postaviti pitanja i primijetiti kako se na njih odgovara.

Uobičajene zamke koje izgledaju kao dobre ideje

Nekoliko obrazaca pojavljuje se tako često da ih vrijedi imenovati, jer svaki se u trenutku čini odgovornim, a kasnije vas skupo košta.

Gradnja za skalu koju nemate. Poriv da se "napravi kako treba" navodi osnivače da projektiraju za milijune korisnika prije nego što ih imaju deset. Svaki djelić tog osiguravanja od budućnosti složenost je koju plaćate sada, vremenom i novcem, da biste riješili problem koji možda nikad neće doći. Gradite za sljedećih sto korisnika. Ponovno projektirajte kad rast to učini nužnim — i neka to bude sretan problem.

Trčanje za najnovijim. Blistav framework izdan prošli mjesec nema povijest, ima tanku dokumentaciju i sićušnu zajednicu. Provodit ćete noći debugirajući alat umjesto da gradite svoj proizvod. Pustite druge da budu rani usvajatelji; vi imate posao za isporučiti.

Eksternalizacija najjeftinijem, na onome što on preferira. Najniža ponuda često dolazi s nepoznatim stackom koji zna samo taj jedan tim. Onog dana kad se raziđete, vaš proizvod postaje otok do kojeg nitko drugi ne može doći. Jeftino na početku, pogubno kasnije. Inzistirajte na mainstream tehnologiji za koju se može zaposliti čak i kad eksternalizirate — pogotovo kad eksternalizirate.

Pravi stack je onaj koji bi stranac mogao preuzeti i nastaviti. Ako ga razumije samo osoba koja ga je izgradila, nemate proizvod — imate ovisnost.
test koji hvata većinu loših izbora

Kada je doista vrijeme da preispitate svoj stack

Ništa od ovoga ne znači "nikad ne mijenjajte". Znači mijenjati iz stvarnih razloga, izmjerenih, a ne zamišljenih. Znat ćete da je doista vrijeme za razvoj vašeg stacka kad se pojave konkretni signali — ne kad vas neki članak na blogu uznemiri.

SignalStvaran razlog za promjenu?Što učiniti
Aplikacija je mjerljivo spora za stvarne korisnikeDaPrvo izmjerite, popravite konkretno usko grlo
Dodavanje značajki postaje sve sporijeDaPojednostavite ili refaktorirajte bolni dio
Ne možete zaposliti nikoga tko to poznajeDaIsplanirajte namjeran prijelaz na uobičajene alate
Konkurent koristi moderniji stackNeZanemarite — njihov stack nije njihova prednost
Izašao je novi framework i izgleda kulNeSpremite ga u oznake, nastavite isporučivati
Inženjeru je naprosto dosadnoNeRiješite moral, ne arhitekturu
Signali da vaš prvi stack doista prerastate — naspram šuma koji se samo čini hitnim.

Primijetite obrazac: stvarni razlozi tiču se izmjerene boli u vašem stvarnom poslu. Lažni razlozi tiču se mode, usporedbe i nemira. Kad se pravi signal ipak pojavi, mijenjate jedan dio po jedan — ne cijeli stack u herojskom prepisivanju koje sve zaustavi na šest mjeseci. Evolucija, ne revolucija.

Želite drugo mišljenje prije nego što se obvežete?

Odabir stacka — ili provjera onoga koji vam je netko predložio — problem je jednog razgovora mnogo češće nego što osnivači očekuju. Rado ćemo pogledati vašu ideju i iskreno vam reći što se isplati graditi, kako i što zadržati jednostavnim.

Pogledajte kako gradimo softver

Česta pitanja

Postoji li jedan najbolji tech stack za SaaS startup?
Ne, i svatko tko kaže da postoji bez poznavanja vašeg posla nagađa. Najbolji stack onaj je koji vaš tim može tečno graditi i održavati, sastavljen od mainstream, dobro podržanih alata, na najjednostavnijoj arhitekturi koja radi. Za većinu prvih SaaS proizvoda to znači jedan popularan frontend framework, jedan backend, jednu relacijsku bazu podataka poput Postgresa i standardni cloud hosting — ali konkretna imena važe daleko manje od načela.
Trebam li koristiti najnoviji, najmoderniji framework?
Obično ne za vaš prvi proizvod. Novi frameworci imaju tanku dokumentaciju, male zajednice i neotkrivene bugove, što znači da provodite noći popravljajući alat umjesto da gradite svoj posao. Odaberite nešto provjereno i pomalo dosadno; kretat ćete se brže i mnogo lakše naći pomoć — ljudsku i AI. Pustite druge da budu rani usvajatelji.
Trebaju li mi mikroservisi ili 'skalabilna' arhitektura od prvog dana?
Gotovo sigurno ne. Mikroservisi i razrađene skalabilne postavke rješavaju probleme velike skale koje još nemate, dodajući složenost koju si mali tim ne može priuštiti. Počnite s jednim, jednostavnim backendom i bazom podataka. Tvrtke kojima se divite prvo su izgradile jednostavnu verziju i ponovno projektirale kasnije, financirane svojim uspjehom. Tako trebate i vi.
Kako prosuditi stack ako nisam tehničke struke?
Ne prosuđujete tehnologiju izravno — prosuđujete odgovore. Pitajte onoga tko ga predlaže zašto ga je odabrao, koliko bi lako netko drugi mogao preuzeti, koliko jednostavan može biti i koliko je lako za to zaposliti ljude. Osluškujte odgovore jednostavnim jezikom, svjesne kompromisa. Samopouzdan žargon koji izbjegava vaše pitanje znak je upozorenja; iskreno 'ovisi' umiruje.
Što ako odaberem pogrešno — jesam li zaglavljen zauvijek?
Ne. Softver nije temelj koji izlijete jednom; više je poput kuhinje koju možete preurediti dok još kuhate. Stackovi se djelomično prepisuju kako proizvodi rastu, i to je normalno, a ne neuspjeh. Sve dok ste odabrali mainstream alate za koje se može zaposliti i držali stvari jednostavnima, kasnija promjena smjera upravljiv je posao, dio po dio — a ne katastrofa.
Have a nice day
Have a nice day
Uredništvo

Have a nice day softverski je studio koji pomaže malim i srednjim poduzećima u digitalizaciji — automatizacija, umjetna inteligencija i softver po mjeri koji radi u svakodnevnom poslovanju, a ne samo na slajdovima.

Povezane usluge