Trebuie sa stii engleza la perfectiune si sa inveti lucruri complexe. (adica sa stii sa iti organizezi timpul)
Ceea ce nu prea poti invata e cum sa gandesti logic si sa ai o intuitie pentru a rezolva probleme. (dar matematica si fizica te ajuta)
Nu in ultimul rand e ideal si daca citesti mult si esti creativ.
Eu personal nu recomand sa fii programator in viitor, in special daca nu crezi ca vei putea ajunge extrem de bun. Foarte multi au mers acum pe aceasta cale (in special oameni foarte inteligenti) si e pur si simplu o meserie ca oricare alta, dar are destul de multe dezavantaje :
- Iti distrugi sanatatea cu sedentarismul necesar
- Daca iti distrugi sanatatea iti distrugi si viata sociala (nu prieteni, nu comunicare, nu fete, nu locuri de munca alternative decente, esti la fel de necalificat ca unul care a fost agent de securitate la amanet, cel putin fara facultate)
- Banii vor fi doar in aplicatiile si site-urile pentru telefon, in rest nu te atingi de nimic serios fara sa fii extrem de bun.
- Jocurile au nevoie mai mult de artisti decat de programatori, nu e rau daca stii sa programezi, dar un artist 3d, animator e mult mai important. (in rest iarasi nu te atingi de lucruri care deja sunt programare serioasa fara sa fii extrem de bun)
- Cel putin in Romania nu prea exista locuri unde chiar ai vrea sa lucrezi, toti fac ceva la comanda, cu specificatii stricte, fara multe oportunitati. Salariile sunt cele mai mici din Europa (fara scutire de impozit, din cauza scutirii de impozit toti cauta doar oameni cu diploma ca sa ii poata mentine cu un salariu cat mai mic), iar posturi entry level nici nu exista sau nu vor mai exista. (mai rapid castigi la loterie decat sa prinzi un post entry level)
In alte tari situatia e ceva mai buna, chiar si in Ungaria e mult mai buna situatia. (dar toti vor cobori la nivelul romaniei)
- E o meserie plina de paradoxuri, multilaterala, daca nu stii sa te vinzi, sa vorbesti, sa iti organizezi timpul, sa scrii, sa ai o personalitate interesanta si sa ii inveti pe altii poti sa fii cel mai bun programator din lume, tot nu faci multe. (in trecut nu era asa important, in viitor vor cauta cel mai mic defect al tau ca sa te compare cu altii)
- Cel mai accesibil mod de a fi programator e sa realizezi site-uri, problema e ca si site-urile se indreapta cu viteza maxima direct spre inginerie de soft, adica adio lucruri simple si profitabile.
Extrem de bun inseamna proiecte de succes, o facultate cu renume (nu astea din Romania fiindca te intereseaza renumele facultatii, nu ce se preda), cunostiinte teoretice aprofundate, memorie foarte buna, atentie la detalii, cercetare si inovare.
Salariile nu vor fi mai mari, doar vor scadea.
Avantajul major e ca iti poti realiza propriile proiecte fara cel mai mare cost, respectiv nu trebuie sa te increzi in ceva consultant ca sa stii pe ce cale te duci ca si antreprenor. Programarea e doar unul din multele cunostiinte necesare pentru a administra o afacere in viitor.
Un alt avantaj extrem de bun e ca totul e pe internet, exista carti foarte bune gratuite, cursuri video, cursuri interactive foarte bune iarasi gratuite sau la un cost redus (daca nu vrei sa fii pirat), cu un calculator de 1000 de lei si 2 monitoare ai practic tot ce iti trebuie ca sa faci orice ti-ai imaginat.
Daca te pasioneaza extrem de mult calculatoarele si vrei sa rezolvi probleme cu programe de calculator/roboti/jocuri probabil poti gasi o alternativa la a fi extrem de bun in viitor, daca nu esti nici super pasionat, nici nu te duci la facultate cu toata materia stiuta deja pe de rost o sa ajungi doar la o criza existentiala in 5-6 ani. Iar daca treci peste ea o sa lucrezi cine stie unde si la ce, numai programare nu o sa faci. (eu cel putin imi imaginez ca in China vor fi de 10 ori mai multi programatori care vor vorbi la perfectiune limba engleza ca populatia romaniei)
In fine, probabil aceleasi lucruri sunt valabile si la oricare alta meserie decent platita si daca cineva nu implementeaza corect venitul unic universal de baza vor fi oricum probleme foarte mari.
Ca sa iti raspund si mai direct:
Cam aceste lucruri se invata la o facultate de renume, ti se vor cere si tie la interviu daca cineva va angaja oameni fara diploma ca sa ii filtreze pe cei care stiu ceva programare dar nu sunt speciali.
Pana aici nu e nici o problema, e posibil sa inveti ce e acolo intr-o luna, doua daca inveti sistematic. Problema e ca daca tu nu esti in stare sa faci un mate-info, o facultate pot sa pariez pe orice ca tu nu o sa fii in stare sa stai pe scaun si sa inveti 2 zile 8-10 ore pe zi, nu sa stai 2 luni.
Alternativa e desigur sa faci proiecte calumea, de succes, bine promovate, estetice, sa ai prieteni care sa te promoveze. (chiar si asa nu e exclus ca cineva sa te testeze din toata materia de facultate, probleme grele fiindca tot vor fi multi care vor avea proiecte decente)
Alternativa mult mai buna (cam singura optiune realista in viitor) e sa fii antreprenor si sa iti faci prieteni cu care sa ai propriile proiecte, dupa propriul gust la care sa lucrati din pasiune si sa le monetizati.