fb

Cum sa înveți programare

Ce este dezvoltarea software / programarea?

Programarea sau dezvoltarea software este un proces format din mai multe etape:

  1. Analiza cerințelor utilizatorilor;
  2. Proiectarea cerințelor
  3. Construirea și testarea aplicațiilor software care vor satisface aceste cerințe.

Dezvoltarea software este o profesie în continuă schimbare. Prin urmare, ar trebui să ne adaptăm pe măsură ce se dezvoltă noi tehnologii.Pentru a putea face față acestor cerințe în continuă schimbare trebuie găsim o motivație și o dorința de învățare suficient de mare pentru a putea ține pasul cu aceste schimbări.

Avantaje unei cariere în IT

Avantaje unei cariere în IT le-am discutat și în articolul de ce sa mă apuc de programare

Câteva avantaje:

Timpul!

Exista mai multe posibilități de a învăța să programezi, sau sa dezvolți software, poți urma cursurile unei universități de profil, cursurile unei școli alternative, sau chiar cursuri online. 

Cea mai importantă componenta în luarea deciziei este timpul. Cât timp ai la dispoziție pentru a învăța noul skill.

În funcție de vârstă, poți începe cu un liceu teoretic urmând un profil de informatică, apoi o universitate de informatică. Această cale necesită în jur de 7 sau 8 ani depinzând de universitare aleasă.

Urmând această cale poți acumula multe cunoștințe. De ce spun “poți acumula”, pentru că depinde de fiecare dintre noi cât de captivat este de domeniu IT, cât de pregătit este profesorul, atât la nivel tehnic cât și pedagogic.

Rolul profesorului

Poate profesorul să trezească dorința de învățare a studentului, poate prezența noțiunile într-o manieră ușor de înțeles. Pe lângă aceste variabile mai trebuie adăugat și faptul că multe dintre materiile studiate în liceu sau facultate nu sunt neapărat folositoare în carieră ta de dezvoltator software. În plus există multe materii nu au legătură cu dezvoltarea software, materii precum noțiunile avansate de fizică, chimie sau matematică.

Dacă însă nu dispunem de atât de mult timp ce facem?

Vestea buna este ca pentru a obține un job în domeniul IT nu este nevoie neapărat să termini o facultate de informatică: Politehnică, ASE sau alta universitate. Deși ți-ar putea asigura un început bun de carieră, dacă îți dorești să profesezi în acest domeniu. Trebuie sa știi însă că în ultima vreme, tot mai multe persoane încep să programeze, să se îndrepte către o cariera în IT, chiar dacă au terminat alte facultăți sau poate chiar sunt încă pe băncile liceului. 

Domeniul IT este unul dintre cele mai căutate, unul dintre motive fiind salariile mari și dinamismul sau chiar și pe timp de criză.

Mult timp domeniu dezvoltării software era asociat cu solide cunoștințe de matematică ori de informatică. Însă profitând de ajutorul tehnologiei acum este mai ușor de urmat și de cei care au studiat în alte domenii.

Matematica și dezvoltarea software!

Nivelul cunoștințelor de matematică folosit în IT, în 90% din cazuri, este nivelul claselor primare.

Matematica ne ajuta mai mult sa putem înțelege aspectele logice din spatele programării, nicidecum concepte complexe de matematica.

Când vine vorba de concepte complexe de matematica exista echipe dedicate de matematicieni care vor veni cu aportul matematic.

În schimb, dacă ne concentrăm pe noțiunile care sunt necesare în cariera de dezvoltator software, învățarea poate fi scurtata cu mult timp. De exemplu urmând cursurile specializate de programare se poate ajunge la nivel junior în 6 – 12 luni. 

Un astfel de program face învățarea mult mai productivă. Având în vedere ca nu mai avem elemente care sa creeze distragerea atenției față de esențial.

Ce înseamnă dezvoltarea software?

Dezvoltarea software începe cu înțelegerea user story – urilor. Ce este un user story, este cerința pe clientului o transmite unui business analyst. Care la randului lui o prezinta dezvoltatorului software.

Doi pași sunt cruciali în înțelegerea user story – urilor: 

  • capacitatea de a scrie secvențe coerente de evenimente 
  • capacitatea de a transforma aceste secvențe în cod rapid și cât mai eficient.

Cum se transforma un user story?

Presupunând că putem descoperi aceste nevoi ale clientului, rămânem încă cu o întrebare importantă: cum se face cod din ele?
Pare evident, cumva trebuie să transformăm user story -urile în secvențe de instrucțiuni în cod.

De la user story la cod

Putem defini un proces de a transforma poveștile și noțiunile în cod?
Poate acest proces fi automatizat?

Răspunsurile la toate aceste întrebări vor veni odată cu experiența acumulată. Cu cat vedem mai multe situații reale cu atât ne vom adapta mai ușor și înțelege mai repede ce se dorește de la acel user story.

Odată ce user story -ul este înțeles și îl putem transforma. Transforma într-o secvență coerentă de evenimente. Apoi folosim unul din limbajele de programare pe care le cunoaștem secvențele se transformă în cod înțeles de calculator.

Pentru a avea capacitatea de a face acești pași un inginer dezvoltator trebuie sa ai un nivel de cunoștințe de nivel cel puțin junior.

Nivel junior sau începător în dezvoltarea software?

Este acel nivel de la care te poți descurca, sub îndrumarea unui programator senior, să înțelegi un user story pe care vei putea sa îl implementezi.

Mai exact să înțelegi noțiunile basic de programare. Să stăpânești tehnologiile folosite în cadrul echipei. 

Cel mai important ca junior este să lucrezi cât de bine poți la task-urile asignate, să ai inițiativă, dar și să știi să ceri ajutorul.

Întotdeauna este foarte important, pentru un junior, să nu se supra responsabilizeze. Adică să dezvolte o abilitate de a cere ajutorul.

De exemplu poți sa îți acorzi o zi sau două pentru a încerca să rezolvi task-ul asignat. Ai epuizat toate metodele cunoscute de a rezolva respectivă problema respectivă ceri ajutor.

Este important sa dezvoltăm acest mecanism și să nu ne lăsăm scufundați în complexitatea unui task. De multe ori tot ce este nevoie este de o alta perspectiva asupra problemei în cauză. 

Junior versus senior software developer?

De cele mai multe ori diferența dintre un junior software developer și un senior o reprezintă experiență personală de lucru. Ce limbaje de programare a folosit, ce tehnologi a folosit.

Pentru a înțelege această experiență încercăm sa aflăm răspunsurile la întrebările următoare:

  • Câți ani a programat? 
  • Cât de des a folosit acel limbaj de programare?
  • Cum a folosit diferite tehnologii? 
  • Cum a folosit diferite tehnologii împreuna?

Ce trebuie sa știe un junior despre dezvoltarea software?

  • Uneori orizontul nu este vizibil din locul în care suntem. Lucrurile din jur par complexe. Situați în ce pari că te afunzi. Probleme la care nu se găsesc soluții. Toți am fost acolo, și dezvoltarea software nu este o excepție. Dacă nu ai ajuns încă în asemenea situații o să le întâmpini mai devreme sau mai târziu.
  • Învață neîncetat. Cu cât învățăm mai mult în domeniul care ne interesează, cu atât devenim mai buni în ceea ce facem!
  • Fii perseverent în ceea ce faci! Nu renunța ușor la ceea ce-ți dorești și încearcă să înveți mereu din greșeli!
  • De multe ori nu putem reuși de unii singuri. De aceea trebuie să învățăm să comunicăm să cerem ajutorul celor din echipa.
  • Învață să accepți critici, nu vei reuși să mulțumești pe toată lumea cu ceea ce faci. Criticile pot fi constructive.
  • Trebuie să știi că tu ești singură persoană care poate alege uneltele de a-ți atinge obiectivele.
  • Nu te abate de la ceea ce ți-ai propus.
  • Acum, nu trebuie să cădem în cealaltă extremă, încearcă să găsești un echilibru între viața profesională și cea personală!

De departe cea mai avantajoasă posibilitate de a începe o cariera în domeniul IT este cea de a urma cusururile special concepute ale unei academii.

SkillUp fie că nu aveți cunoștințe în domeniul IT, și vrei sa vezi dacă domeniul IT ți se potrivește, vezi curs introductiv în IT, fie că aveți cunoștințe în domeniul IT, vezi lista de cursuri.

Avantajele pe care le obții urmând aceasta variantă de învățare constă în:

  • ajutorul de specialitate pe care îl primești;
  • curicula cursurilor fiind orientată către ce caută companiile, eliminând astfel multe din noțiunile care nu sunt imediat necesare;
  • crearea pe tot parcursul cursurilor de portofoliu necesar angajării;
  • perioada relativ scurta 4 luni, 6 luni în care poți ajunge la nivel de programator junior; 
  • ajutor în găsirea unui loc de muncă.

Cursuri IT pentru începători, contactează-ne pentru detalii suplimentare?