I šta možete učiniti da pređete na sljedeći nivo...


Biti programer mlađeg, srednjeg ili starijeg ranga ne mora imati samo veze sa godinama iskustva u programiranju koje imate. Mlađi programer može biti i stariji od višeg programera. Sve se svodi na vještinu. To ne znači da stariji programer mora biti stručnjak za sve, ali sigurno da su stariji programeri daleko vještiji od mlađih i srednjih programera. Pa, u čemu su tačno razlike?

Znanje

Očito je da viši programer ima daleko više znanja od mlađih i srednjih programera. Poznavanje obrazaca dizajna, arhitekture, automatizacije testiranja, performansi, sigurnosti itd. je dobar način za mlađeg programera da zatvori jaz između znanja sa srednjim i starijim programerima. Važno je znati kako treba raditi stvari prilikom razvoja softvera. Ali samo što znate sve ove stvari ne čini vas starijim programerom (Senior Developer). Znanje nije najveća razlika između programera - to je samo jedan od faktora.


Kodiranje

Unatoč onome što većina misli, kodiranje se ne odnosi na komunikaciju s računarom. Kodiranje znači komunikaciju s ljudima i podučavanje računara. Na kraju se kôd sastavlja i prevodi u nule i jedinice. Kod mora imati smisla za druge programere koji će ubuduće raditi s njim. Novi tim koji nikad prije nije vidio kod trebao bi biti u mogućnosti otvoriti ga i započeti raditi na novim značajkama ili ispravkama programskih pogrešaka. U tome je velika razlika između mlađih i starijih programera. U ovom uspoređivanju ću ostaviti programere srednjeg nivoa jer programer srednjeg nivoa je neka vrsta sivog područja kada je u pitanju vještina kodiranja. Očito je da je negdje između juniora i seniora. Vjerovatno se više naginje prema seniorskoj strani. To znači da ima iskustva s obzirom da su programeri na srednjoj razini barem jednom prošli kroz cijeli razvojni ciklus. Napravili su puno grešaka i na njima su se učili.

Kako prepoznati mlađeg programera?

Junior programeri su neiskusni. Neki su tek diplomirali i započinju svoj prvi posao sa punim radnim vremenom. Mišljenje mlađeg programera često je samo učiniti da kod radi. Sotver koji radi i dobar softver smatraju se istim. Teško je programirati izravan kôd. A to je nešto što mlađi programeri ne rade. Mlađi programeri pišu fantasy kod. Mlađeg programera možete prepoznati po duhovitim jednostrukim slojevima i pretjerano složenim apstrakcijama. Ovo je način mlađeg programera da se pokaže i da ostalim programerima da do znanja koliko dobro mogu da kodiraju. I to je pogrešno mlađi programeri fokusiraju se na kompjutersku stranu koda na štetu ljudske strane.

A šta je sa starijim programerom?

Kad pogledate kôd višeg programera, mogli biste pomisliti: je li to sve? Gdje je ostatak koda? Stariji programer piše jednostavan, jasan i možda čak glup kod. Ovo je jedno od najvećih kvaliteta koje programer može imati kada je u pitanju programiranje. Viši programer slijedi KISS princip: Keep it simple, stupid. Stariji programer razmišlja o svom kodu na drugačiji način od mlađeg programera. Kôd koji je napisao viši programer dokazat će se s održavanjem i skalabilnošću. Ovo je potpuno drugačiji način razmišljanja od mlađeg razvojnog programera - stariji razmišlja o ljudima koji moraju raditi sa šifrom, dok mlađi razmišlja samo o tome da to učini za računar.

Više od same vještine kodiranja

Osim vještina kodiranja, postoje i neki drugi faktori koji vam mogu reći ko je koji tip programera. Mlađi programeri, generalno, rade najjednostavnije zadatke ili zadatke sa malim učinkom. Ne rade nijedan dizajn arhitekture. Programeri srednje razine ni ne dizajniraju rješenja, već samo izvršavaju zadatke. Razlika kod mlađeg programera je u tome što oni obavljaju te zadatke sa manje nadzora sve dok su dodijeljeni relativno rutinskim zadacima. Stariji programeri mogu potpuno samostalno razviti aplikaciju. To ne znači da stariji programer nema nikakvih pitanja usput. Svaki programer svakodnevno ima puno pitanja i to se neće promijeniti. To se ne razlikuje ni za starije programere. Razlika je u tome što stariji programeri znaju kako postaviti prava pitanja i kako se s njima nositi. Programeri na srednjoj razini mogu postavljati prava pitanja kada je riječ o njihovim relativno rutinskim zadacima, ali im je potrebna pomoć oko složenijih zadataka. Stariji programer se nikada ne gubi i zna kako ispravno odgovoriti na pitanje. To ne znači da stariji programer ne može tražiti pomoć od drugih programera. Ponekad je najbolji način da samo tražite druge programere sa iskustvom u tom području za pomoć. Programer na srednjoj razini trebao bi biti u mogućnosti postavljati i prava pitanja, sve dok mu ne dodijele visoko komplicirane zadatke koji zahtijevaju dubinsko znanje. Ne biste trebali očekivati ​​da će mlađi programer odmah postaviti prava pitanja. Budući da su mlađi programeri neiskusni, potrebne su im upute iskusnijeg programera. Mlađi programer mora osigurati potrebne resurse ili nastaviti usmjeravati se u pravom smjeru.

Prelazak na sledeći nivo

Svi želimo da se poboljšamo i budemo bolji kao programeri. Ali koji su koraci koje možete preduzeti kako biste prešli na sljedeću razinu?

Od juniora do mid-levela

Budući da su mlađi programeri neiskusni, važno je barem nekoliko puta proći kroz cijeli razvojni ciklus. Tako ćete upasti u puno zamki i naučiti ćete kako ih izbjeći sljedeći put. Kada je u pitanju kodiranje, trebali biste naučiti kako pisati jednostavan kôd. Razmislite o sljedećoj osobi koja će raditi na tom dijelu koda. Trebali biste naučiti i ispravljati pogrešake, jer ćete na taj način bolje razumjeti šta se događa u procesu. Nadalje, trebali biste se upoznati s najboljim praksama i naučiti o arhitekturi, performansama, sigurnosti itd. Zatvorite jaz između znanja koje je potrebno da biste došli do srednje razine.

Mid-level do Senior

Dolazak iz srednje razine u viši može biti prilično teško. Neki programeri ostat će na srednjoj razini tokom cijele karijere. Stariji programeri znaju koji uglovi se mogu rezati i koje uglove nikada ne treba rezati. Ovo su teško naučene lekcije greškama u prošlosti. Ako želite doći do višeg nivoa, morate biti spremni na izvršavanje zadataka koje niko ne zna popraviti. Trebali biste znati više od toga kako samo obaviti posao. Kao stariji programer, vaš zadatak je i pružanje pomoći manje iskusnim programerima. Vi ste rezervni programeri kad drugi ne znaju kako nešto učiniti. Kod starijih porgramera postoji više od veštine samo kodiranja. Upoznajte sve alate i aplikacije koji se koriste unutar kompanije za koju radite.

Zaključak

Razlika između mlađeg, srednjeg i starijeg programera nije samo u godinama iskustva. Svakako, sigurno je reći da su stariji programeri obučeniji od programera mlađih i srednjih nivoa. Ali znanje nije najvažniji faktor. Stariji programeri pišu lakši kod i dolaze s drugačijim načinom razmišljanja od mlađih programera. Ali to je više od samo vještine kodiranja. Znanje koja pitanja treba postaviti i kako postupati sa odgovorima je od suštinskog značaja. A to je nešto što samo stariji programer, sa svojim bogatim iskustvom, zna kako iskoristiti. Da biste napredovali kao mlađi programer, trebali biste se fokusirati na pisanje jednostavnog koda i prolazak kroz više razvojnih ciklusa. Da biste prešli iz srednje razine u višu razinu programera, trebalo bi se usredotočiti na učenje više od samo popravljanja rutinskih zadataka. Trebali biste biti spremni za najteže zadatke i biti gospodar svog tehnološkog skupa.


Još jedna odgovornost višeg programera je da pomoći manje iskusnim programerima. Ostavit ću vam citat Martina Fowlera: "Svaka budala može napisati kôd koji računar može razumjeti. Dobri programeri pišu šifru koju ljudi mogu razumjeti. "

Pevedeno s engleskog.

Originalni tekst:
https://medium.com/better-programming/the-differences-between-a-junior-mid-level-and-senior-developer-bb2cb2eb000d