Sign in

a stoic & digital minimalist.

Jedna mala inženjerska ilustracija za podeliti.

Kontekst: aplikacija je podeljena na mikroservise. Očekivano, svaki mikroservis ima potrebu za autentifikacijom. Zbog toga se uključuje posebna auth biblioteka na svaki mikroservis. Prema zamisli CTO, biblioteka dodaje nove, auth endpointe na mikroservis. Tako se korisnici mikroservisa lakše autentifikuju, bez potrebe da idu direktno do centralnog auth tela, ma gde ono bilo — to za njih obavlja biblioteka.

Dalje, CTO insistira na tome da se auth proces spolja i lokalno koristi na isti način: pozivom auth endpointa. …


Da odmah razvejem očekivanja: svaka reč iz naslova je pogrešna.

Transkript mog ne-baš-sjajnog govora sa poslednje OpenIT konferencije. Namenjen mladima, pa stoga naivno optimističan. Opaska: video zapis sa konferencija je poput porno filma — mnogo bolje je sve uživo, a nikada zadvoljavajuće za premotavanje.

Ako nekoga pitate kako se postaje programer, reći će vam da je neophodno savladati neki programerski jezik.

Tako nekako mi programeri započinjemo razvojni put. Deluje smisleno: biramo programerski ekosistem koji nam najviše leži i otiskujemo se u učenje osnovnih koncepata.

Brzo se dolazi do važnog zaključka: programski jezik se jedino može učiti (i naučiti) njegovom upotrebom


Firma je kupila transportni kontejner i od njega napravila open space.

Kako broj programera raste, odjednom preti da ponestane mesta. Kako rešiti ovaj problem?

CEO razmišlja. Posle par dana, otvara sajt firme IKEA i prelistava ponudu radnih stolova. Ideja polako počinje da se javlja… Pronalazi uže stolove, čime štedi dvadesetak centimetara po stolu u odnosu na postojeće. Sumarno, to daje prostora za nekoliko novih radnih mesta. Problem rešen!

CTO ❤ open space

Uobičajena priča o open space je slatka, šarena, idilična zamisao. Ako izmaknemo zidove, primaknemo stolove, uvučemo stolice — odjednom postajemo Bolji Tim. Komunikacija teče tako lako: Srđan iz četvrtog reda može da…


Verter ima pristup Internetu. Verter pati.

Pati, jer veruje da živi u svetu obećanih i dobro promišljenih dobara tehnologije. Ono što zapravo živi je svet zamene: problemi nisu rešeni, već su zamenjeni novima. Otuda patnja, kada ono što jeste — nije.

Platforma ima mnogo bagova.
Frustrira me kada ne funkcioniše, a uglavnom se pojavi problem.
Osećam se bespomoćno i glupo sto ne umem da rešim.
I ima previše varijabli i opet se zbog toga osećam glupo.

(isečak iz pravog četa, prenet od reči do reči)

Zanimljivo: kada ne konzumiraš nekakav prozivod na duže vreme, čula ti se izoštre i bolje…


Tri stilske vežbe preuzete iz pravih projekata i jedna fusnota.

Jedan

private long foo(final int mode, final long input, final byte[] key) {
return Try.of(() -> {
// desetak linija koda
return ByteBuffer.wrap(/* nesto */);
}).getOrElseThrow(ex -> new IllegalStateException("Failed: " + input, ex));
}

Prva stvar koja se uočava je nesiguran izuzetak: nije greška u stanju, već u ulazu. Takvoj grešci je primereniji IllegalArgumentException - ili konkretniji, domenski, izuzetak. Šta više, pošto je u pitanju private metoda, sve mi se manje čini da ima smisla baviti se izuzecima u njoj. Izuzetke bi mogla da baca javna metoda, koja koristi ovu privatnu…


Ne znam ni zašto sam došao, reče Instagram. Sa mnom je sve u redu.

PSIHIJATAR: Opustite se.

INSTAGRAM: (Nervozno trupka nogom)

PSIHIJATAR: Da krenemo lagano: opišite se.

INSTAGRAM: Ja sam najbolja mreža za deljenje fotki, plus učinim da fotke budu profi!

PSIHIJATAR: Kome je to važno?

INSTAGRAM: Kome? Svima! Svi žele da dele svoje lepe trenutke; ja im samo pomažem u tome.

PSIHIJATAR: Zašto je to važno?

INSTAGRAM: Pa kako će drugačije da ljudi objave da su živi i da žive?! Treba im dokaz. Treba im da budu gledani. Treba im da im se dive. I zavide, što da ne…


Jedna programerska ilustracija za podeliti.

Kontekst: web aplikacija je puštena u produkciju, radi par meseci, a koristi je limitiran broj odabranih korisnika. Kvalitet aplikacije je cca 25%. Između ostalog, nije izvršen nikakav load test. Mikroservisi + SpringBoot + React + PostgreSQL.

Jedna od tekućih potreba je migracija starih podataka. U to ime se prave privremeni endpointi koji rade migraciju domenskog sadržaja. Broj potrebnih konverzija nije mali. Pojedinačna konverzija nije trivijalna i prati odgovarajuće domenske procese.

Problem: pošto se pokrene migracija, nakon nekog dužeg vremena (60+ min), ponekad dođe do zastoja u delu programa koji nema dodirnih tačaka sa procesom migracije…


Naizgled kontraverzan članak na domaćem portalu se bavi toksičnim programerima. Teško mi ide da ga svarim; toliko da ga apsorbujem na ovaj način. Neuobičajeno retko sa moje strane.

Nepotpisani sadržaji govore o upitnom postojanju integriteta svih uključenih u nastanak i njegovu objavu.

Anonimnost je lažna sigurnost, a maskiran strah. Nekada može biti razumljiv (kada je život u pitanju). Često, pak, nije. Ako se bavimo softverskim inženjerstvom, dužnost nam je da budemo modla za svet oko nas. Moraš ostaviti svoj potpis na sve što stvaraš: od koda, do kakvih kognitivnih zaključaka.

Zanimljivo, najveća vrednost izlaska iz anonimnosti nije hrabrost čina. Već…


Paraleni uverzumi; ili šbbkbb.

1

- Učitelju, poslušajte me.
- Ne, dragi Srinivasa. Ljudi će razumeti našu borbu sami.
- Učitelju, stvari više nisu iste. Moramo biti na mreži… Moramo podeliti vašu tihu borbu. Hajde da počnemo bar sa Instagramom? Fotka dnevno, heštag #hunger4peace… Izmučeni ste gladovanjem, videće se lepo sa filterom…
- Ne, dragi prijatelju. Ljudi će razumeti vrednost za koju gladujemo. U pitanju je mir; retko šta je uzvišenije od toga.
- Ali… moramo da sakupljamo lajkove. Da bi došli do što više ljudi. Da bi oni potom dalje delili vaše misli i objave na mreži.
- Ne. …


Kada smo postali previše osetljivi?

O, uživaćete u ovome. Ili ne.

Puno je saveta o tome kako udeliti kritiku, mišljenje, stav. Razvoj softvera nije izostavljen: raditi sa drugima uključuje i učestalo davanje mišljenja; bilo formalno, bilo u svakodnevnom ophođenju sa kolegama.

Jedna od poslovica glasi: “Javno hvali, privatno kudi”. Čini se kao da postoji sveopšti dogovor da je najvažnije kako saopštavamo (raz)mišljenje. Te i da ukoliko ono nije sročeno kako treba, čini više štete nego koristi. Pričati se mora nežno, u sendvičima, sa nijansama žute.

Da ne bude zabune — važno je kako se nešto saoštava.

Međutim, prenaglašavajem jedne strane…

Igor

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store