De ce aptitudini avem nevoie pentru a deveni programatori?

Setup: Aceasta intrebare se adreseaza programatorilor care au macar un an de experienta si care sunt dispusi sa faca putina introspectie si care isi pot aminti de zilele de dinainte de a fi programatori.
Enunt: E clar ca pentru fiecare domeniu trebuie sa ai niste aptitudini pe care unii zic ca sunt din nastere, altii zic ca sunt dobandite in timp (dar nu despre asta vreau sa vorbim). Facand abstractie de raspunsurile cliseice (matematica, algoritmica, gandire abstracta etc etc), atunci cand vrei sa mergi pe acest drum voi cand ati invatat programare ce ati simtit ca v-a ajutat sa progresati? Puteti privi atat retrospectiv cat si aha-urile de atunci.
Raspuns: O sa sparg eu gheata si va spun ca retrospectiv privind mi-am dat seama ca ce m-a facut sa merg mai departe si sa ajung programator a fost ‘toleranta la esec’. Poate suna ciudat dar inca imi amintesc multe frustrari acumulate cand incercam sa fac o chestie si nu imi iesea, si renuntat, si reincercam, si ma enervam, si incercam altceva, nici aia nu imi reusea, and so on…

5 Likes

vroiam să spun curiozitate și răbdare, dar cred că toleranta la esec le îmbină pe ambele.
(sper că postul ăsta nu e spam)

2 Likes

De ce sa se faca abstractie de raspunsurile ‘cliseice’? Daca sunt ‘cliseice’ sunt false, sau cum e treaba?

Un atribut al unui programator bun e lenea. Daca e lenes, scrie doar o linie de cod cand unul harnic scrie 10000, pentru aceeasi functionalitate :stuck_out_tongue:
Glumesc, dar doar partial.

1 Like

Cred ca cine vrea sa invete programare trebuie informat de la bun inceput ca o mare parte din timp o va petrece identificand de ce nu functioneaza ceva.

Al doilea lucru pe care l-as pune in vedere de la inceput e sa stie ca trebuie sa incerce in cel putin 5 feluri sa rezolve o problema. Adica pana o rezolva.

1 Like

100% spam :slight_smile:
Da, si eu cred ca le imbina dar nu integral.

Pai pentru ca unele sunt ‘pe bune’ altele sunt ‘mituri’… (glumesc)
Pentru ca sunt curios de alea pe care le-ati avut/simtit voi, dar daca tu te simti bine doar daca le zici si pe cele cliseice varsa-le pe toate.

Nah, ca mi-e lene.

Logica in primul rand. Coreleaza cu matematica, etc.

Reintorcandu-ma la intrebare, raspunsul este: facultatea. Aia m-a ajutat sa progresez.

1 Like

Programarea orientata obiect mi-a deschis toate portile. Pacat ca nu se facea in liceu si pe atunci nu exista internet (ieftin).

1 Like

aia cu lenea e adevărată.

De când mă știu gândeam și căutam cele mai eficiente metode de a face ceva :slight_smile:

Observam imediat tiparele și asemănările între lucruri sau procese, și toată lumea se enerva pe mine că mă dădeam deștept și le stricam lor tehnica inovatoare numită ‘așa fac dintotdeauna și nimeni n-a zis nimic’

1 Like

Aptitudini
Inclinatie catre tech & computers prima data. Fara aia nu incepi.
Dupa - curiozitate si perseverenta. Fara alea nu avansezi.

Ce a ajutat la progres?
Proiecte “real life”. Oricat de mici si buggy. Astfel descoperi weak points, strong points, ce ai de facut mai departe, etc.

3 Likes

Pasiune. E kestia aia care te tine la calculator in loc sa mergi la masa, care te fac sa creezi in loc sa consumi videouri sau jocuri, care iti face placere mai mult decat TV-ul (si cateodata decat prietena/-ul)

3 Likes

De puls, de diploma de absolvire de la gradinita si de 5000 de euro, am auzit eu ca sunt unii care te fac programator freelancer pentru o suma de genul asta.

O intrebare pusa la caterinca merita un raspuns la caterinca, totusi o sa raspund si aproximativ serios:

  1. Sa stii cum sa inveti singur
  2. Este esential sa ai un IQ peste medie, chiar nu se poate altfel
  3. Capacitatea de a sta pe scaunul ala cateva ore in care te concentrezi pe o problema, nu deschizi 3 retele sociale si “lucrezi” in timp ce admiri poze cu pisici si gagici in chiloti
  4. Rezistenta la stres
  5. Foarte multa munca
1 Like

Intr-o alta discutie pui accent pe soft skills.

Eu am prins vremuri mai vechi, in care intrai la un program sau pe o directie de dezvoltare daca luai un examen, examen in care iti erau verificate aptitudinile necesare. In programare, aptitudinile nu sunt suficiente daca nu sunt dezvoltate in talent.

Dar na, acum exista Spiru Haret si altele si poti ajunge aproape orice (medic, inginer, profesor) doar cu aptitudini de gargara.

.

de asta am uitat.

când eram mic aveam manie pentru modding. Aproape că mai mult făceam hărți de counter strike decât să mă joc efectiv :))

la Nfs3 la fel, mai mult mă jucam cu modificarea mașinilor decât jucatul in sine. Știam deja pe de rost ce fișier merge unde, ce format are, cum să le convertesc dintr-un format in altul.

țin minte că am refăcut in CS școala generală in care învățam, sau clubul de PC unde jucam. Evident am făcut și multe spot-uri cu scări invizibile unde doar eu știam ca poți merge și găsi locuri bune de stat la sniper :))

2 Likes

Aia cu lenea e adevarata se aplica doar daca e vorba de doing nu si thinking.

Sunt total de acord cu tine cand vine vorba de ‘learning by doing’. Erau mici proiecte de care ai avut tu nevoie sau atacai probleme random?

Am auzit si eu de cei ce te fac programator pentru o suma modica de 5000 E. Pana la urma e vorba de cerere si oferta… Tie ti s-a parut ca e o intrebare pusa la caterinca? Eu am incercat sa o contextualizez cat mai bine cu putinta. :slight_smile:

Pot fi de acord cu majoritatea. Dar pe asta cu rezistenta la stres nu prea o inteleg. Poti detalia?

Cam asa am ajuns si eu programator. Dar nu din modding, ci pentru ca vroiam sa invat sa corectez unele jocuri care mi se pareau prost facute (asta se intampla prin 96-98)…

Păi tot modding e și acela :slight_smile:

Și eu la nfs încercam să văd cum funcționează engine-ul, să modific texturi, să văd cum simulează puterea mașinii, greutatea ei, inerția, erau tot felul de chestii.

La CS la fel, erau multe chestii pe care engine-ul le avea și puteai face hărți care să arate mai bine, am făcut asta dar apoi aveai nevoie de calculator puternic, acolo am învățat că uneori e mai bine să ai un cer simulat decât să ai o hartă imensă, pentru că stoarce resurse. Am învățat diferența între a randa luminile în timp real, sau a le randa la compilarea ce o făcea engine-ul pentru hartă, când îți pre-randa toate luminile fixe din hartă.

Acolo am învățat prima oară ce înseamnă limitele de procesare, trucuri cu care emulai anumite lucruri, ce se încarcă în RAM, ce se încarcă în memoria plăcii video, cum funcționează fiecare și la ce sunt folosite, concepte de bază care pentru un copil de clasa a 6-a care nu mai văzuse calculator nu erau concepte simple, alții înjurau pentru că jocul dădeau eroare că le era plin hdd-ul și nu mai avea windows-ul pentru swap file și mă chemau la ei să le rezolv jocurile :))

3 Likes

Am crezut ca numai eu am avut asa o viata trist cu CS. De aici am obtinut primii bani.

  • Cel mai bun lucru este sa fii curios de tot domeniul IT.
  • Este bine sa te specializezi pe un anumita specialitate (asat depinde de om )
  • Daca lucrezi in colectiv trebuie sa ai imaginatie despre ce face colegul de munca