Instrucțiuni pentru cei care doresc să devină un programator de la zero

Începe drumul spre cariera programatorului merită să răspundă la întrebarea dacă aveți nevoie de programare, în general? Această întrebare nu se aplică celor care învață sau studiază pentru un grad apropiat de programare. Dacă sunteți în școală matematică ne-a lăsat mai degrabă decât umaniste, dacă vă place să-și petreacă o mulțime de timp pe calculator, dacă vrei să înveți ceva nou, atunci se va apropia de programare.







Noțiuni de bază

Există câteva scenarii care au ca rezultat o persoană să devină un programator. Primul - părinți-programatorii care și-au învățat copiii lor în jurul valorii. Acești copii nu au nici măcar să meargă la universitate. A doua opțiune - o profesie la modă a unui programator. După liceu, a trebuit să aleg unde să studieze, și tendința de moda selectat IT, cum ar fi s-ar fi dorit. Și ultima opțiune - un hobby care a crescut în locuri de muncă.

Dacă nici unul dintre cele de mai sus sa întâmplat cu tine, atunci aveți posibilitatea de a alege patru opțiuni:

  • Autoeducație. Această opțiune poate fi utilizată atât independent cât și în tandem cu alte metode. Internetul este plin de site-uri. cărți și aplicații. care ajută să învețe limbi diferite și tehnologii de programare. Dar acest lucru este cel mai greu calea pentru incepatori.
  • Universitatea. Dacă ați absolvit de la școală și doresc să fie un programator, apoi du-te la universitate. Dacă nu obține o educație, apoi pentru crusta. Acesta poate servi ca un bonus un loc de muncă. Deși unele cunoștințe aveți prea va primi. Dar nu uitați să se angajeze în auto-învățare. Prin alegerea universității ar trebui să vină foarte responsabil. Examinați cu atenție programul de formare și de a alege cele mai bune universități tehnice.
  • Mentor. Acesta va fi foarte frumos dacă puteți găsi pe cineva care va fi de acord să vă ajutăm și să vă îndreptați în direcția cea bună. El va spune cărțile și resursele corespunzătoare, verificați codul, va da sfaturi utile. Apropo, am scris deja despre resurse utile. unde puteți găsi un mentor. Mentor poate căuta printre prieteni programatori în IT-întâlniri și conferințe, forumuri on-line și așa mai departe.
  • Cursuri practice de specialitate. Încercați să căutați în cursurile de oraș în cazul în care vă învață la unele limbaj de programare sau tehnologie. Am fost plăcut surprins de numărul de astfel de cursuri la Kiev, inclusiv gratuit și cu ocuparea forței de muncă ulterioare.

Ce limbă, tehnologia și direcția de pick

Când deveni un programator, un an sau doi va fi liber să aleagă orice limbă doriți. Dar atunci când aleg un prim limbaj de programare novice trebuie să ia în considerare următoarele criterii:

De asemenea, trebuie să determine direcția de programare. Mobile, desktop, jocuri, web, programare de nivel scăzut, și așa mai departe. Cele mai populare și relativ ușor industria - dezvoltarea unui web, mobile si desktop clienti. Sub fiecare zonă poate fi abordată o singură limbă și să nu se apropie de celălalt. Aceasta este alegerea limbajului de programare este de asemenea necesar să se pornească de la acest factor.

Cum de a obține experiență inițială

Fara experienta nu obține un loc de muncă. Fără un loc de muncă nu ajunge pentru a experimenta. Cercul vicios al vieții reale. Dar nu vă faceți griji, vom ieși din ea.

În primul rând, nu așteptați până când citiți toate cărțile de pe limbajul de programare selectată. Începeți să scrieți prima linie de cod, după al doilea capitol al cărții. Efectuați toate sarcinile cărților, retipări exemple pentru a le înțelege. Ea exemple simple și misiuni de cărți de idei. Creați problema la materialul studiat. Rezolva aceste probleme.

În al doilea rând, trebuie să găsiți primele proiecte. Aceasta este probabil cea mai dificilă opțiune, dar de lucru. Va trebui să căuta comenzi, le transporta sa deranjez cu plata. Pentru un incepator este descurajantă, dar atunci toate celelalte opțiuni de afaceri par plovym. Proiecte finalizate pot fi scrise în experiența și arată potentialul angajator. Proiecte Real sunt un mare plus in CV-ul tau.

Dacă știți limba engleză, înregistrați mai bine pe piețele vorbitoare de limba engleză. Piață există mai mult. Dacă nu știi limba engleză, învață. Între timp, aveți acces la schimb limba rusă de freelancing. Uita-te pentru proiecte mici care se potrivesc nivelul de calificare sau puțin deasupra ei. Aplicați câteva zeci de aceste sarcini. Și să fie pregătit pentru a obține o mulțime de respingeri. Dar, în cazul în care una sau două aplicații de fotografii, veți avea o șansă de a obține lumea reală experiență.

O altă opțiune bună pentru a obține experiența reală este open source. Astfel de proiecte au nevoie mereu oameni noi, chiar și pentru începători. Puteți căuta proiectul de bug-uri sau a se vedea în tracker bug-ul, și să propună metode pentru a le rezolva. Găsiți aceste modele ușor pe GitHub sau alte servicii pentru codul de găzduire. Nu ezitați să puneți întrebări acolo.

A patra opțiune de a câștiga experiență - ajutor programatori familiare. Cereți-le să-ți dea o sarcini mici și simple. Dacă ceva nu se va dovedi, vei avea întotdeauna pe cineva să se adreseze. Și, în timp ce va fi implicat într-un proiect real.

Ultimul mod - propriile lor proiecte, diverse Hackathon sau să lucreze în Coworking. Proiectele lor foarte dificil de a începe, este mai bine să caute cunoștințe sau prieteni.

De ce să alegeți Python

Hai să vorbim mai mult despre alegerea unui prim limbaj de programare. Prima limbă trebuie să fie simplu și popular în piață. Această limbă este Python. Am foarte recomandăm să-l aleagă ca primul limbaj de programare.

Codul de program în Python care pot fi citite. Nici măcar nu trebuie să fie un programator pentru a înțelege în termeni generali ce se întâmplă în program. Din cauza unei sintaxa Python simplu, veți avea nevoie de mai puțin timp pentru a scrie un program, de exemplu, decât în ​​Java. O bază de date foarte mare de biblioteci, pe care le va salva o mulțime de efort, timp și nervi. Python este un limbaj de nivel înalt. Deci, nu aveți nevoie să se gândească la celulele de memorie speciale și că există loc. Python - limbaj de uz general. Și este atât de simplu încât chiar și copiii pot învăța.

În corectitudine este demn de menționat faptul că alte limbaje de programare. Java poate fi o alegere buna pentru un incepator. Acest limbaj este mai popular decât Python, dar, de asemenea, un pic mai complicat. Dar instrumentele necesare pentru a dezvolta o mult mai bine dezvoltată. Unul are numai pentru a compara Eclipse și IDLE. După Java va fi mai ușor pentru a merge să lucreze cu limbaj de programare de nivel scăzut.

PHP - o altă limbă foarte popular. Și cred că este chiar mai ușor decât Python. Foarte ușor de a găsi un mentor sau o decizie a unei probleme pe forum. Asta pentru că există atât de multe PHP-programatori la diferite niveluri din lume. În PHP, nu există importuri normale, există mai multe moduri de a rezolva aceeași problemă. Acest lucru complică formarea. Și PHP închis numai pentru web.







Ceea ce este important este dacă limba engleză

Ce trebuie să știți, în plus față de limbajul de programare

Toată lumea trebuie să învețe algoritmi. Încercați să luați un curs pe Coursera sau a găsi o carte potrivită pentru ei înșiși pe algoritmi. În plus, nevoia de a cunoaște una dintre bazele de date, modele de programare, structuri de date. Ar trebui, de asemenea, familiarizat cu registrele de coduri. Cu cel puțin unul. cunoștințelor necesare sistemelor de control al versiunii. Alege Git, este cel mai popular. Trebuie să știi instrumentele pe care le lucrați, sistemul de operare și mediul de dezvoltare. Iar principalele abilități de programare - pentru a putea google. Fără ea, nu vei trăi.

Ultimii pași

Și apoi vin la biroul meu pentru a aranja o astfel de durere aici programatori care nu stiu ce o etichetă hash, și că este, dar perfect cunostinte vaste despre hashtagul

În ceea ce privește IDLE - multe manuale sunt sfătuiți să-l folosească, dar cei de la JetBrains oferă IDE excelent - PyCharm Edition educaționale, o interfață de frumos, discret obisnuind novice coder la mass-media, cum ar fi VisualStudio. Mult noroc tuturor celor care studiază Python, un bun început pentru a învăța să programeze și nu asculta oamenii care se străduiesc să fie transplantate în adevăratul-C și alte limbi. Limba nu contează, este doar un instrument. Dar ceea ce îmi place în Python - datorită sintaxa multor profesori pe Coursera populare și EDX au timp în cursul lor să-și petreacă mai multe algoritmi de timp, activități distractive și aplicații practice, care vă permite să nu-și piardă interesul în programarea complexității dezvoltării sintaxei. De la mine Vreau să adaug o programare curs pentru toată lumea de pe Coursera, cursul este un carismatic Charles Severance, care într-un mod ușor de a face cunoștință nu numai cu Python, dar cu principalele modele de programare. Datorită lui am fost la momentul respectiv a fost în cele din urmă capabil să stăpânească astfel de concepte de bază ca „ciclu“, „instrument“, „matrice de date“, și apoi, atunci când se confruntă cu ei, ar fi putut aminti un exemplu practic. Ce este cea mai eficientă de învățare? sarcini independente de căutare care pot fi simplificate cu ajutorul software-ului. Asta este ceea ce își propune să fie un programator - un profesionist care este un algoritm pentru rezolvarea acestei probleme, în caz contrar părtinire merge în direcția codificator - este, de asemenea, o abilitate importantă, dar nu la fel de mult în cerere ca un programator, care dă direcția codorului, și care este adecvat în temeiul algoritmul de cod (corect, te rog, dacă am greșit). Experiența personală - în scris pentru programul de consola de la un prieten care a fost obtinerea gata pentru examen în limba engleză, și l-au ajutat să se ocupe de propria lor, alegând o întrebare aleatoare. În timp ce mă gândesc cum să rezolve această problemă pentru el - toate că fișierul de piese separate, combinate într-o singură, și-a ajutat să pună în practică aproape toate materialele teoretice. Sper să inspire elevii acestei metode, și vă poate ajuta un prieten pentru a automatiza munca lor;) Cine poate spune un bun material, mestecate pe algoritmi pentru Python? Aș aprecia :)

Da, cunoștințe și competențe relevante pentru toate profesiile, există doar o diferență este că, pentru toate inginerie sale, de programare este o profesie destul de creativ, în cazul în care, în plus față de cunoștințele simplu nevoie de creativitate, inventivitate si ingeniozitate. Și pentru a deveni un programator, este bine să aibă calitățile înnăscute adecvate: inteligență, gândire logică, curiozitate și un cursant rapid, de învățare nouă va avea viață. Desigur, toate acestea nu se aplică în cazul formoshlepstvu web obișnuite sau „programare în HTML“ (c) - orice student aici, în vigoare, problema este că acești studenți se văd ca programatori.

Mă tot gândesc, cum în lume ca govnokoderov. Și aici este locul unde a scris un idiot, restul luat. cod care poate fi citită în Python. Și în șine sau 1C se pare că el nu a citit. Placi ar trebui să sune ceva de genul: 1. Primul lucru pe care trebuie să înceapă să se familiarizeze cu zona. Vezi posturi vacante, comenzi de revizuire, vizualiza tehnologiile existente și activitățile pe care le pot fi folosite pentru a rezolva. Care sunt argumentele pro și contra, etc. Înțelegeți că există diferite niveluri de limbi, au cadre diferite, etc. 2. Al doilea este de a studia algoritmii de bază, logica, elementele de bază ale matematicii superioare care ar fi în capul meu totul a fost pe rafturi. 3. Pentru a studia conceptul de programare structurată, citiți cum să, cât de bine și de ce este așa. 4. Selectați o tehnologie arbitrară, deși Pascal și pune în aplicare algoritmi logice de bază pe ea. 5. Inventeaza-vă câteva sarcini pe care le personal ar dori să facă sau cele pe care le ajuta în viața ta și să înceapă să le pună în aplicare în ordinea crescătoare a complexității. 6. Amintiți-vă o dată pentru totdeauna, că limbajul de programare nu este important! Cunoscând elementele de bază ale algoritmilor și va fi capabil să învețe orice limbă de ajutor, forumuri, etc. De fapt, trebuie să învețe doar sintaxa. 7. Trecerea de la nivel înalt a limbilor de nivel scăzut. De exemplu, te-ai decis să facă un fir de un serviciu web simplu. Ia Ruby on Rails (cadru pe Ruby) și de a face. Atunci când sunt confortabile, în cadrul puteți naviga la cel mai Ruby. Sau, în cazul lanțului de Phyton arată astfel: Django - Phyton. În cazul Java. Play - Java. Cu alte cuvinte, până când veți avea o capacitate suficientă de pe cadru nu poate urca 7. Proiecte de căutare Start, nu supraestimeze puterea. Sau pur și simplu spun că ești un începător, dar dispus să facă nu este foarte scump. Pentru un singur instruit. Ei bine, lista poate continua și dezvolta noi tehnologii.

Mi se pare că mulți oameni pur și simplu nu înțeleg problema înainte de sfârșitul programatori care încep. Ei nu se gândesc la astfel de întrebări ca, „am comandat aproape matrice și ceea ce este pentru mine pentru a sorta - QSort sau BubleSort“. Sau „Ar trebui să fie posibil să se atribuie un handler de buton personalizat Ce modelul meu de Gang de patru, cea mai bună potrivire aici?“. Cei mai mulți programatori novice este dificil de înțeles exact unde un punct și virgulă de ce x = x + 3 - un cod normal etc. Contra ca argumente pro pot fi găsite în orice limbă modernă. JS - un limbaj foarte interesant, având în vedere rață introducându-l iertător. Există ceva în obiect - adăugați-l acolo. Ai uitat virgulă? Nu contează, shell-ul în sine se va adăuga. Da, și puteți programa ori de câte ori un browser. Cu toate acestea, se poate pune un porc, iar în locul cel mai neașteptat, și depanare ei devine un iad viu. PHP - limbaj destul de popular cu o comunitate mare, dar există atât de multe contradicții interne și lipsă de logică. Pe acest subiect o mulțime de articole pe internet. Da, și puteți scrie doar scripturi server-side. C ++ - Pur și simplu nu spun nimic. Dacă nu știi ce „violare de acces“ sau „scurgere de memorie“ - și trăiască în lumea lui fericit puțin! Serios, nu. C # - destul de la modă și popular. Foarte ușor de utilizat pentru a dezvolta limba. Cu toate acestea, în ciuda disponibilității Mono, mi-ar lua încă limbi, ascutiti sub Windows. Java - un limbaj foarte popular. comunitate mare, o mulțime de componente. Cu toate acestea, mediul său de dezvoltare pierde in continuare Visual Studio. Python - despre aceleași observații ca despre Java + dificultate cu trecerea 2.7-3, pentru care majoritatea bibliotecilor și rămâne la versiunea 2.7. Deci, pe ce să studieze? Daca nu se tem de programare este, în principal pentru Windows - C #, în opinia mea, este alegerea potrivită. Versiunea comunitară a Visual Studio vă va salva o mulțime de timp - depanare ușor, sfaturi comenzi inteligente (IntelliScence), un număr foarte mare de componente și modalitate ușoară de a le livra - NuGet - pe scurt, într-adevăr merită.

Băieți, hei! Ajuta un ceainic incepator :) a absolvit direcția CAD University vine de la un gând naiv că voi deveni un programator, în loc de învățat util numai Visual C ++, dar nu vreau să-l dezvolte. Ceilalți mega foarte superficial. După tester uni lucrat în domeniul web. Vreau să merg acolo, doar obosit de a verifica greșelile altora, vreau să fac propriile lor. HTML, CSS într-un sens foarte larg studiat prin diferite resurse, este acum de auto-studiu de JS. O mulțime de informații, toate de la diferite resurse (dar diferite persoane se vedea și se referă la diferite limbi și prezentate, respectiv) - obține terci în cap. Aș dori să obțină un fel de imagine coerentă. În general, pentru mine am ales PHP, JS, HTML + CSS, MySQL. Sfătuiește, plz cea mai bună modalitate de a structura de formare, cum să înceapă și cum să procedeze? Cine ce cărți, resurse utilizate, care merită să le studieze? Ce software yuzaete la locul de muncă și de ce ghidat in alegerea? Vă mulțumim anticipat pentru răspunsul dumneavoastră! P.S. Dacă unele dintre întrebările stupide de sunet și amuzant, nu judeca strict: Kettle - au ceai :)

Vladimir I Energie pentru Educație! Programare hobby. Și timp de 20 de ani am lucrat în industria IT (Sunt 40) din momentul în care a întors din armată, a început chiar și fără IT educație, ei bine, am luat-o ca să spunem între delom.V în prezent șef de automatizare interne care deține o într-unul dintre cele mai mari la Moscova. Ie Eu deserviți nu vanzatori ITshnikov. Și acest lucru este cel mai exigent client. De ce sunt eu, bine, în primul rând, este auto-educație a condus la astfel de înălțimi, și faptului că universitatea nu oferă nimic, program de universități este întârziată timp de cel puțin 5 ani. industria IT și de programare nu otlichaetsya de la alte specialități. Unul la 17 ani sunt siguri ce vor să facă în viață. ȘI IT Schnick sunt totul, mai ales după ce a văzut locuri de muncă, Zuckerberg și altele de care ilk. Prin urmare, răspunsul evident este de a se angaja în necesitatea de a ceea ce este sufletul. Și dacă (conform articolului) Munca omului prodalzhay de nicăieri, și el nu a devenit un programator, atunci el nu a ajutat. Nu vorbesc despre excepții de la 1 la mai multe milioane de mentalitate care algoritmică nu a fost cazul, iar oamenii pur și simplu nu știu ce este în mintea lui și modul în care se aplică.