Habr je pun prognoza i savjeta o tome što raditi sljedeće godine — koje jezike učiti, u koje sfere se usmjeriti, kako se brinuti o svom zdravlju. Zvuci inspirativno! No, svaka medalja ima dvije strane, i ne spotičemo se samo o nečemu novom, već većinom o onome što radimo svaki dan. "Zašto me nitko nije upozorio!", iznervirano uzvikujemo, obično obraćajući se sami sebi. Prikupljamo informacije — sastavili smo popis onoga što NE trebate raditi u 2020. godini (a možda ni ikada).
A gravitaciju nisu pitali
Voljeli bismo da možemo poredati anti-preporuke po važnosti, od najvažnijih do najmanje značajnih. No, one su toliko rasprostranjene, jednake i poznate gotovo svakome, da ćemo pisati bez reda. Pa, da provjerimo popis?
Ne treba ići u IT ako je sve dobro
Ne učite novu tehnologiju samo da biste promijenili profesiju ili počeli ispočetka. Naše vrijeme je divno po tome što se možete obrazovati, mijenjati posao, bitno mijenjati područje — i tako do same penzije. To je privlačna opcija. No, ako imate više od 28-30 godina, ne bi trebalo sve ostaviti da biste ušli u IT ili prešli na novi stack (na primjer, pišete visoko opterećene sustave na Javi i iznenada odlučujete preći na neuronske mreže na Pythonu). Razlog je jednostavan: bit će vam teško. Prvo, velika je konkurencija od stručnjaka koji su 'na tom stacku' od početka svoje karijere; drugo, ponovno ćete morati postati junior s niskom plaćom; treće, morat ćete psihički podnijeti biti podređeni na najnižoj razini hijerarhije. Stoga, ako želite ići u drugom smjeru, pokušajte to raditi ili u okviru trenutnog posla i trenutnih zadataka, ili razvijajte nova znanja kao hobi, radite pet-projekat, kako biste na novu poziciju došli već kao ne-junior.
Mijenjanje stackova — samo gubi vrijeme
Ne skakajte između tehnologija za svoju razvojnu podršku. Ako radite projekt na jednom jeziku, koristite određeni framework i biblioteke, ne prebacujte se na Dart samo zato što vam se učinio zanimljivim. Uzmite kao pravilo pronaći opravdanje za promjenu tehnologije — ne samo na razini 'hoću-ne mogu', već i na financijskoj i inženjerskoj razini.

Ne treba se držati svog stava i stvrdnjavati
Zadržavanje samo na jednom jeziku ili tehnologiji i ne istraživanje novih — to je jednako krajnje kao i promjena stoga s svakom novom tehnologijom. Obavezno istražite nove biblioteke i okvirne alate, nemojte biti tvrdoglavi misleći da je sve najbolje već izmislili prije vas i unaprijedili isključivo vi. Gotovo svaka tehnologija redovito dobiva ažuriranja koja ponekad mogu znatno poboljšati vaš projekt. Ne lijenite se pratiti dinamiku svog stoga i, čim pronađete nešto cool i korisno, slobodno uključite u projekt!
Svoja glava je dobra, uvijek je dobra
Ne mislite tuđim glavama, vaša je bolja. Nažalost, neki programeri sjede i čekaju da im stigne zadatak da kodiraju od prethodne greške do kraja, ne pokušavajući u projekt unijeti nešto svoje, razviti novu funkciju, testirati i predložiti u produkciju. Zašto se truditi kad postoji glava team leada ili vođe kompanije koja će sve riješiti? Ako ste se prepoznali, imamo loše vijesti: pasivna pozicija neće pomoći niti u karijeri niti u razvoju. Imate priliku isprobati se kao inženjer-programer, a ne samo kao koder u pravom produkcijskom projektu i shvatiti kuda dalje, što nedostaje, no radije biste svoje vrijeme proveli na nečem drugom i radili upravo od 'do'. Takvi u modernom IT-u preživljavaju sve teže, izađite iz anabioze.
Korisnici su strašni ljudi
Ne precjenjujte korisnike svog softvera: ako ne pišete za programere, računajte na to da će program naići na nepremostivo nerazumijevanje. Prvih nekoliko dana ili tjedana korisnik će mrziti vaš softver jer 'stari nije bio tako glup'. Da biste to izbjegli, napravite izvrsnu dokumentaciju i materijale za obuku. Prilikom instalacije ili kupnje vrlo naglašeno sugerirajte da je potrebno pročitati priručnike prije nego što počnete raditi s programom, a ne nakon sloma baze, gubitka lozinke i samokontrole.

Ne bismo trebali potcjenjivati korisnike: oni su pametniji, snalažljiviji i znatiželjniji nego što mislite. Ako mislite da taj bug sa formatom varijable i iznimkom na 138. pritisku Enter sa jednogodnim intervalom neće isplivati, varate se — isplivat će i utjecati na rad vaše aplikacije na najneobičnije načine. Pravilo amatera djeluje: upravo on najbolje testira. No korisnicima iz nekog razloga ne sviđa se pronalaženje bugova na produkciji — nema tu IT solidarnosti. Ukratko, što ste sigurniji u svoje softverske proizvode — to bolje. Na kraju krajeva, bolje je odgoditi izdavanje nekih funkcija nego ih dodati u radnu aplikaciju i učiniti je iznenada nedovršenom.
Dosta googlanja!
Prestanite se oslanjati samo na Google. Čak se niti nećemo raspravljati — u području razvoja putem izravnog upita pretraživaču može se pronaći jako mnogo. Što dublje kopate u potrazi za informacijama, to više "bočnih" podataka dobivate i više saznajete, jer ćete otkriti nove stvari koje nisu povezane s vašim upitom, ali su vjerojatno potrebne u budućnosti. Obratite se cjelovitim materijalima, knjigama, člancima itd. Jezici i biblioteke imaju specifikacije, zajednice, vodiče i tako ćete dobiti najpouzdaniji način za razvoj vještina programera — jednostavno čitajući dokumentaciju, a ne tražeći tuđa lokalna rješenja i fragmente koda. A možda će vaše rješenje biti optimalnije, brže i bolje?
Povjeravaj, ali provjeravaj
Ne koristite biblioteke i frameworke koje su stvorili vanjski developeri bez provjere koda i prilagodbe vlastitim ciljevima. Nemate nikakva osnova bezuvjetno vjerovati autoru ovog koda kojeg uopće ne poznajete. Da, razni namjerni zlonamjerni elementi u tuđem kodu ne javljaju se tako često i ne treba biti paranoičan, ali slijepo kopiranje gotovih dijelova softvera u svoj projekt može dovesti do nepredvidivih posljedica. Stoga, svakako pročitajte i analizirajte kod prije korištenja i provodite testiranje nakon implementacije koda.
Radite sigurnosne kopije!
Prestanite ne raditi sigurnosne kopije ili ih držati na istim vanjskim serverima gdje se hosta vaš projekt. Mislite da je to smiješan i suvišan savjet? Više od 700 članova chata na Telegramu, koji su se našli u neugodnoj situaciji zbog gašenja jednog poznatog data centra, nije mislio tako - od pet projekata do velikih stranica državnih tijela i korporativnih baza 1C i naplate. Značajan dio - bez sigurnosnih kopija ili sa sigurnosnim kopijama tamo gdje se također nalaze. Tako da raspodijelite rizike i čuvajte sigurnosne kopije barem na glavnom hostingu, na nekom pouzdanom VDS-u i na svom lokalnom serveru. Na kraju će vas to koštati puno manje.
Dosta je ugrožavanja vlastitog projekta
Nemojte raditi u radnom projektu ono što vi želite, već radite ono što klijenti trebaju. Da, nevjerojatno je zanimljivo i sjajno stvoriti vlastitu neuronsku mrežu, obučiti je i integrirati u svoj softver, ali ako vašim klijentima treba jednostavan kontakt menadžer, to će biti skupo i nepotrebno. Proučite kako projekt funkcionira, pročitajte dokumentaciju, pročitajte povratne informacije i zahtjeve iz klijenata i implementirajte ono što će projektu dati poslovnu vrijednost. Ako želite raditi nešto znanstveno ili iznimno složeno, započnite s vlastitim projektom.
Nije kod, već klupko živaca
Ne pišite nečitljiv i nedokumentiran kod. Poznata nam je ova karakteristika: programer piše kod kako mu pada na pamet, namjerno ga malo zamrsi kako nitko od kolega ne bi mogao shvatiti što je napisano - svojevrsna preventivna osveta prije nego što se nešto dogodi. Međutim, riskirate ne samo kompaniju (koja vam plaća za rad), već i sebe: vrlo je vjerojatno da se nećete sjetiti što ste htjeli reći ovom nevoljnom obfuskanjem. Ista stvar je s nedokumentiranim kodom: oslanjajući se na svoju logiku imenovanja varijabli i funkcija i dobru memoriju, nakon nekoliko godina možete zaboraviti zašto ste izabrali upravo ovu petlju, metodu, obrazac itd. Dokumentiranje koda i dobra struktura - sjajna usluga kolegama, poslodavcu i, prije svega, sebi.

Držite to jednostavno, glupo
Ne komplicirajte kod, rješenja i projekte. Nema potrebe za stvaranjem složene strukture i plodnom stvaranjem entiteta bez posebnog značaja. Što je vaš kod složeniji, to postajete njegov zarobljenik — bit će vam izuzetno teško održavati i razvijati ga. Naravno, poznati princip KISS („Keep it simple, stupid“) ne odgovara uvijek, ali nije bez razloga stvoren: jednostavnost i elegancija koda su ključ za uspješnu primjenu i ponovnu upotrebu.

Zaštitite se
Ne ignorirajte sigurnost — u 2020. godini to je zapravo kriminalno. Čak i ako vaša tvrtka, razvoj i vi sami niste zanimljivi napadačima, mogli bi vas pogoditi problemi povezani s napadom na neki segment mreže, pružatelja usluga hostinga, napadom na data centar, krađom lozinki e-pošte i nesigurnim ponašanjem zaposlenika koji mogu ukrasti podatke iz kompanije, odnijeti klijente ili izvorni kod cijelog projekta. Ako je to u vašim mogućnostima i pripada vašoj sferi nadležnosti, pokušajte zaštititi projekte s kojima radite. A i sami poštujte informatičku sigurnost, to još nikome nije naškodilo.
Ne pljucajte u bunar
Ne zagađujte svog poslodavca. Danas su komunikacije dosegle takvu razinu da su, primjerice, svi HR-ovi u gradu međusobno poznati i mogu razmjenjivati bilo kakve informacije u chatovima i zatvorenim grupama (kako pomoći u zapošljavanju, tako i napisati „Vasilij Ivanov, sistemski arhitekt, prije odlaska uništio je sve račune, izbrisao backupove i isključio mrežu, oporavak je trajao 3 dana. Ne zapošljavajte ga.“). Tako će se vaše ponašanje isključivo okrenuti protiv vas — i ponekad ni preseljenje u drugi grad ili glavni grad neće pomoći. Čak i ako odlazite s gorčinom, nema boljeg osvetničkog poteza od toga da postanete koristan i sjajan zaposlenik konkurencije 🙂 A najvažnije, potpuno bez kazne.

To također nije ispravno. No, kako iskustvo pokazuje, nećemo odustati
U svakom slučaju, prijatelji, čitajte savjete, ali radite ono što smatrate najboljim — jer se pravi nalazi događaju kada sumnjamo u već otkrivene istine. Čestitamo vam s Novom godinom, neka vaši projekti budu uspješni, karijera — zanimljiva, kolege i voditelji — razumni, a život u cjelini uspijeva. Ukratko, za Novu godinu i za novi kod!
S ljubavlju,
tim RegionSoft Developer Studio
U novoj godini nastavit ćemo raditi za vas i razvijati moćan desktop CRM sustav te jednostavan i praktičan helpdesk i sustav za upravljanje tiketima .
Izvor: habr.com
