Programozás megtanulása a nulláról: hogyan kezdje el a tanulást otthon. Hogyan tanuljunk meg otthon a nulláról programozni Amit programozónak kell tudnia

Ez a cikk megvitatja, hogyan lehet programozó a semmiből. Válsághelyzetben rengeteg ember gondolkodik többletbevételen. Pénzre mindig szükség van, így különböző ötletek jutnak eszünkbe, beleértve a programozást is. Biztosan az egyik barátod vagy te magad mondtad, hogy ma nagyon szükséges programozókra van szükség, ők keresik ugyanazokat a milliókat, és nagy kilátásaik vannak. Valójában ez az a terület, ahol ma egy szakember teljes mértékben megvalósíthatja önmagát, és nagy magasságokat érhet el. Ennek oka, hogy jó néhány magas szintű programozó van, ami azt jelenti, hogy a verseny nem túl komoly, és ambiciózus célokat tűzhet ki maga elé. Ha informatikai területen dolgozik, akkor előbb-utóbb a programozáson fog gondolkodni, és megpróbál profivá válni ebben az üzletben.

És így, hogyan lehetsz programozó a semmiből, egyedül? Hol kezdje az oktatást?

A nulláról való programozás önálló tanulása nem könnyű feladat, és sok időt és erőfeszítést igényel. Ezért mindenekelőtt meg kell értenie, hogy milyen programozó lesz, és mit fog csinálni a jövőben. Új alkalmazásokat fejleszthetsz mobil eszközökre, írhatsz teljes értékű asztali programokat, lehetsz webprogramozó stb. A választás elég nagy, ezért kezdetben választania kell, és célirányosan kell dolgoznia az eredményért. Ne féljen ebben a szakaszban, ha jó programozóvá válik egy irányba, akkor áttanulhatja magát, és áttérhet a programozás egy másik területére.

Miután kiválasztotta a szűk hatókört, ki kell választania egy programozási nyelvet. Ez nem olyan egyszerű, itt be kell ásnia a programozás területét, tanulmányoznia kell az összes elérhető nyelvet, és ki kell választania a legjobb lehetőséget magának. Valaki egy egyszerűbb, néhány év alatt megtanulható és profi nyelvet részesít előnyben, valaki a nehezebb utat választja, egy olyan nyelvet részesít előnyben, ahol nagy lehetőségek és kilátások vannak.

Ezt követően ki kell választania magának a módját, hogy a programozás útjára léphessen. Önállóan tanulhat, olvashat szakirodalmat, igénybe veheti a különféle szolgáltatásokat és szakemberek segítségét. Mehetsz egyetemre, tanulhatsz néhány évet, majd szerezhetsz szakirányú diplomát, és elkezdhetsz dolgozni ebben az iparágban. Mindkét lehetőségnek joga van az élethez, és egyszerűen meg kell határoznia a prioritásait.

Az önálló tanulás előnyei és hátrányai (otthon)

Tudja, hogyan válhat programozóvá, megérti, hogy ehhez tanulnia kell, és rengeteg időt kell üzleti tevékenységgel töltenie. Ugyanakkor úgy döntött, hogy mindent egyedül csinál, egyetemek és segédcégek nélkül. Ez nagyon dicséretes, és mindig megtérül az elvárások, ha ebben az irányban dolgozik. Ugyanakkor egy ilyen választás nagyon nehéz.

Ma már hatalmas mennyiségű információ található az interneten, lehetőség van produktív eszközök használatára a programozáshoz, lehetőség van a képességek gyakorlására. Az interneten található részletes instrukciók segítségével elindulhat a professzionális programozás felé vezető úton, a speciális börzék pedig még térítés ellenében munkát is biztosítanak.

Az önálló tanulás előnyei:

1. Hatalmas mennyiségű gyakorlati tudás.

2. Pénzkeresési lehetőség kezdőknek.

3. Előretekintő és felelősségteljesebb tanulás.

4. Olcsó módja annak, hogy programozóvá válj.

A független tanulás hátrányai:

1. Nagyon nehéz rövid idő alatt profivá válni.

2. Nehézségek a tanulásban, mivel nincs, aki felszólítson.

3. Sok időt töltenek az információk keresésével és elemzésével.

Szakképzés az egyetemen

Amikor azon töprengenek, hogyan lehet a semmiből programozó, sok ember az egyetemre gondol. Vannak olyan professzionális tanárok, akik tudásuk és tapasztalataik egy részét átadhatják azoknak, akik ezt a szakmát szeretnék megtanulni. A képzés után oklevelet kapsz, így nagy cégeknél dolgozhatsz programozóként és építheted saját karriered. Egyes magánügyfelek komolyabban fognak dolgozni egy diplomával.

Az ilyen képzés előnyei nagyon nagyok. Profi tanárral dolgozol, gyorsan megértesz bizonyos árnyalatokat, kevesebb időt töltesz az információkereséssel, elemzéssel. Már felteszed a tanárnak a webprogramozóvá válásról szóló kérdéseket, ő pedig szakmai szempontból elmondja, bevált szakirodalmat kínál, gyakorlati feladatokat ad és segít megérteni. A szakemberek kidolgoznak egy bizonyos képzési módszertant, így néhány év alatt igazi szakemberré válhatsz, aki jól fizetett munkára számíthat.

Ennek a választásnak a hátrányai is nyilvánvalóak, és a felszínen rejlenek. Tandíjat kell fizetni, egyetemtől függően az oktatás költsége meglehetősen magas lehet. Több évig kell tanulnod, nem mindig tudod összeegyeztetni a tanulást a munkával. Nem mindenki hagyhatja el szakemberként az egyetemet, valaki egyszerűen lusta lesz, és ezek a tanulási évek hiábavalók. Az egy dolog, hogy rákényszeríted magad a tanulásra és egyedül csinálod, fokozatosan felbátorodva, és egy másik dolog olyan egyetemen előadásokat látogatni, ahol senki sem kényszerít a tanulásra.

Milyen programozási nyelvet válasszon egy kezdő

Egyre többen szeretnének programozóvá válni. Ez annak köszönhető, hogy sokan azt gondolják, hogy a programozók nem csinálnak semmit, és sok pénzt kapnak. Ez persze nem így van, a programozó munkája nagyon nehéz, nagy fizetésekre csak hosszú idő után kell számítani. Ha azonban szeretnél programozóvá válni, és nem tudod, melyik programozási nyelvet kezdd el először tanulni, akkor ez a cikk neked szól.

Tehát programozó szeretne lenni, és azon tűnődik, melyik programozási nyelvet tanulja meg először. Azonnal azt akarom mondani, hogy ne Pascal oldalára nézzen, aki annyira szereti az iskolai tanítást és a BASIC-ot, amely még a Szovjetunió idejéből maradt fenn. Természetesen tanulmányozhatja őket az alapokért, hogy megértse, hogyan működik általában minden, de ez időpocsékolás. Például, ha a Python nyelvet vesszük, akkor könnyű, mint a Pascal, de ugyanakkor erőteljes. Általában ott, ahol a Python-t használják. Ezt a nyelvet gyakran használják az oldalak fejlesztése során, nevezetesen: az oldal szerveroldala. És általában nem csak a webhelyeken. Vegyük csak az Instagram alkalmazást, vagy a World of Tanks játékot, ők is Pythont használnak! Természetesen erről a nyelvről nem sokat írnak, így még nem kapott ekkora népszerűséget. A kezdők végül is azt gondolják, hogy minél népszerűbb egy nyelv, annál jobb. Valójában nem így van, mert a programozásban minden a céloktól függ. Például van egy célod: játékot hozz létre mobil platformokra. Ebben az esetben természetesen érdemes elkezdeni a Java tanulását, de ez a nyelv összetett, és érdemes valami egyszerűvel kezdeni, például a Pythonnal. A Python egy szkriptnyelv, és mindig legyen egy szkriptnyelv az arzenáljában, mert mindenhol jól fog jönni! Érdemes megjegyezni, hogy ennek a nyelvnek a népszerűsége évről évre növekszik. Sok webhely PHP-ről Pythonra költözik. Mivel a Pythonnak szebb a szintaxisa, és könnyebb vele dolgozni, mint a PHP-vel. Az olyan óriások, mint a Yandex, a Vkontakte, a Google - már régóta átálltak a Pythonra. A Python hamarosan átveszi a PHP helyét a webfejlesztés legnépszerűbb nyelveként. A PHP csak azért marad életben, mert sok projekt túl lusta ahhoz, hogy rengeteg kódot átírjon egyik nyelvről a másikra.

Végezetül szeretném elmondani, hogy a kezdőknek a Python a legjobb nyelv. Ezek nagyszerű kilátások és könnyű tanulás. A Python pár hét alatt elsajátítható, az alapokat persze. Általánosságban elmondható, hogy most még az iskolákban is le akarják cserélni a Pascalt Pythonra. De a végső döntés még mindig előtted van, mert vannak, akik nem szeretik a Python szintaxist.

Kiből lehet programozó?

Mit kell megtanulnod ahhoz, hogy elsajátítsd ezt a szakmát?

Ezeket és sok más kérdést megvizsgálunk ebben a cikkben. Külön köszönet a cikk elkészítéséért a Galina Alapítványnak, aki feltette őket a "Tegyen fel egy kérdést, és nyerjen díjat" versenyen.

Programozó – ki az?

Beszéljünk egy kicsit a programozói szakmáról.

A programozó az a személy, aki programokat ír. Ez akkor történik, ha a lehető legegyszerűbb ezt a koncepciót leegyszerűsíteni.

Mindenekelőtt érdemes megjegyezni, hogy a programozói szakma rengeteg különböző szakterületet foglal magában. És mindegyikük bizonyos specifikusságot igényel. Bármelyik szakterületen azonban bizonyos készségekre van szükség.

Milyen tulajdonságokkal kell rendelkeznie ahhoz, hogy programozó lehessen?

A legfontosabb tulajdonság, amely elválaszt egy jó programozót az amatőrtől, a folyamatos fejlődés és önképzés vágya. Egy jó programozó alig tanul többet, mint programokat ír. A tanulási szokás hiánya az előrehaladás lemaradásához vezet, és egy ilyen programozó elveszti értékességét a munkaerőpiacon.

A második tulajdonság, ami a jó programozókat jellemzi, a kitartás. A kitartás és az a képesség, hogy azt, amit elkezdtél, a végére hozd, kemény szükséglet. Ritka, hogy egy programozónak elsőre sikerül. Általában sokáig kell ülni, hibákat keresni, különféle megvalósítási módszereket tesztelni. Ezért a kitartást tartom a programozó egyik legfontosabb tulajdonságának.

A szoftverfejlesztőknek sokkal több meghatározó vonása is van. De egyik sem közelíti meg a fontosságát a fent leírtaknak.

Milyen tantárgyakra kell fokozottan odafigyelni?

Gyakran hallani, hogy programozó csak az lehet, aki jól tanulta a matematikát az iskolában. Nem teljesen értek egyet ezzel az állásponttal.

Egy programozó számára a matematika és az informatika alapvető tantárgyak, de nem az egyetlenek, amelyekre a programozóknak szükségük van.

Ahogy fentebb is írtam, egy programozónak folyamatosan tanulnia és fejlődnie kell. Ezt a szokást pedig csak úgy lehet kialakítani, ha mindent egymás után tanulmányozunk. Ezenkívül a szóbeli tárgyak, például irodalom, történelem, földrajz és hasonlók tanulmányozása nagymértékben fejleszti a memóriát és növeli az olvasási sebességet. Ezek a készségek elengedhetetlenek új programozási nyelvek vagy algoritmusok tanulásához.

Az idegen nyelvek tanulásának fontosságát is nehéz túlbecsülni. Hatalmas mennyiségű dokumentáció, tudományos és műszaki irodalom jelenik meg idegen nyelven. Az előnyben részesített nyelvek az angol és a német. Elsőbbségben természetesen az angol.

Sport. Gyerekkorától szokja meg a gyakorlatokat. Amikor programozói állást választ, az ülő életmódot választja. Ha pedig fiatalon nem akarja elrontani az egészségét, mindenképpen szánjon napi pár órát sportolásra.

Hogyan kezdjem el a nulláról tanulni a programozást egy "teáskannához"?
Ebben a cikkben megpróbáltam részletesen elemezni, hogy lehet-e önállóan programozóvá válni, és milyen lehetőségek vannak annak érdekében, hogy saját maga tanulja meg a programozást, és pénzt keressen rajta.
2020 van, és úgy döntöttem, hogy frissítem az egyik legjobb olvasói véleményt azoknak, akik önállóan tanulnak kódolni. Mostantól tippeket is tartalmaz a nulláról kezdéshez, valamint frissített információkat. És minden ingyenes :)

Igyekeztem a legjobbat nyújtani - szerintem -. Figyelmeztetlek – nem könnyű! A további olvasás sok órányi érdekes tanulásba kerülhet – elvégre csak programozással válhatsz azzá! :)

Azonnal megmondom - ha úgy dönt, hogy csak egyedül tanul programozni, pénzbefektetés nélkül, akkor több időt kell töltenie. Sok időt. Ez a cikk azért készült, hogy megmentse.

Legalább egy éven belül új szakterület elsajátítására számíthat, ha egy másik munkával párhuzamosan programozást tanul.

Ez a cikk a tapasztalataim alapján bevált gyakorlatok gyűjteménye, ha önállóan szeretne programozni.

De hol kezdjék a kezdők?

Sajátítson el egyszerű algoritmusokat, készítsen néhány programot a gyakorláshoz. Ha tetszik, lépj tovább.

Minél összetettebb a program logikája, annál jobb az Ön számára. Most fontos megismerkedni olyan dolgokkal, mint a változók, ciklusok és utasítások.De a kapott programnak működnie kell.

Használhatja a Scratch 3 legújabb verzióját, illhttps://scratch.mit.edu/download/scratch2 - lényegtelen.

Ha kell, ne féljen a Google és a Youtube segítségével kitalálni, hogy mi az.

Kezdetben el kell döntenie, hogy a programozás melyik iránya érdekli. Ha a nulláról beszélünk tanulási fejlesztésről, és szeretnél hamarosan pénzt keresni rajta, akkor véleményem szerint két lehetőség van: mobileszközökre való fejlesztés vagy webfejlesztés.

Ebben a helyzetben szerintem a legjobb választás a webfejlesztés tanulása. Itt alacsonyabb a kezdők belépési küszöbe és lehetőség nyílik az egyszerű megrendelések teljesítésének korábban megkezdésére.

Hogyan válhat önállóan programozóvá a semmiből

További anyagok azok számára, akik már döntöttek, és alapvető ismeretekkel rendelkeznek az algoritmusokról, változókról és utasításokról.

Akkor gyerünk! Ha most a nulláról kezdeném, hogy önállóan tanuljak webfejlesztést (tudván, hogy pénzbefektetés nélkül ez hosszabb út), akkor ezt az utat ajánlanám magamnak:

1. Ismerje meg a HTML-t és a CSS-t

Egy jó kurzus a HTML és CSS alapszintű elsajátítására: https://learn.shayhowe.com/html-css/ (angol) vagy https://webref.ru/layout/Learn-html-css (fordítás).

Ezek után érdemes a felgyorsított webalkalmazás-fejlesztés de facto szabványává vált Bootstrap képességeibe nézni: http://getbootstrap.com/

Ez elég lesz a következő lépésekhez.
Ezen a ponton érdemes megállni, és részletesebben tanulmányozni a CSS-t. Ez lehetőséget ad arra, hogy tördelőtervezőként dolgozzon – olyan személy, aki a tervből statikus HTML oldalt készít, majd a programozó életre kelti, megvalósítva a projekt logikáját.

Ezen kívül pénzt is kereshet – szabadúszóként és webfejlesztésre szakosodott IT-cégnél is.

De mivel úgy döntöttünk, hogy programozó leszünk, továbblépünk!

2. Ismerkedjen meg a jQuery-vel

Ha tetszik, folytathatja a frontend kezelését, és elkezdheti a Javascript tanulását.

Ha a https://angularjs.org/ vagy a http://backbonejs.org/ következik, akkor ez az út a front-end fejlesztéshez. Jó specialitás, különösen azért, mert az ilyen ismeretek hasznosak lesznek minden programozó számára, aki a webfejlesztést választotta.

Azt tanácsolom, hogy egyelőre maradjon a jQuery mellett, és lépjen tovább.

3. Sajátítson el egy szerveroldali programozási nyelvet

Itt nagy a választék. A legígéretesebb programozási nyelvek a Ruby, Java, Python, Node.JS (Javascript a szerverhez).

A kezdők számára a legegyszerűbb programozási nyelv a Python. Ha megtanulod a Python-t, majd a Django webfejlesztői keretrendszert, akkor mindent meglesz, ami elég bonyolult projektek önálló megvalósításához szükséges.

Jó lehetőség: Python programozási nyelv és Django keretrendszer

Plusz – a Python és a Django megtanítja a „helyes” programozásra. A Python folyamatosan szerepel a TOP 5-10 legkeresettebb nyelv között, és a jó Python-specialisták a legjobban fizetett programozók közé tartoznak. A Python egy egyszerű és érthető programozási nyelv a kezdő programozók számára, ugyanakkor számos nagyvállalatnál és nagy projekteknél is használják.

Kezdheti közvetlenül az oldalon:

Többek között a Learn Python The Hard Way-t ajánlom. könyv Egyszerű Python. Modern programozási stílus. És persze a Python 3 bemutatója.

A Django valószínűleg a legjobb webfejlesztési keretrendszer.

A legjobb eszközt minden alkalomra nagyon nehéz megtalálni. A Djangonak minden esélye megvan arra, hogy a webfejlesztés ilyen eszközévé váljon.

Hol kezdje el a Django tanulását:

Kezdje a hivatalos dokumentációval, ott van egy nagyon jó oktatóanyag: https://docs.djangoproject.com/en/dev/intro/

A Tango with Django jó lehetőség az angol nyelv fejlesztésére, és ezzel egyidejűleg a webes projektek működésének és minden működésének megértésére.

Alternatíva - PHP és WordPress

Egy másik lehetőség a PHP-vel kezdeni, és a népszerű CMS-ekkel dolgozni. Ha saját maga tanul programozni, és gyorsan szeretne elkezdeni, kezdje a PHP-vel.

Sokan a PHP-t "nem igazán" programozási nyelvnek tartják, és ennek jó oka van. A PHP-t ritkán használják nagy webes alkalmazásokban, és csak a webre van kiélezve – más területeken nem fog működni.

Másrészt a PHP vezet a világban indított webhelyek számát tekintve. A legnépszerűbb CMS-ek (tartalomkezelő rendszerek) erre épülnek.

Ezek után találja ki, hogyan hozhat létre WordPress-témákat – ez a legnépszerűbb CMS a világon, ha a futó webhelyek számával mérjük.

Ha jól megbirkózott ezzel, már találhat munkát. Rengeteg oldalon fut PHP és WordPress, így mindenkinek van elég munka.

Hogyan kezdj el pénzt keresni programozóként

Sokan így képzelik el egy szabadúszó programozó munkáját:

Valójában valahogy így néz ki:

Ha készen áll arra, hogy programozóként dolgozzon, és pénzt keres, üdvözöljük a szabadúszó munkakörben! A szabadúszó csereprogramok segítségével egyszerű munkákat találhat (talán eleinte szinte ingyen) – gyakorlatot szerezhet. Általános szabály, hogy egy IT-cégnél jövedelmezőbb lehet, ha éppen programozói munkát keres.

Már a 2. pont után - a HTML, CSS és jQuery elsajátítása után - szabadúszó tőzsdékre lehet menni, egyszerű megrendeléseket felvenni, profilt felépíteni.

Tudsz angolul? https://www.upwork.com/

Egyáltalán nem, még szótárral sem? http://freelance.ru/

Mire saját maga készít weboldalakat, könnyebben talál majd ügyfeleket – lesznek vélemények és tapasztalatok.

Gyors pálya a webfejlesztőknek

Tapasztalataim alapján a kódolás elölről való megtanulása legjobb esetben 6-12 hónapig tart, ha valaki segít, 6 hónapig tart.

Az informatikába való belépés folyamatának felgyorsítása érdekében - keressen lehetőséget egy képzésre (lehet, hogy többre is szüksége van), vagy - jobb esetben - keressen olyan személyt, aki veled dolgozik. Mentor nélkül, aki átadja neked a tudását, nagyon nehéz, eltölthetsz egy évet könyvek olvasásával, és soha nem kezded el. És egy hozzáértő emberrel, aki tudja, hogyan kell egyszerűen beszélni bonyolult dolgokról, sokkal könnyebb.

Egy időben vásároltam egy képzést a webfejlesztés elsajátítására, és ezzel rengeteg időt megspóroltam. Annak ellenére, hogy sokat tudtam a fejlesztésről, ez lehetővé tette számomra, hogy 2 hónap alatt elsajátítsam azt, ami hat hónapig is eltarthatott volna. Keresd az utad.

Kezdők számára unalmasnak vagy nehéznek tűnhet – ez a legjobb.

Kombinálja a cikk tippjeivel, és boldog lesz! :)

A 2019-es verzió fordítása: https://courses.prometheus.org.ua/courses/course-v1:Prometheus+CS50+2019_T1/about

A tanfolyam időbe telik, de elég teljes megértést ad, amit egyébként nehéz egyedül megszerezni.

Ha más tanfolyamok is tetszettek kezdő programozóknak, vagy esetleg komolyabbak, írd meg kommentben.
Minden esetre: a fizetős tanfolyamokra mutató linkeket csak személyes ellenőrzés után tesszük közzé a spam kizárása érdekében.

Hogyan tanuljunk tovább programozni

Amint úgy érzi, hogy meg tud valamit alkotni, keressen olyan céget, ahol tovább tud fejlődni, vagy ügyfeleket. Azok számára, akik programozóvá szeretnének válni, a gyakorlat nagyon fontos.

Fogadjon el bármilyen munkát, amit felajánlanak Önnek. A programozást csak gyakorlással lehet elsajátítani.

A HTML, a CSS, a Python és a Javascript csak az alapok, az első lépés. Fontos az algoritmusok tanulmányozása és a modern fejlesztőeszközök ismerete is.

Ha érdekes lesz mind a Telegram csatornáin, mind azon Youtube csatorna ITMAN 1000 feliratkozó lesz gépelve, igyekszem megszervezni a hasznos anyagok rendszeres megjelentetését, valamint folytatom a programozás tanulásáról szóló videók rögzítését is.

Van egy álmom, hogy mindenki számára elérhetővé tegyem a programozást. Talán egy nap együtt megvalósítjuk.

Szóval ha szeretnél motivációt adni nekem, hogy magadnak és másoknak is hasznot húzz, iratkozz fel, és mindenki boldog lesz :)

PS

Ha kérdése van - kérdezze meg a megjegyzésekben! Remélem, ez a cikk segít megtenni az első lépést. Sok szerencsét!

Írja meg a megjegyzésekben is, ha úgy találja, hogyan egészítse ki ezt a cikket, hogy hasznosabb legyen az emberek számára. Tegyük közösen mindenki számára elérhetővé a programozás tanulását)

A programozói pálya felé vezető utat azzal kell kezdenie, hogy megválaszolja a kérdést, szükség van-e egyáltalán programozásra? Ez a kérdés nem vonatkozik azokra, akik programozáshoz közeli szakon tanulnak vagy tanultak. Ha az iskolában jobb voltál a matekból, mint a bölcsészetből, ha szeretsz sok időt a számítógép előtt tölteni, ha szeretnél valami újat tanulni, akkor a programozás megfelelő lesz.

Hol kezdjem

Számos lehetőség van az események fejlesztésére, amelyek eredményeként az ember programozóvá válik. Az első a programozó szülők, akik mindenre megtanították gyermekeiket. Ezeknek a gyerekeknek még egyetemre sem kell menniük. A második lehetőség a divatos programozói szakma. Iskola után választanom kellett, hogy hova menjek tanulni, és a divatos informatika irányt választották, úgy tűnt, tetszik nekik. És az utolsó lehetőség egy hobbi, amely munkává nőtte ki magát.

Ha a fentiek egyike sem történt meg Önnel, akkor négy lehetőség közül választhat:

  • önképzés. Ez az opció használható önmagában vagy más módszerekkel kombinálva. Az internet tele van olyan alkalmazásokkal, amelyek segítenek a különféle programozási nyelvek és technológiák elsajátításában. De ez a legnehezebb módja a kezdőknek.
  • egyetemi. Ha befejezed az iskolát, és programozó szeretnél lenni, akkor menj egyetemre. Ha nem a tudásért, hát egy kéregért. Bónuszként szolgálhat állásra jelentkezéskor. Bár némi tudásra is szert tesz. De ne felejtsd el képezni magad. Az egyetemválasztást nagyon felelősségteljesen kell megközelíteni. Gondosan tanulmányozza a képzési programokat, és válassza ki a legjobb műszaki egyetemeket.
  • Mentor. Nagyon jó lesz, ha találsz egy személyt, aki vállalja, hogy segít neked és a helyes irányba terel. Megfelelő könyveket és forrásokat ajánl, ellenőrzi a kódot, és hasznos tippeket ad. Arról egyébként már írtunk, hogy hol lehet mentort találni. Mentort kereshet ismerős programozók között, informatikai bulikon és konferenciákon, online fórumokon stb.
  • Speciális gyakorlati tanfolyamok. Próbáljon olyan kurzusokat keresni a városában, ahol valamilyen programozási nyelvet vagy technológiát tanítanak. Kellemesen meglepett a kijevi ilyen tanfolyamok száma, beleértve az ingyeneseket és az azt követő foglalkoztatást is.

Melyik nyelvet, technológiát és irányt válasszam

Amikor programozó leszel, egy-két éven belül szabadon választhatsz tetszőleges nyelvet. Az első programozási nyelv kiválasztásakor azonban a kezdőknek figyelembe kell venniük a következő kritériumokat:

  • Elérhetőség a munkaerőpiacon. Ennek az útnak a végső célja a programozói állás megtalálása. Ezt pedig nehéz lesz megtenni, ha senki nem keres fejlesztőket az Ön programozási nyelvén a munkaerőpiacon. Nézze meg az álláshelyeket, nézze meg, ki keresi a legtöbbet, írjon le egy tucat nyelvet. És lépjen tovább a következő kritériumra.
  • Alacsony belépő. Ha hosszú időt kell töltenie egy nyelv tanulásával, az általánosságban eltántoríthatja a programozástól. Olvasson a fent választott nyelvekről. Tekintse át a szakirodalmat, amelyet el kell olvasnia ahhoz, hogy megtanulja ezeket a nyelveket. És válaszd ki azokat, amelyekről azt írják, hogy könnyűek, vagy amelyekről azt hitted, hogy könnyűek. Ilyen nyelvek lehetnek a PHP, Ruby, Python.
  • A folyamat izgalma. Ha nem szereti a kódot a választott nyelven írni, akkor nem fogja élvezni a folyamatot, a munkát vagy az életet. Szükséged van rá? Válasszon helyesen.

A programozás irányáról is döntenie kell. Mobil, asztali számítógép, játékok, web, alacsony szintű programozás és így tovább. A legnépszerűbb és viszonylag egyszerű iparágak a webes, mobil és asztali ügyfelek számára történő fejlesztés. Előfordulhat, hogy egy nyelv minden irányhoz megfelelő, egy másik pedig egyáltalán nem. Vagyis a programozási nyelv kiválasztásakor is ebből a tényezőből érdemes kiindulni.

Mindenesetre tanulja meg a webes technológiákat. Ezek a HTML jelölőnyelv, a CSS stílusok, amelyek dinamikussá teszik az oldalt. A következő lépés egy szerveroldali nyelv (Python, PHP, Ruby és egyebek) és az arra alkalmas webes keretrendszerek megtanulása. Fedezze fel az adatbázisokat: szinte minden programozói munka felsorolja ezt.

Hogyan szerezzünk kezdeti tapasztalatokat

Tapasztalat nélkül nem kapsz munkát. Munka nélkül nem lesz tapasztalatod. A való élet ördögi köre. De ne aggódj, kimaradunk belőle.

Először is ne várja meg, amíg az összes könyvet elolvasta a választott programozási nyelven. Kezdje el írni az első kódsorokat a könyv második fejezete után. Végezzen el minden feladatot könyvekből, nyomtasson újra példákat, értse meg őket. Bonyolítson példákat és feladatokat könyvekből saját ötleteivel. Hozzon létre saját feladatokat a tárgyalt anyaghoz. Oldja meg ezeket a problémákat.

Másodszor, meg kell találnia az első projektjeit. Talán ez a legnehezebb lehetőség, de működik. Megrendeléseket magának kell keresnie, teljesítenie, a fizetéssel bajlódnia. Egy kezdő számára ez ijesztő, de akkor minden más lehetőség csekély dolognak tűnik. Az elkészült projekteket tapasztalati úton rögzítheti, és megmutathatja leendő munkáltatójának. A valódi projektek nagy pluszt jelentenek az önéletrajzában.

Ha tudsz angolul, regisztrálj jobban az angol nyelvű csereprogramokon. A piac nagyobb. Ha nem tudsz angolul, tanuld meg. Addig is orosz nyelvű szabadúszó csereprogramok állnak az Ön rendelkezésére. Keressen olyan kis projekteket, amelyek tudásszintjén vagy felette állnak. Jelentkezzen pár tucat ilyen állásra. És készülj fel a sok elutasításra. De ha egy vagy két alkalmazás működik, akkor esélye lesz valódi tapasztalatokra.

Egy másik jó lehetőség valódi tapasztalatszerzésre a nyílt forráskód. Az ilyen projektekhez mindig új emberekre van szükség, még a kezdőkre is. Kereshet hibákat a projektben, vagy kereshet a hibakövetőben, és módszereket javasolhat a megoldásukra. Az ilyen projekteket könnyű megtalálni a GitHubon vagy a . Nyugodtan kérdezz ott.

A tapasztalatszerzés negyedik lehetősége az ismerős programozók segítése. Kérd meg őket, hogy adjanak neked apró és könnyű feladatokat. Ha valami nem sikerül, mindig lesz kihez fordulni. És ugyanakkor részt vesz egy valódi projektben.

Utolsó út a saját projekteken, különféle hackathonokon vagy egy közös munkahelyen való munka. Nehéz saját projekteket indítani, jobb, ha ismerősöket vagy barátokat keresel.

Miért válassza a Pythont?

Beszéljünk egy kicsit bővebben az első programozási nyelv kiválasztásáról. Az első nyelvnek egyszerűnek és népszerűnek kell lennie a piacon. Ilyen nyelv az Piton. Nyomatékosan azt tanácsolom, hogy ezt válassza első programozási nyelvként.

A Python kód olvasható. Még csak programozónak sem kell lenned ahhoz, hogy általánosságban megértsd, mi történik egy programban. A Python egyszerű szintaxisa miatt kevesebb időbe telik egy program megírása, mint például a Java-ban. A könyvtárak hatalmas adatbázisa, amely sok erőfeszítést, idegeket és időt takarít meg. A Python egy magas szintű nyelv. Ez azt jelenti, hogy nem kell sokat gondolkodnia a memóriacellákon és az ott elhelyezett dolgokon. A Python egy általános célú nyelv. És ez olyan egyszerű, hogy még a gyerekek is megtanulhatják.

Az igazság kedvéért érdemes megemlíteni más programozási nyelveket is. Jáva Kezdőnek jó választás lehet. Ez a nyelv népszerűbb, mint a Python, de egy kicsit bonyolultabb is. De a fejlesztő eszközök sokkal jobban fejlettek. Csak az Eclipse-t és az IDLE-t kell összehasonlítani. A Java után könnyebb lesz az alacsony szintű programozási nyelvekkel való munkavégzés.

PHP egy másik nagyon népszerű nyelv. És szerintem még a Pythonnál is könnyebb. A fórumon nagyon könnyű mentort vagy megoldást találni egy problémára. Ennek az az oka, hogy rengeteg különböző szintű PHP programozó létezik a világon. A PHP-ben nincs normális import, sok lehetőség van ugyanannak a feladatnak a megoldására. És ez megnehezíti a tanulást. A PHP pedig kizárólag a webre van kiélezve.

Nyelvek Cés C# kezdőnek nagyon nehéz. rubin jó választás második nyelvként, de nem első nyelvként. JavaScript- egy nagyon egyszerű nyelv, de nem tanít meg semmi jóra. Az első programozási nyelv feladata pedig továbbra is az, hogy megtanítson valami helyesre, beállítson valamiféle logikát.

Fontos az angol

Fontos! Nem tudom? Tanít. Tudod? Javítani. Tanulj meg írni, olvasni, hallgatni és beszélni angolul. Fókuszáljon a szakirodalomra. Hallgassa meg az angol nyelvű podcastokat. Olvasson angol nyelvű programozási tankönyveket.

Amit a programozási nyelven kívül tudni kell

Persze a programozási nyelven és az angolon kívül mást is tudni kell. De mi - attól függ, hogy milyen irányt választ. A webprogramozónak ismernie kell a HTML-t, a CSS-t, a JavaScriptet. Egy asztali programozó megtanítja az operációs rendszer API-kat és különféle keretrendszereket. A mobilalkalmazás-fejlesztő Android, iOS vagy Windows Phone keretrendszert tanul.

Mindenkinek meg kell tanulnia algoritmust. Próbáljon meg egy Coursera tanfolyamot, vagy keressen egy könyvet az algoritmusokról, amely megfelel Önnek. Ezen kívül ismerni kell az egyik adatbázist, programozási mintát, adatstruktúrát. Érdemes a kódtárakat is megismerni. Legalábbis eggyel. Verziókezelő rendszerek ismerete szükséges. Válassza a Git-et, ez a legnépszerűbb. Ismernie kell az eszközöket, amelyekkel dolgozik, az operációs rendszert és a fejlesztői környezetet. A programozó fő készsége pedig az, hogy tudjon guglizni. Nem fogsz élni nélküle.

Utolsó lépések

Önéletrajzot kell készíteni. Nem csak önéletrajz, hanem. Nem szabad oda írni, de nem is kell hallgatnia a képességeiről. Miután meghívtak egy interjúra, fel kell készülnie rá. Olvassa el az önéletrajzában szereplő anyagokat. Biztosnak kell lenned a tudásodban. Tekintse át a projekteket, amelyeken dolgozott, és emlékezzen az alkalmazott technológiákra. És előre - egy fényes jövő felé egy új programozói szakmával.

Mi lehet nehezebb a szakmaválasztásnál? Mindig félünk a hibáktól, és feltesszük magunknak a kérdést, hogy sikeres lehetek-e a választott területen. Előfizetőnk megosztotta kétségeit azzal, hogy írt nekünk:

– Honnan tudhatom, hogy lehetek-e programozó?

A pontosításért szakértőinkhez fordultunk, a kapott válaszokat figyelmébe ajánljuk.

Az első dolog, hogy ellenőrizze a logika alapszintjét. Keress egy tesztet, teljesítsd, és szerezz legalább 27 pontot az első alkalommal. A harmadik próbálkozásra a megértés miatt sikerült minden helyes választ megadnom - jól sikerült.

Térjünk át a következő szakaszra. Fejlesztői környezet létrehozása C++ vagy C# vagy más nyelvhez. Megcsináltad, és minden sikeresen végrehajtott lépés örömet okozott számodra – ez jó jel. Lépj tovább.

Keressen leírást arról, hogyan hozhatja létre az első alkalmazást, a Hello World-t a választott nyelven telepített környezetben – ez egy klasszikus. Igen? Kiváló.

Most írjon saját számológépet, amely összead, kivon, szoroz, oszt. Ha megtetted és élvezted, programozó lehetsz.

Frissítés Downgrade

Programozóvá válhat bárki, aki kész keményen dolgozni és saját fejlesztésében részt venni, szakkönyveket olvasni és nehéz, de érdekes feladatokat megoldani. Ahhoz, hogy programozó lehessen, egyáltalán nem szükséges nehéz vizsgák letétele vagy sok éven át az egyetemen tanulni. Elég hangosan kijelenteni a világnak, hogy egy új programozó jelent meg a világban, miközben keményen és keményen dolgozik. Másrészt lehet programozói életstílus: hazatérve ne halaszd le a kódszerkesztőt, folytasd a tanulást, szerezz ritka anyagokat a neten, tanulj új technológiákat, fejleszd a matematikát és csinálj például ML-t.

Frissítés Downgrade

A programozót az a vágy határozza meg, hogy jó kódot írjon. De nehéz bárkit is meglepni egy működő kóddal: legyen rövid, gyors és érthető még egy iskolás számára is. Nos, csak akkor írhat tökéletes kódot, ha igazán szereti ezt a tevékenységet.

Szeretned kell új dolgokat tanulni és a régiben fejlődni. A Django tudását is nehéz meglepni. A technológiai halom naponta változik és fejlődik. Nem elég csak tudni valamilyen eszköz jelenlétéről. Fontos megérteni, hogyan működik, és miért van rá szükség. Ehhez gyakran olyan alapokba kell merülni, amelyek nem közvetlenül kapcsolódnak a programozáshoz. És ahhoz, hogy a tanulás szórakoztató legyen, kíváncsi elmére van szükség.

A programozó biztosan fejlett rendszerszemléletű. Mindig több megoldást kell mérlegelnie, és a legjobbat kell kiválasztania, a problémát különböző oldalról kell szemlélnie, nem nyilvánvaló, de hatékony megoldásokat kínálva. Tanulmányozzon kész eszközöket, hogy ne találja fel újra a kereket.

A programozónak pedig mérsékelten makacsnak és ambiciózusnak kell lennie. Ha az olvasott szöveg első alkalommal nem tiszta, újra kell olvasni, vagy tízszer, amíg világossá nem válik. Illetve ha van jobb megoldás, akkor érdemes kipróbálni, és nem feladni, mondván, hogy sikerül. Minden üzletben törekedni kell a legjobbvá válni, fejlődni, tudást megosztani, vitatkozni. Amikor tudással vagy készségekkel kapcsolatos kihívással találkozik, a programozó nehezen megy el mellette.

Nos, és természetesen képesnek kell lenniük kommunikációt építeni az emberekkel és alkalmazkodni a különböző körülményekhez. Lejárt a szakállas zsenik ideje, akik egyedül törték fel a Pentagont az alagsorból, írták a Windows 3.11-et és a Facebookot a semmiből. Most a programozó a csapat tagja. Az egész csapat sikere a kommunikációs készségeken és a rugalmasságon múlik.

A végén tedd fel magadnak a kérdést: „Lehetek programozó”? Ha a válaszod "Igen, meg tudom", akkor semmi sem állíthatja meg.

Frissítés Downgrade

A válasz inkább az emberi tulajdonságok és mentalitás területén rejlik. Természetesen, ha kezdetben magas szintű elméleti képzés van, például alapvető matematikai képzés, akkor a tanulás könnyebben megy, de általában ez a gyakorlat kérdése.

Ahhoz, hogy sikeres programozó legyen, meg kell értened a programozás alapelveit, és azon kell gondolkodnod, hogy milyen nyelven fogsz kódot írni, de ez nem mondható valamiféle hajlamnak. Türelmesnek kell lenned és keményen kell dolgoznod, bármilyen elcsépeltnek is hangzik.

Ezért a programozó olyan emberré válhat, aki képes állandó tanulásra, elsősorban önálló tanulásra. A programozó minden nap tanul, és ez még a tapasztalt fejlesztőkre is vonatkozik. Ha nehézségei vannak a saját motivációjával és kitartásával, ez egy ébresztő a programozói szakmának, ami fontosabb, mint az alapismeretek hiánya.

Egy másik szükséges jellemvonás a stressztűrés és a tervezési készség. A programozó fokozatosan megérti, hogyan kell optimálisan megközelíteni a feladatot, a kód tisztábbá és világosabbá válik. A programozó elkezd előre gondolkodni, és kidolgozza az események lejáratának összes lehetőségét, amely stabil kódot generál, függetlenül a külső tényezőktől.

Ha kétségei vannak, azt tanácsolom, hogy először próbáljon ki rokon szakmákat, például tesztelőt. Nem kell nekik mély technikai bázis, ugyanakkor csak hasonló gondolkodásmód és karakter kell hozzá.

Frissítés Downgrade

Először is meg kell értened, mi számít programozói szakmának. A programozás már régóta nem az elit dolga, akik képesek bájtkódokban gondolkodni, és nyomon követni az elméjükben lefoglalt memóriát. Sok olyan modern nyelv létezik ma a világon, amelyek szintaxisa a lehető legközelebb áll az egyszerű angolhoz. Például User.find_by(név: "Vasya").destroy Rubyban (síneken). E parancsok ismerete elegendő kis weboldalak, blogok, online áruházak írásához. Ha ezen a szinten akarsz dolgozni, akkor csak ki kell választanod a neked tetsző dinamikus objektum-orientált nyelvet (Ruby, Python) és el kell végezned egy tanfolyamot, vagy olvasnod kell egy könyvet, mindegyik nyelvhez elég sok van. . Kipróbálhatja magát a front-end fejlesztésben is, megtanulhatja a JavaScriptet, majd elsajátíthatja a keretrendszereket.

Ha bonyolultabb rendszereket akarsz írni, akkor az absztrakt logika ismeretére van szükséged, azt az intézetben felsőbb matematikát tanulva szerezheted meg (ideális esetben diszkrét, de igazából a matematikai elemzés is elég jól fejleszti az agyat). Olvashat könyveket a diszkrét matematikáról és algoritmusokról (Stephen Skiena "Algoritmusok. Tervezési útmutató", Thomas Kormen "Algoritmusok. Konstrukció és elemzés", Rod Haggarty "Diszkrét matematika programozóknak", J. Anderson "Diszkrét matematika és kombinatorika") és csak programozás gyakorlása. Nagyon hasznos lenne megtanulni egy alacsony szintű nyelvet is, például a C-t (Kernighan, Ritchie "A C programozási nyelv") – a programok működésének általános megértéséhez.

Ha gépi tanulás és adatfeldolgozás a célja, akkor el kell sajátítania a matematikai statisztikákat és a lineáris algebrát. Mindezeket a tudományokat egyetlen jellemző egyesíti - megtanulhatók. Ezért a saját programozási képességeinek megértésének fő gondolata a következő: „Ha egyedül tudsz tanulni, akkor programozóvá válhatsz. Nem kell matematikusnak lenned, de képesnek kell lenned azzá válni, ha szükséges.”

A táviratokban is sok csatorna van, programozási nyelvenként több, azt is tanácsolom, hogy nézzen utána.

Ha a weboldalak legegyszerűbb fejlesztéséről beszélünk, akkor nem lehet kétséges, hogy mindenki megbirkózik vele. Ha tovább akarsz lépni, de ugyanakkor úgy gondolod, hogy a matematika és a logika egyáltalán nem való neked, akkor kipróbálhatod a játékoldalakat az algoritmusok fejlesztéséhez:
https://www.codingame.com/
https://www.codewars.com/
Meg kell oldaniuk a legegyszerűbb (és nem is olyan) algoritmikus problémákat, bármilyen tetszőleges programozási nyelven. Nem mondhatom, hogy nagyon hasznos a valódi programozás tanulásához, de ha szereted ezeket a játékokat, akkor biztosan élvezni fogod a komoly fejlesztéseket.

Frissítés Downgrade

Ha feltetted magadnak ezt a kérdést, akkor biztosan van rá esély. Végül is az a lényeg, hogy meglegyen a vágy és a vágy, hogy teljesítsd. A programozás valódi sikeréhez azonban szisztematikusan kell gondolkodni: megérteni, hogy mi és hogyan kapcsolódik össze, látni kell a rendszerfolyamatokat és a megoldásukra szolgáló algoritmusokat a körülöttünk lévő világban, valamint meg kell tudni találni a problémák megoldásának megközelítéseit. . Fontos a kitartás, a feladatra való összpontosítás képessége.

A programozónak nem árt a türelem, mert megoldást találni a problémára és megírni az algoritmus kódját, csak a munka fele. Utána jön a tesztelés, a hibák felkutatása és kiküszöbölése, a megrendelő szerkesztése – mindehhez oroszlánrész türelem kell. De ilyen veleszületett makacsság mellett a cél elérése érdekében meg kell őrizni az elme rugalmasságát, képesnek kell lenni a felhasználók szemével nézni a munkáját, néha nagyon nehéz lemondani a döntésekről az ügyfél döntései javára. .

Ne félj megtanulni programozónak lenni, mert ha nem is szeretsz programozni, dolgozhatsz elemzőként, tesztelőként, műszaki íróként, sőt projektmenedzserként is, és az informatikai oktatás csak ebben segít.

Frissítés Downgrade

Ma már nehéz találni a programozói munkánál ígéretesebb, technológiailag fejlettebb és pénzügyileg stabilabb szakmát. Ugyanakkor a magas fizetések ellenére (a "régió átlagának többszöröse") az iparágban munkaerőhiány tapasztalható. Ahogy Adam Smith mondta, "a kereslet kínálatot teremt" - de ez nem ilyen egyszerű.

A munkaerőhiány a piacon nem olyan, mint tíz évvel ezelőtt. Az informatikai szféra sokat érett, túlélte azt a szakaszt, amikor az Enikey munkatársait komoly pozíciókba vitték. A jövő programozóinak új, összetett kihívásokkal kell szembenézniük – e szakma „elsődleges” feladatainak köre kezdetlegessé válik, és a technológia fejlődésével egyre inkább a mesterséges intelligencia és az automatizálás kegyére van bízva.

A szakmai „éhség” új jellegzetességeket szerez. A sikerhez alapvető alapokra van szükség: jó minőségű algoritmikus alapokra, erős matematikára, felelősségteljesnek és késznek kell lennie a folyamatos tanulásra. Ha mindez megvan, a Google, az Amazon, a Facebook és az Attack Killer készen áll arra, hogy meghívjon egy interjúra!

Frissítés Downgrade

Először is, a szoftverfejlesztés ma már egy hatalmas iparág, amelyhez sokféle feladat és készség szükséges, és amely több tízmillió embert érint. A vállalatok és projektek sokfélesége olyan nagy, hogy a választ egy egyszerűre redukálhatja: "Igen, biztosan lehet programozó."

De jobb a kérdést átfogalmazni a következőre: „lehet-e jó programozó?” Véleményem szerint akkor válhat jó programozóvá, ha:
1. Szeresd a programozást, és élvezd a gondolkodási és kódírási folyamatot.
2. Szereted a jó minőségű és kényelmes szoftvertermékeket, és pont ilyeneket szeretnél fejleszteni.
3. Érdekel az informatikai fejlesztés, még akkor is, ha nem minden irányzat tetszik.
4. Fejlett kritikai gondolkodással és elemző képességekkel rendelkezik.
5. Képes áramlási állapotban dolgozni és órákon át egyetlen feladatra koncentrálni.
6. Érdekel, hogy mit csinálsz, és milyen emberekkel dolgozol.
7. Készen áll a csapatmunkára egy közös cél elérése érdekében, még akkor is, ha nem szeret emberekkel kommunikálni.