{"id":109,"date":"2023-10-19T18:32:02","date_gmt":"2023-10-19T16:32:02","guid":{"rendered":"https:\/\/silviumarcu.ro\/blog\/?p=109"},"modified":"2023-10-23T23:00:13","modified_gmt":"2023-10-23T21:00:13","slug":"pot-sa-ajung-un-programator-genial","status":"publish","type":"post","link":"https:\/\/silviumarcu.ro\/blog\/2023\/10\/19\/pot-sa-ajung-un-programator-genial\/","title":{"rendered":"Programatorul Genial"},"content":{"rendered":"\n<p>Audio podcast:<\/p>\n\n\n\n<figure class=\"wp-block-audio\"><audio controls src=\"https:\/\/silviumarcu.ro\/blog\/wp-content\/uploads\/2023\/10\/05-programatorul-genial.mp3\"><\/audio><\/figure>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Programatorul Genial\" width=\"720\" height=\"405\" src=\"https:\/\/www.youtube.com\/embed\/eFvPXZkUmdQ?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p class=\"has-large-font-size\"><strong>Introducere<\/strong><\/p>\n\n\n\n<p>Nu sunt un geniu. Dac\u0103 \u00een copil\u0103rie \u0219i adolescen\u021b\u0103 aspiram s\u0103 fiu c\u00e2t mai &#8216;de\u0219tept&#8217;, odat\u0103 cu \u00eenaintarea \u00een cariera de programator, mi-am dat seama c\u0103 &#8216;de\u0219tept\u0103ciunea&#8217; sau IQ-ul nu este singurul factor care conteaz\u0103 \u00een a fi un programator de succes. Este un factor important; nu oricine poate fi programator bun. \u00cens\u0103 am v\u0103zut de-a lungul timpului c\u0103 \u0219i programatorii care nu sunt geniali (adic\u0103 nu sunt \u00een top 5% IQ) pot crea solu\u021bii foarte bune, uneori chiar mai bune dec\u00e2t cineva care este mai inteligent.<\/p>\n\n\n\n<p>Recent am avut de-a face cu un proiect \u00een care un programator dintre cei mai inteligen\u021bi cu care am lucrat a creat o implementare dezastruoas\u0103. Probabil din perspectiva lui, implementarea era genial\u0103, avea multe aspecte &#8216;de\u0219tepte&#8217;, dar per ansamblu, din perspectiva altui programator, era aproape imposibil de lucrat \u00een acea zon\u0103.<\/p>\n\n\n\n<p>\u0218i, ca o parantez\u0103, s\u0103 \u00een\u021belegi c\u0103 nu sunt subiectiv c\u00e2nd spun c\u0103 solu\u021bia respectiv\u0103 era dezastroas\u0103, \u00ee\u021bi voi descrie pe scurt dou\u0103 principii de validare pe care le-am aplicat:<\/p>\n\n\n\n<p class=\"has-medium-font-size\"><strong>Primul criteriu de validare &#8211; C\u00e2t de u\u0219or este de \u00een\u021beles solu\u021bia?<\/strong><\/p>\n\n\n\n<p>Dac\u0103 m\u00e2ine vine un programator din afar\u0103, \u0219i \u00eei prezint solu\u021bia respectiv\u0103, c\u00e2t de u\u0219or va fi s\u0103 o \u00een\u021beleag\u0103? Dac\u0103 e nevoie de un efort mare sau realizezi c\u0103 nu oricine poate \u00een\u021belege solu\u021bia, atunci avem o solu\u021bie de complexitate prea mare.<\/p>\n\n\n\n<p><strong>Al doilea criteriu de validare &#8211; C\u00e2t de u\u0219or se pot face schimb\u0103ri \u00een zona respectiv\u0103?<\/strong><\/p>\n\n\n\n<p>Dac\u0103 peste o lun\u0103 am de ad\u0103ugat sau schimbat ceva \u00een acea zon\u0103, dac\u0103 efortul schimb\u0103rii este mare, atunci solu\u021bia are o problem\u0103 clar\u0103 de rigiditate.<\/p>\n\n\n\n<p>La ambele criterii, solu\u021bia respectiv\u0103 a c\u0103zut testul.<\/p>\n\n\n\n<p>Cum este posibil ca un programator foarte inteligent s\u0103 creeze o solu\u021bie aproape imposibil de men\u021binut, \u0219i acel programator, pe deasupra, probabil \u0219i crede \u00eenc\u0103 cu t\u0103rie c\u0103 solu\u021bia este bun\u0103?<\/p>\n\n\n\n<p>Dar s\u0103 ne \u00eentoarcem la IQ.<\/p>\n\n\n\n<p><strong>IQ-ul&nbsp;<\/strong><\/p>\n\n\n\n<p>Probabil, dac\u0103 cite\u0219ti articolul acesta, e\u0219ti programator \u0219i te \u00eencadrezi \u00een categoria de inteligen\u021b\u0103 superioar\u0103, adic\u0103 e\u0219ti mai inteligent dec\u00e2t 80% din popula\u021bie. Dac\u0103 e\u0219ti un pic mai str\u0103lucit, este posibil s\u0103 sari peste 90% din media popula\u021biei. Iar dac\u0103 e\u0219ti un geniu, te afli undeva peste 95% din popula\u021bie.<\/p>\n\n\n\n<p>O s\u0103 folosesc ca punct de pornire ideea c\u0103 IQ-ul este dat de capacitatea mea \u00eenn\u0103scut\u0103 de g\u00e2ndire. Nu sunt un expert \u00een psihologie, dar dintr-o analiz\u0103 sumar\u0103 a studiilor \u00een zona inteligen\u021bei, am \u00een\u021beles c\u0103 nu exist\u0103 dovezi concludente care s\u0103 indice c\u0103 IQ-ul poate fi \u00eembun\u0103t\u0103\u021bit semnificativ. Deci nu putem umfla cu pompa IQ-ul, putem s\u0103-l \u021binem \u00een form\u0103 bun\u0103, s\u0103-l optimiz\u0103m, dar nu s\u0103-l cre\u0219tem semnificativ.<\/p>\n\n\n\n<p><strong>Marea intrebare pe care mi-o pun: Merita sa depun efort in dezvoltarea mea?<\/strong><\/p>\n\n\n\n<p>Dac\u0103 IQ-ul este \u00eenn\u0103scut, \u0219i nu sunt un geniu, oare pot totu\u0219i s\u0103 ating un poten\u021bial ridicat \u00een rezolvarea problemelor, s\u0103 devin un programator de succes cu IQ-ul pe care \u00eel am?<\/p>\n\n\n\n<p>Sau, \u00eentrebarea reformulat\u0103 \u00een direc\u021bia ac\u021biunii: Merit\u0103 s\u0103 fac ceva \u00een privin\u021ba dezvolt\u0103rii capacit\u0103\u021bii mele de g\u00e2ndire, de a rezolva probleme, de a construi ceva valoros?<\/p>\n\n\n\n<p>Nu o s\u0103 \u00eencerc s\u0103 r\u0103spund la aceast\u0103 \u00eentrebare c\u0103ut\u00e2nd studii psihologice. Nu o s\u0103 fac o demonstra\u021bie matematic\u0103.<\/p>\n\n\n\n<p>Ce o s\u0103-\u021bi povestesc este ceea ce am v\u0103zut p\u00e2n\u0103 acum \u00een via\u021ba de zi cu zi, \u00een realitatea palpabil\u0103.<\/p>\n\n\n\n<p>Multe din fabulele, proverbele \u0219i cuvintele de \u00eenv\u0103\u021b\u0103tur\u0103 pe care le avem adunate de genera\u021biile anterioare con\u021bin o form\u0103 condensat\u0103 a realit\u0103\u021bii.<\/p>\n\n\n\n<p>Acolo g\u0103sim o explica\u021bie cum cineva care nu este a\u0219a &#8216;dotat&#8217; din na\u0219tere poate dep\u0103\u0219i pe cineva care este &#8216;supradotat&#8217;.<\/p>\n\n\n\n<p>Banuiesc c\u0103 \u021bi-ai dat seama despre ce vorbesc &#8211; fabula lui Aesop &#8211; Iepurele \u0219i Broscu\u021ba.<\/p>\n\n\n\n<p>Ajuns\u0103 \u00een competi\u021bie, broscu\u021ba reu\u0219e\u0219te s\u0103 ajung\u0103 la destina\u021bie \u00eenaintea iepurelui.<\/p>\n\n\n\n<p>Sun\u0103 incredibil, dar v\u0103d \u0219i \u00een jurul meu situa\u021bii similare. \u00cen toate domeniile, financiare, profesionale, culturale, sociale.<\/p>\n\n\n\n<p>Nu mai sunt surprins c\u00e2nd v\u0103d persoane cu salarii mai mici care, pe termen lung, dep\u0103\u0219esc financiar persoane cu salarii mult mai mari.<\/p>\n\n\n\n<p>Nu de pu\u021bine ori am v\u0103zut \u00een plan profesional oameni foarte de\u0219tep\u021bi r\u0103m\u00e2n\u00e2nd \u00een urma celor obi\u0219nui\u021bi.<\/p>\n\n\n\n<p>Sau oameni inteligen\u021bi care nu mai sunt \u00een stare s\u0103 disting\u0103 ce este adev\u0103r \u0219i minciun\u0103 \u00een cultura \u00een care tr\u0103im.<\/p>\n\n\n\n<p>Din \u00een\u021belepciunea popular\u0103 \u0219i din ceea ce am observat \u00een jurul meu, se pare c\u0103 r\u0103spunsul este &#8211; DA, merit\u0103 s\u0103 depun efort \u00een dezvoltarea mea. \u0218i a\u0219 ad\u0103uga o subliniere important\u0103: DEZVOLTAREA MEA CONSTANT\u0102.<\/p>\n\n\n\n<p class=\"has-large-font-size\"><strong>ECUA\u021aIA succesului<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"544\" height=\"376\" src=\"https:\/\/silviumarcu.ro\/blog\/wp-content\/uploads\/2023\/10\/iq-success.jpg\" alt=\"\" class=\"wp-image-112\" srcset=\"https:\/\/silviumarcu.ro\/blog\/wp-content\/uploads\/2023\/10\/iq-success.jpg 544w, https:\/\/silviumarcu.ro\/blog\/wp-content\/uploads\/2023\/10\/iq-success-300x207.jpg 300w\" sizes=\"auto, (max-width: 544px) 100vw, 544px\" \/><\/figure>\n\n\n\n<p>Mi-a\u0219 defini ecua\u021bia succesului ca o combina\u021bie de factori.<\/p>\n\n\n\n<p>IQ-ul este un factor pe care nu-l pot varia prea mult. El este un amplificator al ac\u021biunilor mele.<\/p>\n\n\n\n<p>Din observa\u021biile mele asupra oamenilor de succes, doi factori au ie\u0219it \u00een eviden\u021b\u0103 ca fiind extrem de importan\u021bi: PLANUL \u0219i DISCIPLINA.<\/p>\n\n\n\n<p>Pe plan profesional, oamenii de succes au \u00eentotdeauna \u021binte clare, planuri bine definite \u0219i disciplin\u0103 de fier.<\/p>\n\n\n\n<p>Dar ce \u00eenseamn\u0103 succes? Pentru mine, succes \u00eenseamn\u0103 atingerea \u021bintei.<\/p>\n\n\n\n<p class=\"has-large-font-size\"><strong>\u021ainta<\/strong><\/p>\n\n\n\n<p>Dac\u0103 nu am o \u021bint\u0103 clar\u0103, \u00een orice domeniu, sunt ca un vapor pe ocean care nu are o destina\u021bie final\u0103. Sunt purtat de valuri \u00eencoace \u0219i \u00eencolo, azi urm\u0103resc o balen\u0103 spre nord, m\u00e2ine m\u0103 iau dup\u0103 un vapor colorat frumos care merge spre sud, poim\u00e2ine m\u0103 las \u00een voia curen\u021bilor.<\/p>\n\n\n\n<p>Un lucru care m\u0103 surprinde \u00een ziua de azi e c\u0103 dintre tinerii cu care discut, tot mai pu\u021bini au \u021binte clare. Dac\u0103 \u00een trecut, \u00een copil\u0103ria \u0219i adolescen\u021ba mea, majoritatea dintre prietenii mei \u0219tiau destul de devreme ce vor s\u0103 fac\u0103 \u00een via\u021b\u0103, adic\u0103 aveau \u021binte clare, ast\u0103zi majoritatea tinerilor sunt nesiguri \u0219i \u00ee\u0219i schimb\u0103 des op\u021biunea. Ieri voiam s\u0103 m\u0103 fac programator, azi visez la medicin\u0103, m\u00e2ine s\u0103 fiu artist.<\/p>\n\n\n\n<p>Banuiala mea este c\u0103 datorit\u0103 expunerii la un flux uria\u0219 de informa\u021bie, \u00een ziua de azi, social media are o influen\u021b\u0103 care ne bulverseaz\u0103 \u0219i contribuie major la aceast\u0103 lips\u0103 a \u021bintelor.<\/p>\n\n\n\n<p>\u00cen trecut aveam doar c\u00e2teva modele de urmat, fie din persoanele de succes cunoscute, fie din personajele c\u0103r\u021bilor care ne-au marcat. Ne urmam p\u0103rin\u021bii, fra\u021bii sau eroii din c\u0103r\u021bi.<\/p>\n\n\n\n<p>Ast\u0103zi vedem pe social media ZILNIC zeci de modele demne de urmat. Vedem din post\u0103rile prietenilor cum unul are succes mare \u00een afaceri, altul este un medic renumit sau altul are o \u00eemplinire profund\u0103 prin c\u0103l\u0103torii. Cum s\u0103 nu cedezi \u0219i s\u0103 nu visezi \u0219i tu la aceste \u021binte c\u00e2nd ele sunt prezentate at\u00e2t de frumos \u0219i documentate cu dovezi vizibile pe social media?<\/p>\n\n\n\n<p>Doar c\u0103 schimbarea \u021bintei vine la pachet cu o problem\u0103. C\u00e2nd \u00ee\u021bi schimbi \u021binta, o iei de la cap\u0103t. Atunci c\u00e2nd te refocusezi pe o nou\u0103 \u021bint\u0103, devii din nou \u00eencep\u0103tor. R\u0103m\u00e2i un Peter Pan care nu vrea s\u0103 creasc\u0103, care nu \u00ee\u0219i controleaz\u0103 emo\u021biile \u0219i visurile, se crede liber dar este prizonier al superficialit\u0103\u021bii perpetue. E\u0219ti un c\u0103l\u0103tor \u00een zigzag care nu va ajunge la nicio \u021bint\u0103.<\/p>\n\n\n\n<p>De aceea trebuie s\u0103 acorzi mare aten\u021bie \u0219i profunzime analizei acestui aspect. Care este \u021binta ta? La ce e\u0219ti bun? Ce e\u0219ti dispus s\u0103 faci pentru urm\u0103torii 10-20 ani, chiar dac\u0103 sentimentul se ofile\u0219te \u0219i nu o s\u0103 mai fii a\u0219a entuziasmat despre domeniul respectiv.<\/p>\n\n\n\n<p>Alege-\u021bi \u021binte realiste care \u021bi se potrivesc &#8211; dac\u0103 nu ai voce, nu visa s\u0103 fii c\u00e2nt\u0103re\u021b la oper\u0103, sau dac\u0103 ai abilit\u0103\u021bi analitice \u0219i e\u0219ti bun la matematic\u0103, programarea poate fi o variant\u0103 potrivit\u0103<\/p>\n\n\n\n<p class=\"has-large-font-size\"><strong>Planul<\/strong><\/p>\n\n\n\n<p>O persoan\u0103 de succes, odat\u0103 ce are o \u021bint\u0103 clar\u0103, \u00ee\u0219i define\u0219te un plan. Planul ne aduce cu picioarele pe p\u0103m\u00e2nt, ne ajut\u0103 s\u0103 \u00een\u021belegem distan\u021ba \u00eentre unde suntem \u0219i unde vrem s\u0103 ajungem. Dac\u0103 r\u0103m\u00e2n doar la nivelul viselor, nu am nicio idee cum a\u0219 putea s\u0103 ajung la destina\u021bie, \u0219i cel mai probabil nu voi ajunge acolo niciodat\u0103.<\/p>\n\n\n\n<p>A\u0219 folosi analogia cu planul de c\u0103l\u0103torie. Ai harta pe perete, pui un pin \u00een punctul de plecare \u0219i un alt pin pe destina\u021bie. Impar\u021bi drumul \u00een buc\u0103\u021bi clare, \u00een \u021binte mai mici, concrete.<\/p>\n\n\n\n<p>\u00cen c\u0103l\u0103torii, dac\u0103 ai un drum mai lung de f\u0103cut, \u00eel \u00eempar\u021bi \u00een zile. Parcurgi drumul la un pas sus\u021benabil, te mai \u0219i odihne\u0219ti. \u00cen prima zi trebuie s\u0103 ajung la prima destina\u021bie, a doua zi la a doua. Dup\u0103 12 zile ajung la destina\u021bia final\u0103 \u0219i pot s\u0103 m\u0103 bucur de ea.<\/p>\n\n\n\n<p>C\u00e2nd planific drumul, v\u0103d ce resurse am nevoie. C\u00e2\u021bi bani, c\u00e2t timp, ce echipament.<\/p>\n\n\n\n<p>F\u0103r\u0103 o minim\u0103 planificare, s-ar putea s\u0103 cad de oboseal\u0103 dup\u0103 primele zile, s\u0103 r\u0103m\u00e2n f\u0103r\u0103 resurse, sau s\u0103 merg a\u0219a de relaxat \u0219i lejer c\u0103 o s\u0103 ajung la destina\u021bie b\u0103tr\u00e2n \u0219i f\u0103r\u0103 putere.<\/p>\n\n\n\n<p>Ca s\u0103 ajungi un programator de succes, trebuie s\u0103 ai un plan. De obicei, \u021binta \u00een sine nu este s\u0103 fii programator. \u00cemi doresc s\u0103 fiu un programator bun pentru a putea crea solu\u021bii \u0219i produse c\u00e2t mai bune, mai inteligente, mai performante. Trebuie s\u0103 te proiectezi \u0219i s\u0103 te vezi \u00een viitor ca un creator al unui software care rezolv\u0103 bine o problem\u0103. S\u0103-\u021bi imaginezi c\u0103 po\u021bi dezvolta un produs despre care s\u0103 auzi laude din partea clien\u021bilor.<\/p>\n\n\n\n<p>Un lucru care m\u0103 ajut\u0103 pe mine \u00een atingerea destina\u021biei sunt \u021bintele intermediare mici \u0219i concrete.<\/p>\n\n\n\n<p>Mecanismul de recompensare func\u021bioneaz\u0103 foarte bine \u0219i m\u0103 ajut\u0103 s\u0103 simt bucuria unui progres, chiar dac\u0103 e mic. Ca exemplu, pot s\u0103 \u00eemi pun o \u021bint\u0103 concret\u0103 s\u0103 \u00eenv\u0103\u021b un design pattern pe s\u0103pt\u0103m\u00e2n\u0103. Sau c\u0103 \u00een luna urm\u0103toare s\u0103 citesc o carte despre data streaming. Atunci c\u00e2nd reu\u0219esc s\u0103 duc la bun sf\u00e2r\u0219it o \u021bint\u0103 intermediar\u0103 concret\u0103, simt satisfac\u021bie \u0219i \u00eemplinire, asemenea unui popas peste noapte pe un traseu lung. \u00cemi d\u0103 odihn\u0103 \u0219i curaj s\u0103 pornesc m\u00e2ine la drum pe o nou\u0103 etap\u0103.<\/p>\n\n\n\n<p>Dac\u0103 ai r\u0103bdare s\u0103 m\u0103 urm\u0103re\u0219ti p\u00e2n\u0103 la final, o s\u0103-\u021bi las \u0219i o schi\u021b\u0103 de plan pe care o recomand tinerilor interesa\u021bi s\u0103 se apuce de o carier\u0103 \u00een programare sau care sunt la \u00eenceput de drum \u0219i vor s\u0103 avanseze c\u00e2t mai rapid.<\/p>\n\n\n\n<p class=\"has-large-font-size\"><strong>Disciplina<\/strong><\/p>\n\n\n\n<p>Dac\u0103 ai observat, \u00een ecua\u021bia succesului am pus factorul disciplina la puterea a doua. Impactul pe care disciplina \u00eel are \u00een via\u021ba omului de succes este uria\u0219. Am curajul s\u0103 spun c\u0103 disciplina este factorul cel mai important pentru a avea succes. Pot s\u0103 am un IQ oric\u00e2t de mare, pot s\u0103 am un plan de care s\u0103 se minuneze chiar \u0219i Einstein, dar dac\u0103 nu m\u0103 dau jos din pat \u0219i chiulesc toat\u0103 ziua de la munc\u0103, \u00een cel mai bun caz o s\u0103 fiu un mediocru. O s\u0103 fiu iepura\u0219ul care se culc\u0103 pe o ureche \u0219i, \u00een final, v\u0103d \u00een departare broscu\u021ba f\u0103c\u00e2ndu-mi cu m\u00e2na de la linia de sosire.<\/p>\n\n\n\n<p>U\u0219or de zis, super greu de f\u0103cut. Disciplina este ceea ce ne diferen\u021biaz\u0103 cel mai mult \u00een via\u021b\u0103.<\/p>\n\n\n\n<p>Disciplina este cauza principal\u0103 pentru care avem at\u00e2t de pu\u021bini oameni de succes.<\/p>\n\n\n\n<p>Oamenii care sunt deasupra mul\u021bimii sunt super disciplina\u021bi. Urmeaz\u0103 cu \u00eend\u00e2rjire un scop clar. Au reguli \u0219i proceduri bine definite care \u00eei ajut\u0103 s\u0103 fie disciplina\u021bi. Nu duc o via\u021b\u0103 plin\u0103 de excep\u021bii. Ei planteaz\u0103 zilnic, constant, disciplinat, semin\u021be \u00een p\u0103m\u00e2ntul vie\u021bii lor.<\/p>\n\n\n\n<p>\u00cen final, rezultatul este cov\u00e2r\u0219itor, un c\u00e2mp plin de rod.<\/p>\n\n\n\n<p>Dac\u0103 plantezi doar din c\u00e2nd \u00een c\u00e2nd c\u00e2te o plantu\u021b\u0103 \u0219i te a\u0219tep\u021bi s\u0103 ai aceea\u0219i recolt\u0103, te \u00een\u0219eli singur. O s\u0103 fii profund dezam\u0103git.<\/p>\n\n\n\n<p>M-am \u00eentrebat dac\u0103 exist\u0103 o formul\u0103 pe care pot s\u0103 o aplic \u0219i s\u0103 devin disciplinat. Din p\u0103cate, nu am g\u0103sit o re\u021bet\u0103 simpl\u0103 care s\u0103 func\u021bioneze universal. Am citit c\u0103r\u021bi de dezvoltare personal\u0103, c\u0103r\u021bi care mi-au ar\u0103tat cum s\u0103-mi creez obiceiuri, c\u0103r\u021bi despre eficien\u021b\u0103. Toate aceste c\u0103r\u021bi sunt foarte bune \u0219i m-au ajutat, dar factorul determinant \u00een aceast\u0103 dezvoltare a disciplinei sunt eu. Pot s\u0103 cunosc o sut\u0103 de tehnici de auto-disciplin\u0103, dac\u0103 nu am voin\u021ba s\u0103 le aplic zilnic, rezultatul va fi mediocru, \u0219i \u00een final voi renun\u021ba.<\/p>\n\n\n\n<p>Pentru a ilustra dezvoltarea disciplinei, \u00eemi imaginez o curte plin\u0103 de iarb\u0103, lucruri aruncate ici \u0219i colo, gardul p\u0103r\u0103ginit \u0219i nevopsit, balansoarul rupt \u0219i ruginit, morman de pietre \u00een mijlocul cur\u021bii. A\u0219a arat\u0103 o via\u021b\u0103 nedisciplinat\u0103. Cu o astfel de curte, nu-mi vine s\u0103 ies din cas\u0103, mai bine stau cu ochii \u00een televizor \u0219i visez s\u0103 ajung la o via\u021b\u0103 de succes ca a eroilor din filme<\/p>\n\n\n\n<p>Dar s\u0103 spunem c\u0103 m\u0103 las proiectat \u00eentr-un vis \u0219i m\u0103 v\u0103d pe mine \u00een aceea\u0219i curte, umbl\u00e2nd descult prin gazonul \u00eengrijit, a\u0219ez\u00e2ndu-m\u0103 pe un balansoar curat la umbra unui pom, savur\u00e2nd o limonad\u0103 \u0219i privind mul\u021bumit la teritoriul pe care l-am \u00eembl\u00e2nzit, spa\u021biu \u00een care am adus ordine \u0219i scop. Dac\u0103 am \u00een minte acest vis \u0219i mi-l asum ca un scop, pot mai u\u0219or crea un plan \u0219i s\u0103 am motiva\u021bia s\u0103-l aduc la \u00eendeplinire.<\/p>\n\n\n\n<p>Disciplina se \u00eenva\u021b\u0103 cu pa\u0219i mici. Dac\u0103 m\u0103 duc \u00een gr\u0103din\u0103 \u0219i \u00eencep nebuneste s\u0103 rezolv toate problemele, o s\u0103-mi pierd suflul \u00een c\u00e2teva ore \u0219i o s\u0103 renun\u021b dezn\u0103d\u0103jduit.<\/p>\n\n\n\n<p>C\u00e2nd \u00eens\u0103 \u00eemi propun constant, \u00een fiecare zi c\u00e2te pu\u021bin, s\u0103 cuceresc c\u00e2te o problem\u0103, f\u0103r\u0103 s\u0103 fiu dobor\u00e2t de efort, lucrurile vor evolua constant \u00eenspre \u021binta mea, visul meu de a avea o curte curat\u0103.<\/p>\n\n\n\n<p>\u00cen prima zi tai iarba, apoi adun lucrurile aruncate, apoi mut pietrele \u0219i fac ni\u0219te c\u0103r\u0103ri pavate cu ele. \u00cen urm\u0103toarea s\u0103pt\u0103m\u00e2n\u0103 repar balansoarul, cur\u0103\u021b pomii, vopsesc gardul.<\/p>\n\n\n\n<p>\u00cen final, totul este curat \u0219i aranjat \u0219i pot s\u0103 m\u0103 bucur de rezultatele efortului meu.<\/p>\n\n\n\n<p>Urmeaz\u0103 men\u021binerea constant\u0103 a ordinii pe care am creat-o, care din nou necesit\u0103 disciplin\u0103 continu\u0103, dar cu c\u00e2t practic mai mult aceast\u0103 disciplin\u0103, cu at\u00e2t mai u\u0219or este s\u0103 fac acei pa\u0219i zilnici.\u2020<\/p>\n\n\n\n<p>Revin la realitatea de zi cu zi. \u00cen cazul meu, ca s\u0103 fiu disciplinat, trebuie s\u0103-mi autoimpun o caden\u021b\u0103, un pas constant la care s\u0103 merg. Pentru mine cel mai bine func\u021bioneaz\u0103 diminea\u021ba. Dac\u0103 m\u0103 trezesc mai devreme, am un timp lini\u0219tit dedicat unei \u021binte clare, un timp de autodisciplinare. Nu am reu\u0219it s\u0103 ajung complet \u00een clubul 5AM, dar m\u0103 str\u0103duiesc s\u0103 ajung acolo.<\/p>\n\n\n\n<p>Pentru a reu\u0219i s\u0103 fiu disciplinat, constant \u00een pa\u0219ii de \u00eenv\u0103\u021bare pe care \u00eei fac, am observat c\u0103 singurul mod care func\u021bioneaz\u0103 pentru mine este s\u0103 planific \u0219i s\u0103 aloc un timp bine definit pentru asta. M\u0103 trezesc diminea\u021ba la ora X \u0219i timp de dou\u0103 ore stau \u00een jurul unui task bine definit, nu navighez pe internet \u0219i m\u0103 trezesc la final c\u0103 nu am f\u0103cut nimic.<\/p>\n\n\n\n<p>Nu reu\u0219esc constant s\u0103 m\u0103 \u021bin de program, uneori m\u0103 reg\u0103sesc deviat de la plan, uneori nu reu\u0219esc s\u0103 m\u0103 trezesc, dar nu renun\u021b, \u00eemi reamintesc \u021binta \u0219i pa\u0219ii pe care trebuie s\u0103-i fac \u0219i revin pe drum. Odat\u0103 ce am v\u0103zut progresul pe care l-am avut prin metoda asta, e mult mai u\u0219or s\u0103 revin la ea \u0219i s\u0103 fiu disciplinat, \u0219tiu c\u0103 merge.<\/p>\n\n\n\n<p class=\"has-large-font-size\"><strong>Plan \u0219i Disciplin\u0103 \u00een programare<\/strong><\/p>\n\n\n\n<p>\u00cen programare, pentru a ajunge la profesionalism, la acea gr\u0103din\u0103 mental\u0103 \u00een care lucrurile sunt la locul lor, trebuie \u00een primul r\u00e2nd s\u0103 st\u0103p\u00e2ne\u0219ti anumite tehnici. Le numesc tehnici pentru c\u0103 nu vorbesc doar despre cuno\u0219tin\u021be. Cuno\u0219tin\u021bele f\u0103r\u0103 practic\u0103 se evapor\u0103, dispar.<\/p>\n\n\n\n<p>St\u0103p\u00e2nirea unei tehnici are dou\u0103 picioare.<\/p>\n\n\n\n<p>\u00cen primul r\u00e2nd, tehnica se bazeaz\u0103 pe cunoa\u0219terea teoretic\u0103, cum ar fi enun\u021bul unui design pattern. \u00cel citesc, \u00eel pricep teoretic, \u0219tiu despre ce e vorba. Aici am nevoie de disciplina cititului. S\u0103 citesc constant c\u0103r\u021bi, articole, prezent\u0103ri.<\/p>\n\n\n\n<p>Al doilea pas este aplicarea real\u0103, practic\u0103 a acelor cuno\u0219tin\u021be. Aplicarea real\u0103 trece dincolo de exemplele din c\u0103r\u021bi sau microproiecte personale la care lucrez singur.<\/p>\n\n\n\n<p>Aplicarea real\u0103 implic\u0103 participarea \u00eentr-un proiect mai complex \u00een care colaborezi cu al\u021bi programatori. Proiect \u00een care impactul codului produs de tine se vede \u00een timp. Acolo o s\u0103 vezi dac\u0103 aplicarea design patternului \u00eentr-un anumit loc a fost o decizie bun\u0103 sau nu. \u00centr-un proiect real o s\u0103 vezi c\u00e2nd \u0219i cum po\u021bi aplica modelul teoretic pe care \u00eel cuno\u0219ti tu, \u00eentr-un context complex imperfect.<\/p>\n\n\n\n<p>Trebuie s\u0103-mi exersez ambele picioare. Dac\u0103 nu citesc \u0219i fac doar lucruri practice o s\u0103 am primul picior anemic \u0219i al doilea musculos. Nu prea pot alerga bine.<\/p>\n\n\n\n<p>Dac\u0103 doar citesc \u0219i nu aplic cuno\u0219tin\u021bele \u00een proiecte reale, sunt \u00een aceea\u0219i situa\u021bie<\/p>\n\n\n\n<p class=\"has-large-font-size\"><strong>Schi\u021ba de plan<\/strong><\/p>\n\n\n\n<p>Pot s\u0103-\u021bi dau o schi\u021b\u0103 de plan \u00een linii mari \u00eenc\u0103 de pe acum, dar detaliile trebuie s\u0103 vin\u0103 de la tine.<\/p>\n\n\n\n<p>Primul pas: \u0219coala. \u00ce\u021bi recomand s\u0103-\u021bi \u00eencepi drumul cu o facultate de calculatoare sau informatic\u0103. Chiar dac\u0103 unele materii pot p\u0103rea inutile, disciplina \u0219i cadrul pe care \u00eel \u00eenve\u021bi acolo te vor pune pe o direc\u021bie tehnic\u0103 clar\u0103. Vei pleca de acolo cu un cadru s\u0103n\u0103tos pe care s\u0103 construie\u0219ti \u00een continuare.<\/p>\n\n\n\n<p>\u00cencepe s\u0103 practici c\u00e2t mai repede, \u00eenc\u0103 din \u0219coal\u0103. \u00cencearc\u0103 s\u0103 te implici \u00een proiecte care rezolv\u0103 probleme reale, nu r\u0103m\u00e2ne doar la proiecte teoretice.<\/p>\n\n\n\n<p>Scrie cod c\u00e2t de mult. Programatorul, asemenea scriitorului, \u00ee\u0219i ascute sabia scriind c\u00e2t mai mult.<\/p>\n\n\n\n<p>Asimileaz\u0103 pe r\u00e2nd toate aspectele importante ale program\u0103rii. Din proprie experien\u021b\u0103 \u00ee\u021bi spun c\u0103 doar cunoa\u0219terea teoretic\u0103 a unei tehnici este ineficient\u0103. Tehnica trebuie asimilat\u0103, trebuie \u00een\u021beleas\u0103 \u00een profunzime \u0219i asta vine doar din practicarea acelei tehnici.<\/p>\n\n\n\n<p>Po\u021bi cunoa\u0219te pe de rost toate design patterns, dar dac\u0103 nu \u0219tii unde, c\u00e2nd \u0219i cum s\u0103 le aplici, aceast\u0103 cunoa\u0219tere uneori te poate deruta mai mult dec\u00e2t te ajut\u0103.<\/p>\n\n\n\n<p>\u00cen fi\u0219ierul ata\u0219at, mi-am extras zonele importante pe care consider c\u0103 trebuie s\u0103 le st\u0103p\u00e2neasc\u0103 un programator. E o list\u0103 pe care o rafinez. Dac\u0103 ai \u0219i tu sugestii sau crezi c\u0103 ceva nu merit\u0103 s\u0103 fie pe list\u0103, te rog s\u0103 \u00eemi scrii.<\/p>\n\n\n\n<p><a href=\"https:\/\/silviumarcu.ro\/blog\/wp-content\/uploads\/2023\/10\/training-plan.pdf\">https:\/\/silviumarcu.ro\/blog\/wp-content\/uploads\/2023\/10\/training-plan.pdf<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Audio podcast: Introducere Nu sunt un geniu. Dac\u0103 \u00een copil\u0103rie \u0219i adolescen\u021b\u0103 aspiram s\u0103 fiu c\u00e2t mai &#8216;de\u0219tept&#8217;, odat\u0103 cu \u00eenaintarea \u00een cariera de programator, mi-am dat seama c\u0103 &#8216;de\u0219tept\u0103ciunea&#8217; sau IQ-ul nu este singurul factor care conteaz\u0103 \u00een a fi un programator de succes. Este un factor important; nu oricine poate fi programator bun&#8230;.<\/p>\n","protected":false},"author":1,"featured_media":112,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"categories":[46,12],"tags":[],"class_list":["post-109","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-iq","category-programare"],"_links":{"self":[{"href":"https:\/\/silviumarcu.ro\/blog\/wp-json\/wp\/v2\/posts\/109","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/silviumarcu.ro\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/silviumarcu.ro\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/silviumarcu.ro\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/silviumarcu.ro\/blog\/wp-json\/wp\/v2\/comments?post=109"}],"version-history":[{"count":0,"href":"https:\/\/silviumarcu.ro\/blog\/wp-json\/wp\/v2\/posts\/109\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/silviumarcu.ro\/blog\/wp-json\/wp\/v2\/media\/112"}],"wp:attachment":[{"href":"https:\/\/silviumarcu.ro\/blog\/wp-json\/wp\/v2\/media?parent=109"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/silviumarcu.ro\/blog\/wp-json\/wp\/v2\/categories?post=109"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/silviumarcu.ro\/blog\/wp-json\/wp\/v2\/tags?post=109"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}