Kas jums jāzina, lai kļūtu par programmētāju. Programmēšanas apguve no nulles: kur sākt mācīties mājās. Algoritmi ir svarīgi

Varbūt kādu iemeslu dēļ jūs pēkšņi gribējāt kļūt par programmētāju. Labā ziņa ir tā, ka, izprotot sistēmu, varat uzzināt, kā vadīt intervijas un izdzīvot dažus pirmos darba mēnešus.

Sliktā ziņa ir tā, ka joprojām nav iespējams izbēgt no programmēšanas ABC, un, lai justos ērti jaunajā amatā, jums būs steidzami jāpabeidz apgūt visu, kas jums jau ir jāzina kā jūsu rokas nauda.

Protams, šajā rakstā tiks runāts tikai par manu Personīgā pieredze, kas ļāva man iegūt intervijas pat tādiem labākajiem uzņēmumiem kā Luxoft.

Kā es kļuvu par programmētāju

Pirmo reizi ar datoru iepazinos 6 gadu vecumā. 13 gadu vecumā man jau bija sava personīgā vietne. Arī skolā un universitātē man gāja slikti. Manā otrajā kursā mans draugs atrada Java programmētāja darbu un ļoti ieteica man darīt to pašu. Ideja mani ieinteresēja. Bija vajadzīgs plāns.

Pirmais solis – atsākt

Pirmā un galvenā problēma, ar ko saskaras iesācēji, ir viņu CV. Bez adekvāta, āķīga CV jūs netiksiet aicināti uz intervijām. Bet kā ir ar tiem, kuriem vispār nav darba pieredzes? Lai neaizietu uz HR tukšām rokām, mēs ar draugu manā CV ierakstījām vesela gada pieredzi, strādājot pie viņa projekta, pie kura it kā strādājām kopā.

Algu politika

Nākamais svarīgs punkts atsākumā pēc pieprasītajām tehnoloģijām un angliski bija vēlamā alga. Divreiz nedomājot, es un mans draugs nolēmām spēlēt lieli un toreiz uzrakstījām pārmērīgi lielu summu tūkstoš dolāru apmērā, kam vajadzēja atsijāt “negodīgās kompānijas”.

Kauns un kauns

Pirmās intervijas bija neveiksmīgas. Viņi burtiski smējās par mani. Jau pirmajā tehniskajā intervijā, kur man uz papīra tika uzdotas pāris problēmas, es tiku skaidrā mirklī. Kāds pat deva tēvišķu ieteikumu grāmatai Thinking in Java.

Pirmais darbs

Beigās tiku uzaicināta uz interviju Dānijas uzņēmuma filiālē, kur atbildēju uz fundamentāliem jautājumiem un patīkami pārsteidzu visus ar savu angļu valodu. Mani pieņēma darbā kā Junior Java izstrādātāju ar vienu nosacījumu - pirmos trīs mēnešus es mācīšos SCJP (Sun Certified Java Programmer) kursā, kas aizpildītu manas nepilnības un padarītu mani par sagatavotāku speciālistu. Kas var būt labāks par apmaksātu praksi bez nepieciešamības strādāt (nodod savu nekompetenci)? Es strādāju šajā uzņēmumā sešus mēnešus, lai pēc dažiem mēnešiem varētu tikt paaugstināts uz lielāku uzņēmumu.

Balstoties uz savu rūgto, bet joprojām nenovērtējamo pieredzi, sniegšu ieteikumu sarakstu, kas palīdzēs piedzīvojumu biedriem salīdzinoši ātri atrast programmētāja darbu.

  1. Kopsavilkums. Tam jābūt pareizi formatētam un rakstītam tikai angļu valodā. Ja jums nav pietiekami daudz pieredzes, varat (un vajadzētu) to izdomāt, taču jums ir jāsagatavojas būt atbildīgam par katru vārdu, kas ierakstīts jūsu CV. Piemēram, ja jums tur ir rakstīts JMS (Java Message Service), tad jums vajadzētu vismaz vienu pamācību iziet un spēlēt ar JMS, izveidot dažus piemērus, pat ja tas ir banāls "Sveika, pasaule!" Tagad būs ērtāk dižoties, jūs tiešām “strādājāt ar JMS”.
  • Apgūstiet programmēšanas ABC. Ja jūs joprojām varat atļauties "peldēt" dažu sarežģītu tehnoloģiju, piemēram, statņu un atsperu, dziļajos līmeņos, tad nepareizas atbildes uz pamatjautājumiem nekad netiks piedotas. Ja es jūs pamodinu naktī, jums vajadzētu būt iespējai runāt par OOP, pārmantošanu, iekapsulēšanu, polimorfismu un citiem pamatjēdzieniem, kā arī to visu izskaidrot ar piemēriem.
  • Prakse. Programmēt var iemācīties tikai programmējot. Tas ir sāpīgi un nepatīkami (ja neesat programmētājs), bet cita ceļa nav. Vienīgais ceļš pārstāj baidīties no problēmām intervijās – atrisini tās mājās pats.
  • Lasiet grāmatas un izmantojiet pamācības par Java tikai angļu valodā Absolūti visi programmēšanas termini ir vieglāk saprotami oriģinālvalodā, tas ir, angļu valodā. Lasīt tehnisko literatūru par Java krievu valodā ir necieņa pret sevi. Kāpēc? Tā kā, lai saprastu kaut ko līdzīgu “...tabulas modulis daudzējādā ziņā ir starpposma iespēja, kompromiss starp darījuma skriptu un domēna modeli”, jums ir jābūt patiesi ģēnijam, kas, visticamāk, nebūs.
  • Beidzot iemācies angļu valodu! Pirmkārt, tas attiecas uz runāto angļu valodu. Grūti saskaitīt milzīgo gudro programmētāju skaitu, kuri, pēc manām atmiņām, tika noraidīti viena iemesla dēļ - neapmierinoša angļu valodas prasme. Nē, ja jūs, protams, gatavojaties strādāt par programmētāju kaut kur pašmāju uzņēmumā, tad jūsu valodas līmenim nebūs lielas nozīmes. Bet, ja tu gribi dabūt darbu starptautiskā uzņēmumā, tad pats Dievs tev lika iemācīties valodu. Jūsu angļu valodas līmenis nozīmēs simtiem papildu dolāru algu palielināšanai.
  • Zināt tirgu. Apskatiet vakances, izlasiet prasības, pajautājiet draugiem programmētājiem, cik viņi nopelna. Izmantojiet pakalpojumus, kas ļaus iegūt pilnīgāku priekšstatu par IT tirgu. Jūs būtu pārsteigts, uzzinot, cik liels ir talantīgu programmētāju skaits, kuri pelna uz pusi mazāk, nekā varētu, vienkārši sava slinkuma un nevēlēšanās turēt degunu pret vēju.
  • Kaulēties. Kaulēties par savu algu nav nekā slikta. Jūsu arguments strīdā var būt gan laba angļu valoda, gan darba piedāvājums citā uzņēmumā. Pēdējais arguments darbojas īpaši labi: “Jā, bet Luxoft man piedāvā par 300 USD vairāk, kāpēc lai es piekrītu jūsu noteikumiem? Varbūt mēs varētu atrast kompromisu? Savulaik man pāris reizes izdevās sarunāt papildu simts dolārus savai algai, un pēc gada šie simts dolāru man deva papildu ienākumus 1800 dolāru apmērā no zila gaisa. Jums jāsaprot, ka pat maziem ārvalstu IT uzņēmumiem papildu simts ir kā piliens jūrā.
  • Atrodiet sev mentoru. Ir labi, ja tev ir kāds pieredzējušāks draugs, kurš var palīdzēt ar padomu un atbildēt pat uz stulbākajiem jautājumiem. Pateicoties viņa pieredzei un morālajam atbalstam, jūs programmēšanas jomā progresēsiet ātrāk nekā patstāvīgi. Ja jums nav mentora, ir ieteicams apmeklēt dažus programmēšanas kursus, kas ne tikai sniegs pilnīgāku priekšstatu par programmētāja darbību, bet arī ļaus jums satikt vairāk pieredzējušus cilvēkus. Kas zina, varbūt kāds no viņiem vēlēsies kļūt par tavu mentoru.
  • Sāciet savu projektu. Pat ja tas ir vissliktākās kodēšanas prakses piemērs un jūs to nekad nepabeidzat, vismaz, tev būs kas tāds, kas radīs vēlmi izprast programmēšanu un apgūt jaunas tehnoloģijas. Turklāt interviju laikā jums būs papildu tēma intīmām sarunām.
  • Meklējiet darbu vasarā. Pirmkārt, kad visi ir atvaļinājumā, uzņēmumiem, visticamāk, trūkst darbinieku un tie biežāk tiks aicināti uz interviju. Otrkārt, tā kā jūsu konkurenti-pretendenti arī ir atvaļinājumā, palielinās jūsu izredzes tikt atkal pamanītam no HR.
  • Nekad nepadodies. Pat ja jums šķiet, ka intervijā jums neizdodas, ir svarīgi būt neatlaidīgam un turpināt mēģināt atrisināt problēmu, lai arī cik sarežģīta tā nešķistu. Kas zina, varbūt tieši šajā brīdī tevi pārbauda uzcītību savā darbā!
  • Izvairieties no uzdevumiem datorā. Nekādā gadījumā nevar redzēt cauri neprofesionālim ātrāk, kā uzreiz iemest viņu programmēšanas karstumā. Tavs uzdevums ir censties visas sarunas pacelt augstā līmenī, kur tiek apspriestas vispārīgas pieejas un koncepcijas, bet ne konkrēta realizācija kādas konkrētas problēmas risināšanā. Ja jums tiek dots papīrs un pildspalva un tiek lūgts pierakstīt risinājumu, tad lūdziet iespēju to uzzīmēt shematiski. Tādējādi, attālinoties no konkrētas valodas sintakses, jūs ne tikai izglābsiet sevi no dažām kaitinošām kļūdām, bet arī parādīsiet, ka spējat domāt abstrakti, neiedziļinoties tik daudz detaļās.
  • Esiet pirmais, kas runā. Izvairieties no situācijām, kad gaisā valda pauze, kuras laikā intervētāja prātā var rasties cits mānīgs jautājums. Tiklīdz rodas kādas aizķeršanās, sāciet stāstīt kaut ko, ko labi zināt. Mēģiniet uzspiest intervētājam savu spēli.
  • Mēģiniet pateikt patiesību. Ja jūs nekad neesat rakstījis PL/SQL procedūras, tad labāk to pateikt tieši. Tas jums var būt trūkums, taču jūs pasargāsit sevi no nepieciešamības izkļūt no sava ceļa, atbildot uz jautājumu, par kuru jūs neko nesaprotat. Pieredzējis intervētājs sajutīs jūsu zināšanu trūkumus jūdzes attālumā.
  • Uzmanieties no maziem uzņēmumiem. Mazos uzņēmumos parasti ir mazas komandas. Jo mazāk cilvēku komandā, jo ātrāk viņi jūs sapratīs. Tavs mērķis ir liela un neveikla korporācija, kurā vari sev atvēlēt laiku.
  • Ievērojiet apģērba kodu. Ja jūs ieradīsities uz interviju programmētāja amatam gudrā uzvalkā, tas radīs lielākas aizdomas nekā tad, ja jūs parādīsities šortos vai džemperī. Būtu arī laba ideja uzlikt brilles, sakot: "Es esmu tāds grāmatu tārps."
  • Protams, kāds zinošs varētu norādīt, ka iepriekš minētā recepte ir vairāk veids, kā kļūt par kodētāju, nevis programmētāju, un viņam kaut kur būtu taisnība. Tomēr lieta ir tāda, ka jūs nekad neatradīsit vakanci ar nosaukumu “Meklēts slikts kodētājs”. Programmētāji ir vajadzīgi visiem. Vēlams vecākais. Tie, kuriem ir vairāk nekā piecu gadu pieredze darbā ar korporatīvajiem projektiem un kuri vienlīdz brīvi pārvalda vairākas programmēšanas valodas, tajā pašā laikā ir pilnīga izpratne par DBVS, prot rakstīt bash skriptus, saglabātas procedūras, brīvi pārvalda Linux, TCP/IP , piemīt līdera īpašības un stresa izturība , komunikācijas prasmes un daudzas citas prasmes, “bez kurām tas nav iespējams”.

    Tādi cilvēki eksistē, es pats esmu viņus redzējis. Taču to ir pārāk maz, lai pilnībā segtu arvien izsalkušā IT speciālistu tirgus vajadzības. Un tas nozīmē, ka tev vienmēr ir iespēja, tāds piedzīvojumu meklētājs tu esi.

No Google

Mūsdienās programmēšanu apgūst arvien vairāk cilvēku, un daudzi šo grūto uzdevumu uzņemas paši, bez jebkāda rīcības plāna, kas būtiski samazina mācību produktivitāti. Google ir sastādījis sarakstu ar to, kas jāzina, lai kļūtu par labu programmētāju, kā arī resursus, kur pilnveidot savas zināšanas vajadzīgajās jomās. Neviens no tālāk sniegtajiem ieteikumiem negarantēs jums darbu uzņēmumā Google.

Apmeklējiet datorzinātņu kursu

Apgūstiet objektorientētas programmēšanas valodu

Objektorientētā programmēšana tagad ir rūpnieciskās programmēšanas standarts, tāpēc jums tiek garantēta laba alga. Šādu valodu piemēri ir C++, Java, Python. Kursi iesācējiem var atrast, un, un tālākizglītībai, un. Vairākas noderīgas saišu un grāmatu kolekcijas, ko izpētīt.

Apgūstiet citas paradigmas un valodas

Paplašiniet savus programmēšanas apvāršņus, neaprobežojieties tikai ar OOP, apgūstiet citas paradigmas, mācīties citas valodas, izmēģināt sevi dažādās jomās. Piemēram, ja vēlaties izstrādāt tīmekļa aplikācijas, tad noteikti vajadzētu pievērst uzmanību CSS, HTML, JavaScript, PHP, Ruby. Vai vēlaties kaut ko eksotisku? Pavadiet kādu laiku vietnēs Haskell, Clojure, Prolog. Kursi jaunu iegūšanai var atrast un. Īpaši iesakām pievērst uzmanību Codecademy resursam. Apskatiet mūsu izvēli.

Pārbaudiet savu kodu

Attīstīt loģisko domāšanu, apgūt diskrēto matemātiku

ja vēlaties darīt kaut ko interesantāku savā dzīvē nekā rakstīt tīmekļa vietnes pārējās dienas, tad jūs nevarat iztikt bez tā. Kursi: no MIT, par loģiku, grafiskajiem modeļiem, spēļu teoriju. Ja jūs joprojām šaubāties, vai programmētāja darbā ir nepieciešama matemātika, tad izlasiet par to.

Zināt algoritmus un datu struktūras

Izprotiet, kā darbojas operētājsistēmas

Jebkura programma mijiedarbojas ar OS, tāpēc attīstīt izpratni par to, kā OS , vismaz pamata līmenī. Lieliski pakalpojumā YouTube.

Apgūstiet UX dizainu

ja vēlaties, lai jūsu lietojumprogramma būtu ērti lietojama un tāpēc to varētu iegādāties. Kurss no Udacity.

Vai jūs saprotat mašīnmācību???

Izprotiet, kā darbojas kompilatori

Daudzi programmētāji raksta kodu un pat nedomā par to, kā tas tiek pārvērsts datoram saprotamās instrukcijās. Ja interesē, tad uzziniet, kā strādā kompilatori. To var izdarīt šajā kursā. Mūsu vietnē ir grāmatas par sastādītājiem.

Strādājiet pie sava projekta

Prakse ir ļoti svarīga ikvienam, kurš vēlas būt programmētājs, tāpēc strādājiet pie sava projekta brīvajā laikā: piemēram, izveidojiet vai uzturiet vietni vai izveidojiet robotu.

Piedalīties atvērtā pirmkoda projektos

tas palīdzēs jums attīstīt prasmes darbā ar citu cilvēku kodu, un galu galā jūs vienkārši būsiet noderīgs cilvēcei. Ideāla vieta atvērtā pirmkoda aktivitātēm ir GitHub.

Strādājiet pie projektiem kopā ar citiem programmētājiem

Tas palīdzēs jums iemācīties strādāt komandā, kas ir būtiska prasme mūsdienu pasaule, un jūs arī varat no viņiem uzzināt kaut ko jaunu.

Piedalies programmēšanas sacensībās

Atrodi sev studentu

jomā, kurā jūs labi pārzināt. Savādi, bet kāda priekšmeta mācīšana palīdz padziļināt zināšanas šajā priekšmetā, kā arī labi attīsta komunikācijas prasmes.

Šajā rakstā tiks runāts par to, kā kļūt par programmētāju no nulles. Krīzes laikā milzīgs skaits cilvēku domā par papildu ienākumiem. Nauda ir vajadzīga vienmēr, tāpēc prātā nāk dažādas idejas, arī programmēšana. Noteikti kāds no jūsu draugiem vai jūs pats teica, ka programmētāji šodien ir ļoti vajadzīgi, viņi ir tie, kas pelna tos miljonus un viņiem ir lielas izredzes. Patiešām, šī ir tā joma, kurā profesionālis šodien var pilnībā sevi realizēt un sasniegt milzīgus augstumus. Tas ir tāpēc, ka ir diezgan daudz augsta līmeņa programmētāju, kas nozīmē, ka konkurence nav pārāk nopietna un jūs varat izvirzīt sev drosmīgus mērķus. Ja jūs strādājat IT jomā, agri vai vēlu jūs domājat par programmēšanu un mēģināsit kļūt par profesionāli šajā jautājumā.

Tātad, kā pašam kļūt par programmētāju no nulles? Kur sākt apmācību?

Patstāvīgi iemācīties programmēt no nulles nav viegls darbs, un tas var aizņemt daudz laika un pūļu. Tāpēc, pirmkārt, ir jāsaprot, par kādu programmētāju kļūt un ko darīsi turpmāk. Jūs varat izstrādāt jaunas aplikācijas mobilajām ierīcēm, varat rakstīt pilnvērtīgas darbvirsmas programmas, jūs varat kļūt par tīmekļa programmētāju utt. Izvēle ir diezgan liela, tāpēc sākotnēji ir jāizdara izvēle un mērķtiecīgi jāstrādā pie rezultāta. Nebaidieties šajā posmā, ja kļūstat par labu programmētāju vienā jomā, varat pārkvalificēties un iesaistīties citā programmēšanas jomā.

Kad esat izvēlējies nišas apgabalu, jums ir jāizvēlas programmēšanas valoda. Tas nav tik vienkārši, šeit jums jāiedziļinās programmēšanas jomā, jāizpēta visas pieejamās valodas un jāizvēlas sev optimālākais variants. Daži cilvēki dod priekšroku vienkāršākai valodai, kuru jūs varat iemācīties dažu gadu laikā un kļūt par profesionāli, citi izvēlas vairāk grūts ceļš, dodot priekšroku valodai ar lielām iespējām un perspektīvām.

Pēc tam jums pašam jāizvēlas, kā sākt programmēšanas ceļu. Var mācīties patstāvīgi, lasīt literatūru, izmantot dažādus pakalpojumus un profesionāļu palīdzību. Jūs varat doties uz universitāti un pabeigt dažus gadus ilgu apmācību, pēc kura jūs varat iegūt speciālista grādu un sākt strādāt šajā nozarē. Abām iespējām ir tiesības uz dzīvību, un jums vienkārši ir jānosaka prioritātes.

Pašmācības (mājās) priekšrocības un trūkumi

Jūs zināt, kā kļūt par programmētāju, saprotat, ka šim nolūkam jums ir jāmācās un daudz laika jāpavada biznesam. Tajā pašā laikā jūs nolēmāt visu darīt pats, bez augstskolām un atbalsta uzņēmumiem. Tas ir ļoti slavējami un vienmēr attaisno cerības, ja strādājat šajā virzienā. Bet tajā pašā laikā šāda izvēle ir ļoti grūta.

Mūsdienās internetā ir milzīgs informācijas apjoms, ir iespēja programmēšanai izmantot produktīvu aprīkojumu un ir iespēja praktizēt savas prasmes. Sīki izstrādātas instrukcijas internetā ļauj sākt ceļu uz profesionālu programmēšanu, speciālās apmaiņas pat nodrošinās darbu par maksu.

Priekšrocības pašmācība:

1. Milzīgs praktisko zināšanu apjoms.

2. Iespēja nopelnīt naudu programmēšanas iesācējam.

3. Domāšana par nākotni un atbildīgāka mācīšanās.

4. Lēts veids kļūt par programmētāju.

Patstāvīga pētījuma trūkumi:

1. Īsā laikā kļūt par profesionāli ir ļoti grūti.

2. Grūtības mācībās, jo nav neviena, kas varētu ieteikt.

3. Liels laiks tiek pavadīts informācijas meklēšanai un analīzei.

Profesionālā apmācība universitātē

Domājot par to, kā no nulles kļūt par programmētāju, liela daļa cilvēku domās par universitāti. Tur ir profesionāli skolotāji, kuri var nodot daļu no savām zināšanām un pieredzes tiem, kas vēlas apgūt šo biznesu. Pēc apmācības jūs saņemat diplomu, lai jūs varētu strādāt lielos uzņēmumos par programmētāju un veidot savu karjeru. Daži privātie klienti nopietnāk pievērsīsies darbam ar sertificētu speciālistu.

Šādas apmācības priekšrocības ir ļoti lielas. Jūs strādājat ar profesionālu skolotāju, ātrāk saprotat noteiktas nianses un pavadāt mazāk laika informācijas meklēšanai un analīzei. Jūs jau uzdodat skolotājam jautājumus par to, kā kļūt par tīmekļa programmētāju, un viņš jums stāsta no profesionālā viedokļa, piedāvā pārbaudītu literatūru, sniedz praktiski uzdevumi un palīdz tos saprast. Profesionāļi izstrādā konkrētu apmācību metodiku, tāpēc dažu gadu laikā jūs kļūstat par īstu speciālistu, kas var paļauties uz labi atalgotu darbu.

Arī šīs izvēles trūkumi ir acīmredzami un slēpjas virspusē. Jums būs jāmaksā par mācībām, atkarībā no universitātes, apmācības izmaksas var būt diezgan augstas. Jums būs jāmācās vairākus gadus, ne vienmēr varēsiet apvienot mācības ar darbu. Ne visi var beigt augstskolu kā profesionāļi, daži vienkārši būs slinki un šie studiju gadi būs veltīgi. Viena lieta ir piespiest sevi mācīties un darīt pašam, pamazām iegūstot drosmi, un cita lieta ir apmeklēt lekcijas augstskolā, kur neviens tevi nespiež.

Kuru programmēšanas valodu izvēlēties iesācējam?

Arvien vairāk cilvēku vēlas kļūt par programmētājiem. Tas ir saistīts ar faktu, ka daudzi cilvēki domā, ka programmētāji neko nedara un saņem milzīgas naudas summas. Protams, tā nav taisnība, programmētāja darbs ir ļoti grūts, un lielas algas jārēķinās tikai pēc ilga laika. Tomēr, ja vēlaties kļūt par programmētāju un nezināt, kuru programmēšanas valodu vispirms vajadzētu apgūt, tad šis raksts ir paredzēts jums.

Tātad, jūs vēlaties kļūt par programmētāju un domājat, kuru programmēšanas valodu vispirms vajadzētu apgūt. Uzreiz gribu teikt, ka nevajag skatīties uz Paskāla pusi, ko tik populāri ir mācīt skolā, un BASIC, kas vēl saglabājies no PSRS laikiem. Protams, jūs varat tos izpētīt, lai iegūtu pamatus, lai saprastu, kā viss darbojas, taču tā ir laika izšķiešana. Piemēram, ja mēs ņemam Python valodu, tad tā ir viegla, piemēram, Pascal, bet tajā pašā laikā spēcīga. Vispār, kur tiek izmantots Python? Šo valodu bieži izmanto, izstrādājot vietnes, proti, vietnes servera daļu. Un vispār ne tikai mājaslapas. Vienkārši ņem Instagram lietotne, vai spēle World of Tanks, tā izmanto arī Python! Protams, par šo valodu nav daudz rakstīts, tāpēc tā vēl nav guvusi tādu popularitāti. Iesācēji uzskata, ka jo populārāka ir valoda, jo labāka tā ir. Patiesībā tas tā nav, jo programmēšanā viss ir atkarīgs no mērķiem. Piemēram, jums ir mērķis: izveidot spēli mobilās platformas. Šajā gadījumā, protams, labāk ir sākt mācīties Java, taču šī valoda ir sarežģīta, un ir vērts sākt ar kaut ko vienkāršu, piemēram, Python. Python ir skriptu valoda, un jums vienmēr ir jābūt skriptu valodai jūsu arsenālā, jo tā noderēs visur! Ir vērts atzīmēt, ka šīs valodas popularitāte katru gadu pieaug. Daudzas vietnes pāriet no PHP uz Python. Jo Python ir jaukāka sintakse un ar to ir vieglāk strādāt nekā PHP. Tādi giganti kā Yandex, VKontakte, Google jau sen ir pārgājuši uz Python. Python drīzumā ieņems PHP vietu un kļūs par populārāko valodu tīmekļa izstrādei. PHP izdzīvo tikai tāpēc, ka daudzi projekti ir pārāk slinki, lai pārrakstītu daudz koda no vienas valodas uz citu.

Nobeigumā es gribētu teikt to labākā valoda iesācējam ir Python. Tās ir gan lieliskas izredzes, gan viegla mācīšanās. Python var apgūt pāris nedēļu laikā, pamatus, protams. Vispār tagad pat skolās grib nomainīt Pascal pret Python. Bet tomēr galīgā izvēle ir jūsu priekšā, jo ir cilvēki, kuriem nepatīk Python sintakse.

Kur sākt apgūt programmēšanu no nulles par “tējkannu”?
Šajā rakstā es mēģināju detalizēti analizēt, vai ir iespējams patstāvīgi kļūt par programmētāju no nulles un kādas ir iespējas pašam apgūt programmēšanu un sākt ar to pelnīt.
Ir 2020. gads, un es nolēmu atjaunināt vienu no labākās atsauksmes raksta lasītāji tiem, kas programmēšanu apgūst patstāvīgi. Tagad tajā ir gan padomi tiem, kas sākuši pilnīgi no nulles, gan atjaunināta informācija. Un viss ir bez maksas :)

Centos dot labāko – manuprāt – ceļu. Brīdinu – tas nav viegli! Tālāka lasīšana var izmaksāt daudzas interesantas aktivitātes stundas – galu galā par to var kļūt tikai programmējot! :)

Teikšu uzreiz - ja nolemsi studēt programmēšanu tikai viens pats, neieguldot naudu, tev būs jāpavada vairāk laika. Daudz laika. Šis raksts tika uzrakstīts, lai palīdzētu to saglabāt.

Gaidi apgūt jaunu specialitāti vismaz pēc gada, ja paralēli citam darbam studēsi programmēšanu.

Šis raksts satur labāka prakse, balstoties uz manu pieredzi, ja vēlaties apgūt programmēšanu patstāvīgi.

Bet kur sākt pašiem iesācējiem?

Apgūstiet vienkāršus algoritmus, izveidojiet vairākas programmas praksei. Ja jums tas patīk, dodieties tālāk.

Jo sarežģītāka ir programmas loģika, jo labāk jums. Tagad ir svarīgi iepazīties ar tādām lietām kā mainīgie, cilpas un priekšraksti.Bet iegūtajai programmai ir jādarbojas.

tu vari izmantot jaunākā versija Scratch 3, vaihttps://scratch.mit.edu/download/scratch2 - nav nozīmes.

Ja nepieciešams, nebaidieties izmantot Google un Youtube, lai noskaidrotu, kas ir kas.

Sākumā jums jāizlemj, kura programmēšanas joma jūs interesē. Ja mēs runājam par mācīšanās attīstību no nulles un vēlaties drīz sākt pelnīt naudu, tad, manuprāt, ir divas iespējas: attīstība mobilās ierīces vai tīmekļa izstrāde.

Labākā izvēle šādā situācijā, manuprāt, ir sākt mācīties web izstrādi. Šeit iesācējiem iestāšanās slieksnis ir zemāks un ir iespēja ātrāk sākt izpildīt vienkāršus pasūtījumus.

Kā pašam kļūt par programmētāju no nulles

Papildu materiāli ir paredzēti tiem, kas jau ir izlēmuši un kuriem ir pamata izpratne par algoritmiem, mainīgajiem lielumiem un instrukcijām.

Tātad, ejam! Ja es tagad sāktu no nulles, lai apgūtu tīmekļa izstrādi patstāvīgi (saprotot, ka bez naudas ieguldīšanas tas ir garāks ceļš), tad es ieteiktu sev šo ceļu:

1. Izprotiet HTML un CSS

Labs kurss HTML un CSS pamata izstrādei: https://learn.shayhowe.com/html-css/ (angļu valodā) vai https://webref.ru/layout/learn-html-css (tulkojums).

Pēc tam ir vērts aplūkot Bootstrap iespējas, kas ir kļuvis par de facto standartu paātrinātai tīmekļa lietojumprogrammu izstrādei: http://getbootstrap.com/

Ar to pietiks turpmākajām darbībām.
Iespējams, vēlēsities apstāties šajā vietā un sīkāk izpētīt CSS. Tas dos iespēju strādāt par maketētāju – cilvēku, kas no kā veido statisku dizainu HTML lapa, pēc kura programmētājs to atdzīvina, īstenojot projekta loģiku.

Ar to var arī pelnīt – gan kā ārštata darbinieks, gan strādājot IT uzņēmumā, kas specializējas tīmekļa izstrādē.

Bet, tā kā mēs nolēmām kļūt par programmētāju, mēs virzāmies tālāk!

2. Iepazīstieties ar jQuery

Ja jums tas patika, varat turpināt izprast priekšgalu un sākt mācīties Javascript.

Ja seko https://angularjs.org/ vai http://backbonejs.org/, tad šis ir ceļš uz priekšgala attīstību. Laba specialitāte, jo īpaši tāpēc, ka šādas zināšanas noderēs ikvienam programmētājam, kurš izvēlējies tīmekļa izstrādi.

Mans padoms ir pagaidām pieturēties pie jQuery un turpināt.

3. Apgūstiet servera programmēšanas valodu

Šeit ir liela izvēle. Perspektīvākās programmēšanas valodas ir Ruby, Java, Python, Node.JS (Javascript serverim).

Vienkāršākā programmēšanas valoda iesācējiem ir Python. Ja apgūsit Python un pēc tam Django tīmekļa izstrādes sistēmu, jums būs viss nepieciešamais, lai patstāvīgi risinātu dažus diezgan sarežģītus projektus.

Labs variants: Python programmēšanas valoda un Django ietvars

Plus - Python un Django iemācīs jums "pareizo" programmēšanu. Python pastāvīgi ir starp TOP 5-10 populārākajām valodām, un labi Python speciālisti ir vieni no vislabāk apmaksātajiem programmētājiem. Python ir gan vienkārša, gan saprotama programmēšanas valoda iesācējiem programmētājiem, un tajā pašā laikā to izmanto daudzos lielos uzņēmumos un lielos projektos.

Jūs varat sākt tieši vietnē:

Starp citiem materiāliem es iesaku Learn Python The Hard Way. grāmata “Vienkāršais Python. Mūsdienīgs programmēšanas stils." Un, protams, Python 3 apmācība.

Django neapšaubāmi ir labākais tīmekļa izstrādes ietvars

Visiem gadījumiem labāko rīku ir ļoti grūti atrast. Django ir potenciāls kļūt par šādu tīmekļa izstrādes rīku.

Kur sākt mācīties Django:

Sāciet ar oficiālo dokumentāciju, tur ir ļoti laba apmācība: https://docs.djangoproject.com/en/dev/intro/

Tango ar Django ir laba iespēja uzlabot savu angļu valodu un tajā pašā laikā iegūt izpratni par to, kā tiek strukturēti tīmekļa projekti un kā viss darbojas.

Alternatīva iespēja - PHP un WordPress

Vēl viens veids ir sākt ar PHP un strādāt ar populāru CMS. Ja pats apgūstat programmēšanu un vēlaties ātri sākt darbu, sāciet ar PHP.

Daudzi cilvēki uzskata, ka PHP ir "ne gluži īsts" programmēšanas valoda, un tas ir pamatota iemesla dēļ. PHP tiek reti izmantots lielās tīmekļa lietojumprogrammās un ir paredzēts tikai tīmeklim - to nevar izmantot citās jomās.

No otras puses, PHP ir vadošā pasaulē atvērto vietņu skaita ziņā. Uz tā ir balstītas populārākās CMS (satura pārvaldības sistēmas).

Pēc tam izdomājiet, kā izveidot WordPress motīvus - šī ir vispopulārākā CMS pasaulē, ja to mēra pēc darbojošos vietņu skaita.

Kad jūs to labi saprotat, jūs jau varat atrast darbu. Ir daudz vietņu, kurās darbojas PHP un WordPress, tāpēc darba pietiek visiem.

Kā sākt pelnīt naudu kā programmētājs

Daudzi cilvēki ārštata programmētāja darbu iztēlojas šādi:

Patiesībā tas izskatās apmēram šādi:

Ja esat gatavs strādāt par programmētāju un meklējat veidu, kā nopelnīt naudu, laipni lūdzam ārštata darbā! Ārštata apmaiņa ļaus jums atrast vienkāršus pasūtījumus (iespējams, sākumā gandrīz bez maksas) - iegūt praksi. Parasti darbs IT uzņēmumā var būt ienesīgāks, ja meklējat tikai programmēšanas darbu.

Pēc 2. punkta — apgūstot HTML, CSS un jQuery — varat doties uz ārštata biržām un pieņemt vienkāršus pasūtījumus, veidojot savu profilu.

Vai Tu zini angļu valodu? https://www.upwork.com/

Nemaz, pat ar vārdnīcu? http://freelance.ru/

Kamēr varēsi izveidot mājaslapas pats, tev būs vieglāk atrast klientus – būs atsauksmes un pieredze.

Ātrs ceļš uz tīmekļa izstrādi

Pamatojoties uz manu pieredzi, programmēšanas apgūšana no nulles labākajā gadījumā prasīs 6 līdz 12 mēnešus, un 6 mēneši ir tad, ja kāds jums palīdz.

Lai paātrinātu IT ieiešanas procesu, meklē iespēju doties uz apmācību (var būt nepieciešams vairāk nekā viens) vai, vēl labāk, atrodi cilvēku, kas trenēsies kopā ar tevi. Bez mentora, kas nodos savas zināšanas, ir ļoti grūti, tu vari gadu nosēdēt, studējot grāmatas un nekad nesākt. Un ar zinošu cilvēku, kurš var vienkārši runāt par sarežģītām lietām, tas ir daudz vieglāk.

Savulaik es iegādājos apmācību tīmekļa izstrādes apguvei, un tas man ietaupīja daudz laika. Ņemot vērā to, ka es zināju daudz par attīstību, tas ļāva man 2 mēnešos apgūt to, kas varēja prasīt sešus mēnešus. Atrodi savu ceļu.

Iesācējiem tas var šķist nogurdinoši vai grūti — tas ir labākais no tā, kas pastāv.

Apvienojiet to ar šī raksta padomiem, un jūs būsiet laimīgs! :)

2019. gada versija ir tulkota: https://courses.prometheus.org.ua/courses/course-v1:Prometheus+CS50+2019_T1/about

Kursa pabeigšana prasīs laiku, taču sniegs diezgan pilnīgu izpratni, ko citādi ir grūti iegūt pašam.

Ja jums patika arī citi kursi iesācējiem programmētājiem, vai varbūt nopietnāki, rakstiet komentāros.
Katram gadījumam: saites uz maksas kursi tiks publicēts tikai pēc personiskas pārbaudes, lai izvairītos no surogātpasta.

Kā mācīties programmēšanu tālāk

Tiklīdz jūtaties pārliecināts, ka varat kaut ko izveidot, meklējiet uzņēmumu, kurā varētu attīstīties tālāk, vai klientus. Cilvēkiem, kuri vēlas kļūt par programmētāju, prakse ir ļoti svarīga.

Pieņemiet jebkuru darbu, kas jums tiek piedāvāts. Tikai praksē jūs varat apgūt programmēšanu.

HTML, CSS, Python un Javascript ir tieši tādi pamatzināšanas, Pirmais solis. Svarīgi ir arī apgūt algoritmus un zināt mūsdienu izstrādes rīkus.

Ja tas ir interesanti gan Telegram kanālos, gan tālāk Youtube kanāls ITMAN Ja sasniegšu 1000 abonentu, centīšos organizēt regulāru noderīgu materiālu izdošanu, kā arī turpināšu ierakstīt programmēšanas apguvei veltītos video.

Man ir sapnis padarīt programmēšanu pieejamu ikvienam. Varbūt kādreiz mēs to sapratīsim kopā.

Tātad, ja vēlaties pievienot man motivāciju, dot labumu sev un citiem, abonējiet, un visi būs priecīgi :)

PS

Ja jums ir jautājumi, jautājiet komentāros! Es ceru, ka šis raksts palīdzēs jums spert pirmo soli. Veiksmi!

Raksti arī komentāros, ja atrodi ko papildināt šim rakstam, lai tas cilvēkiem būtu noderīgāks. Padarīsim kopā mācību programmēšanu pieejamu ikvienam)

Sveiki! Šodien mēs apskatīsim, kas nepieciešams, lai kļūtu par programmētāju no nulles. Jūs to neapgūsit pāris mēnešu laikā. Jums ir jāzina pārāk daudz, lai kļūtu par labu speciālistu.

Man nav sveša programmēšana. C, Pascal, JavaScript, HTML, CSS - tas ir tikai daļējs saraksts programmu valodas, ar kuru man bija jāstrādā, lai izveidotu mazus algoritmus un, protams, vietnes. Dažādos virzienos ir dažādi panākumi, bet tas tagad nav par mani.

Atgriezīsimies pie galvenās tēmas un apskatīsim 5 posmus no sagatavošanās līdz programmētāja darbam. Faktiski tas izrādījās īss formāta “no nulles līdz rezultātam” plāns.

Kā kļūt par programmētāju un izvēlēties ienesīgus darbus pēc saviem ieskatiem?

Šajā jomā ir dažādi speciālisti. Daži raksta grāmatvedības programmas, citi raksta tīmekļa vietnes, bet citi programmē mikroprocesorus. Var minēt simtiem piemēru. Jūs nevarat apgūt visu, ja neesat ģēnijs.

Sākotnējā posmā ir svarīgi izlemt par konkrētiem darba veidiem, ko plānojat veikt.

Pirmais var būt potenciāli ienesīgs, otrais var vienkārši iepatikties (bizness “pēc jūsu patikas”). No savas pieredzes teikšu, ka maksimālo atdevi var sasniegt, apvienojot abus.

Lai palīdzētu ikvienam, kurš ir nolēmis no nulles kļūt par labu un pieprasītu programmētāju, es sniegšu dažus savus novērojumus par ienesīgām nodarbinātības jomām. Tās ir programmēšana un apkope:

  • 1C grāmatvedība un ar to saistītās programmas;
  • vietnes ar standarta un mobilā versija;
  • mobilās lietojumprogrammas.

Sākumā mēs izvēlamies vienu no piedāvātajiem vai citiem nākotnes nodarbinātības virzieniem un apgūstam to “iekšā un ārā”. Frāze “Es to varu izdarīt, bet es to nezinu” nepavisam nav profesionāla.

Protams, visu zināt nav iespējams. Taču labam un pieprasītam speciālistam jāspēj patstāvīgi un ātri atrast un izpētīt informāciju, ko viņš nezina, un pielietot jaunas zināšanas praksē.

Nozīmīgu programmēšanas valodu izvēle, lai mācītos no nulles

Pamatojoties uz iepriekšējā posmā izdarīto izvēli, tiek atlasītas programmēšanas valodas, kuras būtu jāpēta. Kā to izdarīt? Elementāri - meklējiet internetā. Galu galā labam profesionālim jāspēj atrast, apkopot, izpētīt un analizēt jaunus datus, pat ja tie ir izkaisīti dažādos avotos.

Piemēram, pieņemsim, ka vietnes ir atlasītas kā turpmākais darbs. Tad no nulles jums būs vismaz jāapgūst HTML, CSS, JavaScript un jāstrādā ar saistīto programmatūru. Manuprāt skaidrs, ka prasme strādāt ar datoru un lietot populāras programmas- šī ir noklusējuma vērtība.

Pašmācības un profesionālas mācības

Kā pašam kļūt par programmētāju no nulles? Pirmie soļi ir sperti, esam izlēmuši par saviem mērķiem. Apmācības ziņā var izdalīt četras galvenās iespējas:

  1. profesionālā izglītība izglītības iestādēs;
  2. papildu izglītība izglītības iestādēs (kursos);
  3. elektroniskie kursi no sava amata meistariem;
  4. attālinātās apmācības programmas ar teoriju, praksi un tehniskā palīdzība profesionāļiem.

Ja jums vēl nav diploma un dzīvē ir daudz jāmācās, ir piemērotas pirmās divas iespējas. Es tos neuzskatu, situācija ir standarta.

Man personīgi īpaši interesē trešās un ceturtās iespējas maksas versijas. Vai Tu zini kapēc?

Tikai laba rezultāta sasniegšana sagādā prieku. Tikai izcilu rezultātu demonstrēšana nes labu naudu. Un ar šo iespēju palīdzību to tiešām var panākt.

Jā, visu var mēģināt apgūt patstāvīgi un bez maksas. Vai nedomājāt, ka pēc 5-10 gadiem varētu nākt vienkārša atziņa - "ja es nebūtu ietaupījis uz izglītību un uzreiz mācījies pie profesionāļa, tad..."? Padomā par to.

Starp citu, paskatieties, kādos apbrīnojamos kursos un apmācību programmās varat atrast elektroniskā formātā. Piemēri:

  • JAVASCRIPT un JQUARE iesācējiem;
  • Mūsdienu PHP;
  • Pabeigts interneta veikals;
  • Joomla 3 – profesionāla vietne vienā dienā;
  • Emuāru autoru skola ar praktisko apmācību, izmantojot internetu.

Ko jūs domājat par piemēriem? Godīgi sakot, es tikai nezinu, cik mēneši, pat ne gadi, ir nepieciešami, lai patstāvīgi apgūtu šīs zināšanas, izmantojot parastās mācību grāmatas, bez jebkādas palīdzības.

Gatavošanās darbam vai uzņēmējdarbības uzsākšanai

Tātad, pieņemsim, ka apmācība ir tikko pabeigta. Ir pienācis laiks ķerties pie lietas.

Kādus rezultātus esat gatavs uzrādīt uzreiz pēc apmācības, lai jums tiktu dots labi atalgots darbs augstas konkurences darba tirgū?

Paskaties, apmācības laikā parādās darba piemēri. Veiksmīgākie ir jāapkopo klasiskā portfelī. Tikai ar to var nepietikt.

Mēs joprojām dzīvojam modernā pasaulē, kurā daudzi cilvēki izmanto internetu. Individuālam profesionālam programmētājam vēlams izveidot savu mājaslapu, vēlams blogu. Ja jūs domājat, kā to izdarīt, es iepriekš iedevu saiti uz labu emuāru autoru skolu. Tātad vietnē, cita starpā, varat ievietot savu elektronisko portfolio ar vizuāliem sava darba piemēriem.

Šādai vietnei būs divas nopietnas priekšrocības:

  • to var uzrādīt darba devējiem kā pierādījumu jūsu kvalifikācijai darbam valstī Labs darbs;
  • ar tās palīdzību jūs varat piesaistīt klientus, ja mēs runājam par jūsu pašu biznesu.

Es vēl neesmu teicis, ka labs emuārs var gūt ienākumus no reklāmas. Kopumā patiesībā ir daudz priekšrocību.

Ja piesakāties uz dažādām vakancēm, kurās ir jāiesniedz CV, iesaku arī padomāt par tā pareizu aizpildīšanu. Iepriekš es teicu, lai jūs izceltos no visiem pretendentiem uz šo amatu.

Nodarbinātība un pirmie pasūtījumi

Ja četri iepriekš aprakstītie posmi ir izpildīti pareizi, tad tagad jums ir nepieciešamās zināšanas un prasmes, labs portfolio, CV un personīgā vietne. Vai jūs domājat, ka tagad daudzi darba devēji pēc intervijas varēs atteikties no šāda speciālista?

Paralēli klasisko vakanču meklēšanai vai to vietā var sākt meklēt klientus, izmantojot savu emuāru vai īpašās attālinātās darba biržās. Lai sāktu, jūs varat pievērst uzmanību.

Tas noslēdz rakstu. Ja jums ir brīvs laiks, varat ritināt šī emuāra materiālus. Tajā ir daudz interesantas informācijas par programmēšanu un naudas pelnīšanu vietnēs un bez tām.

Abonējiet projektu atjauninājumus, izmantojot tālāk esošo īpašo veidlapu vai sociālajos tīklos. Tiksimies vēlāk.