Zašto razvijati in-house rješenja

Nisam procitao bas sve postove od rijeci do rijeci pa se nadam da netko vec nije spomenio.

Ali @bozoou sto je sa kasnijim odrzavanjem sustava? Sto kada ljudi koji su kreirali sve iz nule odu?

Upravo glavni benefit popularnih frameworka je community i to da ces vjerojatno odgovor naci unutar istog, a koristenjem vlastitog rijesenja se upravo svjesno odrices toga.

Upravo sa frameworkom si olaksava zaposljavanje kasnije, jer ces uglavnom traziti ljude koji vec imaju iskustva u odredenom fw i lakse ce se prilagoditi.

Vjeruj mi prije sam bio veliki pobornik vlastitih rijesenje i uvijek sam govorio pa taj kod mora imati problema i sa sigurnosti svi imaju sourcecode dostupan negdje na git-u ja mogu napraviti nesto sto nitko nece znati, i upravo taj dio “sto nitko nece” znati je zapravo i najveci problem.

Ok, to je dobra opaska.

REZIME:
Da, inhouse pristup ima tu manu da drugi ne poznaju tvoj sustav. (Kako si i sam rekao, nije to uvijek ni mana)
Ali svaki pristup ima svoje prednosti / mane i treba se znati nositi sa time.



WHOLE POST:

…ali uvodni post se ne odnosi generalno samo na frameworke, tj. sustave koji su podliježni znanju nekih velikih dokumentacija. Tako da je i to za odvagati.

Uvodni post se u suštini ne odnosi niti samo na inhouse rješenja, nego je poanta u ulaganju vremena u razvoj i unaprijeđenje sebe. To čini eksponencijalni graf.

Hoće li se taj razvoj vidjeti kroz razvoj inhouse komponenti, ili kroz unaprijeđenje tuđih komponenti, dođe na isto. No inhouse je istaknut, jer vrlo često nemamo priliku na isti način unaprijeđivati gotova rješenja, kao što možemo inhouse rješenja.

No budimo realni, nema tu linije koja to dvoje razdvaja. Uvijek moramo koristiti neka gotova rješenja…osim ako ne mislimo uzeti kamenu sjekiru i krenuti od klesanja kamena…

Tako je recimo smješno i da Rimac tvrdi da rade sve inhouse i ekipa koja mu to pokušava demantirati. A niti jedna ni druga strana ne mogu biti u pravu. Iako se on nespretno izražava, druga strana bi trebala shvatiti što je time htio reći…i fokusirati ono što zaista prave. Jer bakar je logično da ne proizvode, heh.

A konkretno što se tiče frameworka i razvoja “takvih” sustava.
Pa nije ni to bauk imati takav neki svoj sustav. Treba “samo” imati razvijenu i asimilaciju novih ljudi u sustav.
Kako je toniperic stavio u svoj oglas da niti PHP nije obavezan, da je bitna logika razmišljanja, a da se jezik lako nauči.
Tim istim pristupom ja nikada nebi tražio ljude po uvjetu da se poznaje framework i generalno da se poznaju sustavi sa kojima firma radi. Čovjek ako ima iskustva sa sličnim alatima i ako zna razmišljati, on će se lako asimilirati. Firma mu treba svakako pomoći u tom procesu sa svojom dokumentacijom i sa intro tečajem.
Ne kažem da nije lijepo kada dolazi čovjek koji “sve već zna” …ali i to je samo kratkoročni “gain” koji se neće akumuliati u vrijednost beskonačno kako vremenska os teži u beskonačno.
Dok s druge strane spomenute prednosti se akumuliraju u beskonačno kako vremenska os teži u beskonačno. Dugoročno je tu znači veća dobit.

Svakako ako je prevelika cirkulacija ljudi kroz firmu problem, onda treba razmišljati i o drugim elementima da se ta cirkulacija što više smanji.
Jer realno da nema cirkulacije ljudi kroz firmu, tvoj spomenuti problem niti ne postoji. A uspješna firma, nebi trebala imati problem sa cirkulacijom ljudi.
A ako su inhouse rješenja recept za uspješno poslovanje…onda taj problem nije uzrokovan in-house pristupom, nego nečim drugim.

To je prednost popularnog frameworka vs onog nepopularnog.
Ali ako se radi o tvom sustavu, onda lakše pronalaziš riješenje unutar sebe, nego traganjem da ti netko iz community-a pomogne.

I nije mi baš jasno zašto ste uvodni post uglavnom shvatili da se tu radi o nekakvim velikim sustavima razvijenim in-house.

Puno malih nadogradnji nas također postavlja na eksponencijalni graf.

Evo jednog banalnog primjera, čisto jedna mala nadogradnja, a korisna. (Tiče se web-developmenta)

Možete ugraditi u vašu radnu okolinu da svaka stranica u dev modu ima mali pop-up prozor koji se nalazi pozicioniran npr. u donjem-lijevom kutu. Prelaskom miša preko tog prozora, on se otvara (iskače jel).
Što se nudi na tom popup prozoru?

Pa samo postojanje takvog prozorčića je već fina podloga da se na njega s vremenom nakaleme razne korisne funkcije koje ćemo imati potrebu ugraditi u našu radnu okolinu.

Evo jedne sitničice koja se može ugraditi:
svaki puta kada kliknete mišem na ekran da se na tom popup-u ispiše razlika x i y koordinata od zadnjeg klika. Time ćete postići da kada napravite double click na ekran, da se ispiše dx:0 dy:0, pošto je drugi klik u nizu očito forsirao razliku po x i po y da su nula.
No nakon tog double-klika, gdje god da kliknete na ekran, dobit ćete izmjeru duljine po x i y osi od pozicije gdje ste napravili double-click.

Huh, koliko puta je samo trebalo saznati koliko je nešto udaljeno međusobno na stranici? Ova metoda je inače precizna u px i svakako korisna.

Poanta je znači i u tako malim nadogradnjama…da se redovito ulaže vrijeme u razvoj vlastite okoline i da nas to pozicionira na eksponencijalni graf.

Kada ulagati vrijeme?

Pa svaki puta kada smo primjetili da smo i makar 10 sekundi potrošili na nešto što se moglo relativno lako automatizirati. Jeste, otići će na automatizaciju možda nekoliko sati posla, ali na duže staze je ovih 10 sekundi skuplje. Pogotovo kada se sve te sitne nadogradnje akumuliraju…pa smo uštedili 10 sekundi simo, 10 tamo…itd. I to je jako puno, kada se svo to vrijeme oslobodi da ta energija bude uložena u nešto drugo…da opet bude slobodna da ide u daljnji razvoj samog sebe.

U suprotnom, ako se tih 10 sekundi nakupi simo-tamo, tako da više nemamo vremena da pomišljamo o razvoju sebe, onda smo onaj koji je usred požara otrčao na vrh zgrade i više mu nema jednostavnog spasa.
Jer cijelo vrijeme smo tada podređeni da se bavimo tim neophodnim sitnicama, što nas dovodi u manjak vremena da ih unaprijeđujemo. Zatrpamo se tako glupostima i sudbina nam je da samo “gasimo požare”.

A poanta uvodnog posta je da grafom ukaže zašto je isplativo izdvojiti i nekoliko sati posla, da se uštedi 10 sec na svakodnevnoj bazi.

Možemo to staviti i u matematičku kalkulaciju:
Recimo da neka sitničica uzima dnevno tri puta po 10 sec. Ili ti ga dnevno pola minute vremena.
To je mjesečno 15min vremena, godišnje 3 sata, a u sljedećih 5 godina to je bačeno 15 sati našeg vremena.

Znači ako uložimo sada 15 sati posla da automatiziramo taj proces koji dnevno uzima 3x10 sec, to je isplativ povrat investicije u 5 godina. A povrat investicije u 5g je više nego odličan deal.

A osim što smo nakon tih sljedećih 5g sa vremenskom potrošnjom na nuli, te kasnije imamo samo čisti plus … valjda primjetiti da takvim pristupom stvaramo vrijedan asortiman raznih alata, skupljamo vrijedna znanja i iskustva, te je ugodnije raditi razvijajući okolinu, nego biti rob takvih sitničica po 10sekundi. Ko nekakva čimpanza koja bi takve poslove mogla obavljati.

Znači odabir je između:

  • potrošiti 15 sati svog vremena na razvoj okoline, znanja i iskustva i biti zauvijek u plusu sa vremenskom bilancom

ili

  • tih 15 sati (i puno više) potratiti obavljajući stupidni task od 10 sekundi, svakodnevno po nekoliko puta…

Igrom slučaja me danas zove jedan stari kolega i iskreno mi kaže da njemu nije jasno kako sam ja tek sada uspio …te da je on očekivao da će to biti puno ranije.
(haha, jesam li uopće xd …iz njegovih usta u Božje uši. Smatram da je put ka uspjehu vječna pustolovina bez svoga kraja.)

A ja si mislim…da mu objašnjavam ovaj graf ili ne, haha. Jer upravo je u tome fora…kada godinama ranije nije mnogima bilo jasno što ja radim, ja sam svjesno (vjerujem i lukavo) ulagao svoje vrijeme za svoju budućnost. Smatram da to nije neki startan način ka uspjehu (kao što prikazuje graf) …ali isto tako smatram da je to poprilično siguran put ka željenoj destinaciji.

Jer ono što je sigurno, znanje koje se steče putem nam ne može ama baš nitko uzeti. Postoji evenutalno rizik od kakve ozljede glave ili tako neke neuračunate nezgode…ali više manje su tim putem sve karte otvorene na stolu. Treba samo vjerovati i voliti ono što radimo…što će rezultirati da budemo ustrajni na tom putu.

A onda na koncu svega, iako to nije bio možda startan način…on se u jednom momentu pretvara u popriličnu agilno “bićence”, koje lako prestiže ono drugo “biće” koje je bilo startnije u startu.

Sto je definicija uspjeha?

To je nj. viđenje, ne moje…a pitanje je naravno škakljivo.

Da pokušam: “uspjeh je nalaziti se tamo gdje se želiš nalaziti.”

Vidimo da je subjektivan i vidimo da može biti lagano nedostiživ, pošto uvijek težimo ka boljem od onoga gdje jesmo. Treba to znati dozirati i tako svatko shvatiti za sebe da je puno toga već uspio.

Imao sam ja ideja da u firmi u kojoj radim zaokruži neka in-house rješenja. Problem su ljudski resursi, i samo održavanje aplikacija. Nije to za svaku firmu primjenjivo.