Živio sam u biblioteci za vrijeme fakulteta. „Što više teorije naučim, to ću postati bolji inženjer“, pomislio sam.
Ipak, kada sam počeo raditi, primijetio sam da najbolji inženjeri u industriji ne znaju nužno više teorije od novih diplomaca. Oni su samo donijeli drugačiji način razmišljanja, način razmišljanja investitora, u posao.
Taj način razmišljanja im je pomogao da postavljaju pametnija pitanja, da bolje procijene prioritete i da se izdvajaju. Kao investitor oni su:
- fokusirani na rad koji će se prije ili kasnije isplatiti
- izračunali da li je posao vrijedan njihovog vremena ili ne prije nego što se u njega upuste
- odmjerili oportunitetne troškove svog rada
U ovom članku govorim o 3 uobičajena problema s kojima će se svaki inženjer suočiti u svojoj karijeri i kako će vam način razmišljanja investitora pomoći da svaki put donesete ispravnu tehničku odluku.
- Kada će vam se rad isplatiti?
U ulaganju postoji koncept koji se zove „vremenska vrijednost novca“. Ovo se odnosi na činjenicu da novac sada vrijedi više od novca kasnije. Radije biste da vam se investicija isplati za godinu dana, a ne za pet godina.
Inženjerski rad ima i „vrijednost vremena“. Inženjerski projekti koji se sada isplate vrijede više od inženjerskih projekata koji se isplate kasnije.
To smo nedavno vidjeli na dionicama Facebooka. Pao je za 50% u odnosu na svoje rekorde svih vremena kada su rukovodioci otkrili da se njihova ulaganja u Metaverse možda neće isplatiti čak “15 godina kasnije”.
Baš kao što je dug period isplate metaverzuma prestrašio investitore, inženjeri bi trebali izbjegavati rad koji se isplati previše u budućnosti. Ova greška se posebno dešava kada su u pitanju inženjerske migracije.
Zašto su migracije skuplje nego što mislite
Sa stanovišta ulaganja, inženjerske migracije su zagarantovani početni trošak, za neizvesne nagrade u budućnosti. A ove nagrade se ne isplaćuju duže nego što većina ljudi misli.
Razmotrite vremenski okvir dvogodišnje migracije prikazan ispod.
Prvo, dvije godine koje sada provedemo migrirajući vrijede više od dvije godine koje imamo koristi od migracije kasnije. Dakle, tačka rentabilnosti za migraciju je duža od četiri godine.
Drugo, nagrade od bilo koje migracije moraju premašiti cijenu rada. Nema smisla trošiti dvije godine da biste uštedjeli dvije godine. Tada biste mogli uopšte ne raditi migraciju.
Imam pravilo da svaki inženjerski rad mora imati minimalno 2x nagrade da bi opravdao trošak. Ako provedem mjesec dana vršeći migracije, to mi mora uštedjeti dva mjeseca vremena za isplatu.
Uz ovo pravilo, ako provedete dvije godine na inžinjerskoj migraciji, morate uživati u prednostima dvostruko dužeg vremena migracije da se isplati.
Dakle, tačka rentabilnosti za dvogodišnju migraciju je zapravo četiri godine kasnije — ili šest godina od početka migracije.
Što duže traje migracija, veći je rizik da se nikada neće isplatiti. Ostali rizici uključuju:
Promjena poslovnih prioriteta — Kompanija bi mogla ukinuti uslugu tima, čineći migraciju zastarjelom.
Rizici izlaska – Ako se startup stekne, ove migracije neće uticati na vrjednovanje startupa i na taj način isporučuju nultu poslovnu vrijednost.
Rizici izvršenja — Jedna greška u izvršenju (npr. curenje podataka) može poništiti sve prednosti migracije.
Pouka je da inženjering treba da bude pristrasan prema projektima koji se isplate prije nego kasnije, ili rizikuju da nikada ne vide nagrade.
- Da li je ovaj projekat vrijedan vašeg vremena?
Warren Buffett je jednom rekao da je prinos kompanije „daleko više zavisi od toga u koji poslovni čamac uđeš nego od toga koliko efikasno veslaš“.
Isti princip važi i za inženjering. Rad na pravom projektu (ulazak u pravi čamac) važniji je od detalja koda koji pišete (koliko teško veslate).
Ovo je posebno važno kada su u pitanju odluke o kupovini i izgradnji u inženjeringu.
Iako priznajem da me oduševljavaju grinfild projekti, važno je ne zaroniti odmah i početi “graditi”. Poput investitora koji radi dubinsku analizu, inženjering mora izračunati troškove i koristi prije nego što se odluči na bilo koji način.
Neka pitanja koja postavljam da odlučim o ovome uključuju:
- Ako smo kupili rješenje, koliko ga je lako integrirati i održavati?
- Da li je ova karakteristika ključna kompetencija kompanije?
- Koliko je uopšte skupo ovo izgraditi?
Uz ovo posljednje pitanje – važno je procijeniti troškove bilo kojeg prijedloga za “gradnju” kako biste bili sigurni da su očekivane nagrade proporcionalne inženjerskom naporu. Jedan od načina da se uspostavi osnova za ovo je:
- Procijenite koliko sati će projekt trajati.
- Pomnožite ovo sa vašom satnom stopom inženjeringa.
- Koristite ovo kao smjernicu za cijenu projekta.
Iako trošak nije jedini razlog za razmatranje, ponekad samo izvođenje ove vježbe može pomoći inženjeru da odluči kojim putem da krene.
Na primjer: Kupi vs. napravi sa RecordJoy.com
I sam sam naišao na ovu odluku kada smo moj poslovni partner i ja imali izbor da kupimo web lokaciju za snimanje ekrana pod nazivom RecordJoy.com za 12 000 dolara ili da je napravimo od nule.
Procijenili smo da će nam biti potrebno dva mjeseca da sami napravimo web stranicu, odnosno 320 inženjerskih sati. Pod pretpostavkom da je naše vrijeme vrijedilo 100 USD/sat, koštalo bi 32.000 USD da sami napravimo.
Izbor da kupimo RecordJoy tada se svodio na to da li bismo radije potrošili 12 000 dolara da kupimo RecordJoy sada, ili 32.000 dolara da ga sami napravimo. Bilo je jeftinije kupiti web stranicu nego napraviti je, pa smo kupili web stranicu.
Gledajući unazad, ova odluka je bila najvažnija inženjerska odluka koju smo donijeli dok smo radili na RecordJoyu. To nam je omogućilo da svoju energiju fokusiramo na izgradnju plaćenih funkcija, a ne na sam proizvod.
Takođe je smanjio inženjerski rizik. Kupovinom RecordJoy-a, imali smo zagarantovan proizvod koji možemo odmah koristiti u odnosu na proizvod za koji nemamo garancije da će završiti dva mjeseca od sada.
Što se tiče RecordJoy-a, povećali smo ovu kompaniju od kompanije bez prihoda do 700 dolara mjesečno u stalnom prihodu uz nekoliko mjeseci rada. Prodali smo kompaniju na Microacquire.com u aprilu 2022.
- Hoće li ovaj projekat najviše pokrenuti kompaniju?
U ulaganju postoji još jedan koncept koji se zove „oportunitetni trošak“. Oportunitetni trošak je ono čega se odričete kada napravite izbor.
Na primjer, ako sam želio desert i imao izbor između torte i sladoleda, cijena odabira torte nije samo ono što ste platili. Trošak torte je propuštena prilika i uživanja u sladoledu. Dakle, sa svakim izborom, jedna vrata se otvaraju, a druga se zatvaraju.
Svako tehničko čišćenje duga ima i oportunitetni trošak. Čišćenje jednog sistema znači da ne možemo očistiti drugi. Zato je ključno osigurati da čišćenje na kojem radimo ima najveći utjecaj.
Upoređujem upravljanje tehničkim dugom sa čišćenjem kuće. Baš kao što vaša kuća nikada neće biti potpuno čista, nemoguće je u potpunosti eliminirati tehnički dug. Međutim, neke prostorije u vašoj kući važnije je očistiti od drugih.
Zašto čistiti baštu ako unutrašnjost kuće nije čista?
Zašto čistiti spavaću sobu za goste ako glavna spavaća soba nije čista?
Slično tome, neka čišćenja pomažu timu da se kreće brže od drugih.
Sistem upozorenja za uslugu naplate ima veći uticaj od upozorenja za interni alat. Infrastruktura za testiranje za početnu stranicu je važnija nego za bilo koju drugu stranicu.
Lekcija za inženjere je da uvijek uzmu u obzir oportunitetne troškove vašeg rada.
Nemojte čistiti svoju spavaću sobu za goste dok se prva ne očisti vaša glavna spavaća soba!
Primjer: Domina migracija sa Herokua na Azure
Doma, softverska kompanija za nekretnine, nedavno je obavila tehničko čišćenje duga gdje se njihov fokus na čišćenje glavne spavaće sobe isplatio.
Kako bi se pripremili za IPO 2021. morali su da migriraju svoju infrastrukturu oblaka sa Herokua na Microsoft Azure. Dali su sebi pola godine da izvedu ovu migraciju.
Međutim, pred kraj Doma je imao problem sa ugovorom sa Herokuom. Heroku im nije dozvolio da produže ugovor u manjem obimu, već je samo ponudio Domu opciju još jednog dugoročnijeg ugovora. Dakle, ako Doma ne završi migraciju na Azure na vrijeme, mogla bi im prekinuti svoju infrastrukturu u oblaku.
Dali su sebi 41 dan da izvrše migraciju, ali im je ovaj problem skratio vremenski okvir za mjesec dana, na 11 dana.S obzirom da je njihov ugovor sa Herokuom imao neminovni rok, nezavršetak ove migracije mogao bi kompaniju koštati milione dolara. Bilo koji drugi inženjerski rad je blijedio u poređenju sa uticajem nezavršetka ove migracije na vrijeme.
Kao odgovor, Doma je izdao sve ruke na posao za svoje inženjerske timove. Svaki tim je morao dati prioritet migraciji sa Herokua jer je oportunitetni trošak ove migracije bio previsok. Obavljanje bilo kojeg drugog posla bilo bi ekvivalentno čišćenju spavaće sobe za goste, kada je gorjela glavna spavaća soba, Heroku migracija.
Domin fokus se isplatio. Prebacili su sve svoje preostale aplikacije na Azure za 8 dana — sa 3 dana za testiranje. Njihov način razmišljanja investitora omogućio im je da odvagaju oportunitetni trošak migracije u odnosu na drugi posao i izbjegnu krizu. Ubrzo su izvršili IPO.
Finalne misli
U inženjeringu, razvoj mentalnog sklopa investitora će vas odvesti dalje od poznavanja najnovije tehnologije.
Ako trošite više vremena na razmatranje 1) finansijskih troškova 2) perioda isplate i 3) oportunitetnih troškova vašeg rada, donijet ćete bolje tehničke odluke i uštedjeti vrijeme.
Članak „The Best Engineers Think Like Investors, Not Builders“ autora Michael Lin-a preveden je sa portala Level Up Coding.