Ku të filloni të punoni si programues. Mësimi i programimit nga e para - një udhëzues hap pas hapi për fillestarët

Ndoshta për ndonjë arsye papritmas keni dashur të bëheni programues. Lajmi i mirë është se sapo të kuptoni sistemin, mund të mësoni se si të kryeni intervista dhe të mbijetoni në muajt e parë në punë.

Lajmi i keq është se nuk ka ende asnjë shpëtim nga ABC-të e programimit dhe për t'u ndjerë rehat në pozicionin tuaj të ri, do t'ju duhet të përfundoni urgjentisht të mësoni gjithçka që supozohet të dini tashmë si në fund të dorës.

Sigurisht, ky artikull do të flasë ekskluzivisht për mua përvojë personale, gjë që më lejoi të merrja intervista edhe për kompanitë kryesore si Luxoft.

Si u bëra programues

Për herë të parë u njoha me një kompjuter në moshën 6-vjeçare. Në moshën 13-vjeçare, unë tashmë kisha faqen time personale. Shkova dobët në shkollë dhe në universitet gjithashtu. Në vitin e dytë, miku im gjeti një punë si programues Java dhe më rekomandoi fuqimisht që të bëja të njëjtën gjë. Ideja më intrigoi. Duhej një plan.

Hapi i parë - rifilloni

Problemi i parë dhe kryesor me të cilin përballen fillestarët është rezymeja e tyre. Pa një rezyme adekuate, tërheqëse, nuk do të ftoheni në intervista. Po ata që nuk kanë fare përvojë pune? Për të mos shkuar në HR duarbosh, shoku im dhe unë shkruajmë në rezymenë time një vit të tërë përvojë pune në projektin e tij, për të cilin gjoja kemi punuar së bashku.

Politika e pagave

Tjetra pikë e rëndësishme në rezyme pas teknologjive të kërkuara dhe në Anglisht ishte paga e dëshiruar. Pa u menduar dy herë, unë dhe shoku im vendosëm të luanim shumë dhe shkruam një shumë të tepruar prej një mijë dollarësh në atë kohë, e cila supozohej të zhdukte "kompanitë mashtruese".

Turp dhe turp

Intervistat e para ishin një dështim. Ata fjalë për fjalë qeshën me mua. Në intervistën e parë teknike, ku m'u dhanë disa probleme në letër, u zbulova në një kohë të shkurtër. Dikush madje dha një rekomandim atëror për librin Thinking in Java.

Puna e parë

Në fund, u ftova për një intervistë në një degë të një kompanie daneze, ku iu përgjigja pyetjeve themelore dhe i befasova këndshëm të gjithë me anglishten time. U punësova si zhvillues Junior Java me një kusht - për tre muajt e parë do të merrja kursin SCJP (Sun Certified Java Programmer), i cili do të më mbushte boshllëqet dhe do të më bënte një specialist më të përgatitur. Çfarë mund të jetë më mirë se një praktikë me pagesë pa pasur nevojë të punoni (tradhtoni paaftësinë tuaj)? Kam punuar në këtë kompani për gjashtë muaj, në mënyrë që pas disa muajsh të gradoja në një kompani më të madhe.

Bazuar në përvojën time të hidhur, por ende të paçmuar, unë do të jap një listë rekomandimesh që do t'i ndihmojnë aventurierët e tjerë të gjejnë një punë si programues relativisht shpejt.

  1. Përmbledhje. Ai duhet të jetë i formatuar siç duhet dhe i shkruar ekskluzivisht në anglisht. Nëse nuk keni përvojë të mjaftueshme, atëherë mund (dhe duhet) ta shpikni atë, por duhet të përgatiteni të jeni përgjegjës për çdo fjalë të shkruar në CV. Për shembull, nëse keni JMS (Shërbimi i Mesazheve Java) të shkruar atje, atëherë të paktën duhet të kaloni të paktën një tutorial dhe të luani me JMS, të bëni disa shembuj, edhe nëse është një "Përshëndetje, botë!" Tani do të jetë më i përshtatshëm për t'u dukur, vërtet "keni punuar me JMS".
  • Mësoni ABC-të e programimit. Nëse ende mund të përballoni të "notoni" në nivelet e thella të disa teknologjive komplekse si Struts dhe Spring, atëherë përgjigjet e pasakta për pyetjet themelore nuk do të falen kurrë. Nëse ju zgjoj natën, ju duhet të jeni në gjendje të flisni për OOP, trashëgiminë, kapsulimin, polimorfizmin dhe konceptet e tjera themelore, dhe gjithashtu të jeni në gjendje t'i shpjegoni të gjitha me shembuj.
  • Praktikoni. Ju mund të mësoni të programoni vetëm duke programuar. Kjo është e dhimbshme dhe e pakëndshme (nëse nuk jeni programues), por nuk ka rrugë tjetër. Mënyra e vetme për të mos pasur frikë nga problemet e intervistës është t'i zgjidhni ato vetë në shtëpi.
  • Lexoni libra dhe merrni mësime mbi Java vetëm në anglisht Absolutisht të gjitha termat e programimit janë më të lehta për t'u kuptuar në gjuhën origjinale, domethënë në anglisht. Leximi i literaturës teknike në Java në Rusisht është mosrespektim i vetvetes. Pse? Sepse për të kuptuar diçka në linjën e "...moduli i tabelës është në shumë mënyra një opsion i ndërmjetëm, një kompromis në lidhje me skenarin e transaksionit dhe modelin. fusha lëndore“, ju duhet të jeni vërtet një gjeni, gjë që nuk ka gjasa të jeni.
  • Më në fund mësoni anglisht! Para së gjithash, kjo ka të bëjë me anglishten e folur. Është e vështirë të numërosh sasi e madhe programues inteligjentë, të cilët, me sa mbaj mend, u refuzuan për një arsye të vetme - një nivel jo të kënaqshëm të gjuhës angleze të folur. Jo, nëse ju, sigurisht, do të punoni si programues diku në një kompani vendase, atëherë niveli juaj i gjuhës nuk do të luajë një rol të rëndësishëm. Por nëse doni të gjeni një punë në një kompani ndërkombëtare, atëherë vetë Zoti ju urdhëroi të mësoni gjuhën. Niveli juaj i anglishtes do të përkthehet në qindra dollarë shtesë në rritje pagash.
  • Njihuni me tregun. Shikoni përreth për vende të lira pune, lexoni kërkesat, pyesni miqtë tuaj programues se sa fitojnë. Përdorni shërbime që do t'ju lejojnë të merrni një pamje më të plotë të tregut të IT. Do të habiteshit të dinit se sa i madh është numri i programuesve të talentuar që fitojnë gjysmën e sa munden, thjesht për shkak të dembelizmit dhe mungesës së dëshirës për të mbajtur hundën nga era.
  • Pazar. Nuk ka asgjë të keqe të bëni pazare për pagën tuaj. Argumenti juaj në një mosmarrëveshje mund të jetë ose një anglishte e mirë ose një ofertë pune në një kompani tjetër. Argumenti i fundit funksionon veçanërisht mirë: “Po, por Luxoft po më ofron 300 dollarë më shumë, pse duhet të pajtohem me kushtet tuaja? Ndoshta ne mund të gjenim një kompromis?” Në një kohë, unë arrita të negocioja njëqind dollarë shtesë për pagën time disa herë, dhe pas një viti, ky njëqind dollarë më dha një të ardhur shtesë prej 1800 dollarësh. Duhet të kuptoni se edhe për kompanitë e vogla të huaja të IT-së, njëqind dollarë shtesë janë si një pikë në oqean.
  • Gjeni vetes një mentor.Është mirë nëse keni një mik më me përvojë, i cili mund të ndihmojë me këshilla dhe t'u përgjigjet edhe pyetjeve më budallaqe. Falë përvojës së tij dhe mbështetjes morale, ju do të përparoni në programim më shpejt se sa vetë. Nëse nuk keni një mentor, atëherë është mirë të ndiqni disa kurse programimi që jo vetëm që do të japin një pamje më të plotë të asaj që bën një programues, por gjithashtu do t'ju lejojnë të takoni njerëz më me përvojë. Kush e di, ndoshta njëri prej tyre do të dëshirojë të bëhet mentori juaj.
  • Filloni projektin tuaj. Edhe nëse është një shembull i praktikave më të këqija të kodimit dhe nuk e përfundoni kurrë, të paktën do të keni diçka për të bërë që do t'ju bëjë të dëshironi të kuptoni programimin dhe të mësoni teknologji të reja. Përveç kësaj, do të keni një temë shtesë për biseda intime gjatë intervistave.
  • Kërkoni punë gjatë verës. Së pari, kur të gjithë janë me pushime, kompanitë kanë më shumë gjasa të kenë staf të shkurtër dhe kanë më shumë gjasa të thirren për një intervistë. Së dyti, duke qenë se konkurrentët-aplikuesit tuaj janë gjithashtu me pushime, shanset tuaja për t'u vënë re sërish nga HR rriten.
  • Mos u dorëzo kurrë. Edhe nëse ndiheni sikur po dështoni në intervistë, është e rëndësishme të këmbëngulni dhe të vazhdoni të përpiqeni ta zgjidhni problemin, pavarësisht sa e vështirë mund të duket. Kush e di, ndoshta pikërisht në këtë moment jeni duke u testuar për zell në punën tuaj!
  • Shmangni detyrat në kompjuter. Nuk ka asnjë mënyrë për të parë përmes një joprofesionisti më shpejt se sa ta hidhni menjëherë në nxehtësinë e programimit. Detyra juaj është të përpiqeni të përktheni të gjitha bisedat në nivel të lartë, ku diskutohen qasje dhe koncepte të përgjithshme, por jo një zbatim specifik në zgjidhjen e një problemi të caktuar. Nëse ju jepet letër dhe stilolaps dhe ju kërkohet të shkruani zgjidhjen, atëherë kërkoni mundësinë për ta vizatuar atë në mënyrë diagrame. Kështu, duke u larguar nga sintaksa e një gjuhe specifike, jo vetëm që do të shpëtoni nga disa gabime të bezdisshme, por gjithashtu do të tregoni se jeni në gjendje të mendoni në mënyrë abstrakte pa u futur në kaq shumë detaje.
  • Bëhu i pari që flet. Shmangni situatat ku ka një pauzë në ajër, gjatë së cilës një pyetje tjetër tinëzare mund të lindë në mendjen e intervistuesit. Sapo të ketë ndonjë pengesë, filloni të tregoni diçka që e dini mirë. Mundohuni t'i impononi lojën tuaj intervistuesit.
  • Mundohuni të tregoni të vërtetën. Nëse nuk keni shkruar kurrë procedura PL/SQL, atëherë është më mirë ta thoni këtë drejtpërdrejt. Kjo mund të jetë një disavantazh për ju, por ju do të shpëtoni veten nga detyrimi për të dalë nga rruga juaj duke iu përgjigjur një pyetjeje për të cilën nuk kuptoni asgjë. Një intervistues me përvojë do të kuptojë boshllëqet e njohurive tuaja një milje larg.
  • Kujdes nga kompanitë e vogla. Kompanitë e vogla priren të kenë ekipe të vogla. Sa më pak njerëz në ekip, aq më shpejt do t'ju kuptojnë. Qëllimi juaj është një korporatë e madhe dhe e ngathët, ku mund t'i blini vetes pak kohë.
  • Ndiqni kodin e veshjes. Nëse paraqiteni në një intervistë për një pozicion programues me një kostum inteligjent, do të zgjojë më shumë dyshime sesa nëse paraqiteni me pantallona të shkurtra ose një pulovër me fije. Do të ishte gjithashtu një ide e mirë të vendosni syze, duke thënë: "Unë jam një krimb librash".
  • Sigurisht, dikush me njohuri mund të theksojë se receta e mësipërme është më shumë një mënyrë për t'u bërë kodues sesa programues dhe ai do të kishte të drejtë diku. Sidoqoftë, puna është se nuk do të gjeni kurrë një vend vakant me titullin "Kërkohet kodues i keq". Të gjithë kanë nevojë për programues. Mundësisht i moshuar. Ata që kanë më shumë se pesë vjet përvojë pune në projekte të korporatave dhe që flasin njëlloj rrjedhshëm në disa gjuhë programimi, në të njëjtën kohë kanë një kuptim të plotë të DBMS, mund të shkruajnë skriptet bash, procedurat e ruajtura, flasin rrjedhshëm Linux, TCP/IP , kanë cilësi drejtuese dhe rezistencë ndaj stresit, aftësi komunikimi dhe një mori aftësish të tjera, "pa të cilat është e pamundur".

    Njerëz të tillë ekzistojnë, i kam parë vetë. Por ka shumë pak prej tyre për të mbuluar plotësisht nevojat e tregut gjithnjë të uritur të specialistëve të IT-së. Dhe kjo do të thotë që ju keni gjithmonë një shans, një aventurier i tillë jeni.

Unë nuk kam studiuar për t'u bërë programues, megjithëse gjithmonë kam dashur të bëhem programues. Në fillim hyra në përgjithësi në një specialitet që lidhej me pajisjet kompjuterike, por doli që nuk ishte shumë interesant, kështu që u transferova në optoelektronikë.

Studimi lidhej me përpunimin e imazhit: ky nuk është aspak programim, por akoma më afër asaj që doja. Ky është një specialitet i lidhur me kompjuterin.

Gjithmonë e kam pasur parasysh që do të punoja si programues. Kështu ndodhi në fund.

Kam gjetur një shpallje pune në

Fillova të kërkoja në mënyrë aktive një punë si programues Java në vitin e pestë, por fillimisht vendosa të bëj një praktikë në një kompani. Pashë një reklamë për një praktikë në faqen publike MAI në VK. Për të qenë i sinqertë, kjo ishte hera e parë që dëgjova për Jet Infosystems. Gjeta informacione për kompaninë në internet, gjithçka më dukej interesante dhe lashë një kërkesë në faqen e tyre të internetit.

Siç doli, kishte shumë aplikantë - njëqind e gjysmë aplikantë. Atyre iu desh mjaft kohë për t'u përzgjedhur. Fillimisht u ftuam në një mbledhje të përgjithshme, më pas kaluam një test teorik dhe përfunduam disa detyra praktike.

Më pas, për ata që e bënë me sukses, u organizua një intervistë tjetër. Vetëm pas kësaj ne të gjithë u futëm në grupin e trajnimit, dhe më pas mora një ftesë për të punuar si zhvillues Java. Por kjo, siç thonë ata, është një histori krejtësisht tjetër, dhe kjo nuk është ajo që dua t'ju tregoj.

Kam lexuar vetëm një libër mbi programimin

Mund të thuash që jam autodidakt.

Jam i sigurt se programimi është një fushë që mund ta kuptoni vetë pa leksione të gjata teorike në universitet.

Para se të filloja seriozisht të mësoja programimin në Java, lexova vetëm një libër rreth programimit. Ishte një kurs "C++ në 21 ditë".

Nuk do të them që nuk më pëlqeu ose se gjithçka dukej shumë e ndërlikuar dhe e panevojshme, por prapë u vendosa në Java. Nga rruga, tani në punë duhet të programoj jo vetëm në Java, por edhe në "plus", kështu që nuk ka njohuri të padobishme.

Pse zgjodha Java?

  • Për mendimin tim, Java është ndoshta e vetmja gjuhë programuese që nuk merr shumë kohë nga fillimi i mësimit të saj deri në marrjen e produktit përfundimtar. Ndoshta unë jam lloji i personit që dëshiron ta "ndjej" shpejt rezultatin. Teoria e pastër nuk më tërheq vërtet.
  • Kisha një synim specifik përpara meje. E kuptova që do të ishte jashtëzakonisht e vështirë për mua të gjeja një punë si programues; në një intervistë të ardhshme do të më duhej të tregoja të paktën diçka dhe të them: "Unë nuk kam përvojë pune, një diplomë nuk është saktësisht ajo që më duhet, por Unë e kam këtë - shikoni." Por për fat të mirë kam gjetur një punë përmes një stazhi.
  • Tani ka një numër të madh udhëzuesish të ndryshëm për zhvillimin e aplikacioneve për OS. Pra, këtu gjithçka përputhej fjalë për fjalë për mua: kishte mjaft materiale për stërvitje dhe ekzistonte mundësia për të marrë një rezultat lehtësisht të prekshëm relativisht shpejt.

Me pak fjalë, pas një kursi të shkurtër në C++, mora një lloj mësimi Java për fillestarët. Nuk e mbaj mend si quhej, më kujtohet vetëm se e ndalova së lexuari para se të shkoja në mes. Doja të "ikja" sa më shpejt që të ishte e mundur.

Pastaj pashë shumë udhëzues për fillestarët dhe mund të them me siguri: nuk ka asnjë ndryshim thelbësor midis tyre. Ata janë pothuajse të njëjtë. Për të gjetur diçka, ju vetëm duhet të shkruani "libër për java starter" në pyetje dhe niseni.

Kam gjetur shumë përgjigje për pyetjet e mia në këtë kanal telegram.

Ka pak burime programimi në gjuhën ruse në internet. Merren me të

Po, dhe një gjë më e rëndësishme. Ju duhet të pajtoheni me faktin se në segmentin në gjuhën ruse të rrjetit ka mjaft libra dhe burime për programimin në krahasim me numrin e burimeve në gjuhën angleze.

Sigurisht, në programim pa njohuri të gjuhës angleze në një nivel të mirë, thjesht nuk ka asnjë mënyrë. Pra, për ata që e njohin anglishten në nivelin e Google Translator, mund të këshilloj vetëm një gjë: përmirësoni fillimisht anglishten tuaj. Gjithçka tjetër vjen më vonë.

Sigurisht, jo gjithçka është aq e trishtuar: ekziston "Mjetet e Zhvilluesve të Google" në Rusisht. Por në çdo rast, këtu nuk duhet të filloni.

E di që ka kurse të ndryshme programimi në internet - me pagesë dhe falas - por doli që mund të bëja pa to. E cila flet edhe një herë në favor të argumentit tim origjinal se programimi mund të mësohet pa ndihmën e askujt.

Ku fillova të "dështoj"

Pasi kuptova pak për Java për Android, fillova pak nga pak me shembujt tipikë të aplikacioneve - nga të thjeshta në më komplekse. Në atë kohë, unë tashmë e dija se çfarë lloj aplikacioni doja të krijoja përfundimisht.

Më ndihmoi një mik i cili sugjeroi të shkruaj një aplikacion edukativ për nxënësit e shkollës. Mendova dhe e ushqeva idenë për një kohë të gjatë. Shikova listën e atyre ekzistuese dhe u sigurova që kishte pak aplikacione të ngjashme, pas së cilës fillova t'i zhvilloj ato.

Ndoshta gjëja më e vështirë për mua ishte të gjeja temë e mirë për një projekt të plotë. Nuk e di nëse kjo është një pengesë apo jo, por unë jam ndërtuar në atë mënyrë që nëse tema është e mirë, nëse më pëlqen ideja dhe jam i emocionuar për të, nuk kam probleme me motivimin. . Nuk ka probleme me motivimin - nuk ka fare vështirësi të pakapërcyeshme.

Cilat burime mund të ndihmojnë një fillestar?

  • stackoverflow.com.

Atje, me një probabilitet deri në 90%, mund të merrni një përgjigje gjithëpërfshirëse për pyetjen që hasni në zhvillim.

  • Depo me burime Github.com.

Ai me të vërtetë më ndihmoi të mësoja nga shembujt e njerëzve të tjerë.

  • YouTube

Aty ka shumë ekrane që ju lejojnë shumë shpejt të kuptoni një teknologji të caktuar.

Kam zhvilluar aplikacionin tim të parë brenda një muaji

Me pak fjalë, e bëra aplikimin fjalë për fjalë në një muaj. Burimet më të dobishme të njohurive ishin Developer.android.com dhe i njëjti Stackoverflow.com. Gjëja më interesante është se procesi rutinë i ngarkimit të një aplikacioni në Google Play u deshën dy muaj të tërë. Edhe pse, ndoshta, gjithçka zgjati kaq shumë, sepse pas zhvillimit pasioni im u fto pak. Pak më vonë, zhvillova një version në internet të aplikacionit pasi lexova librin Fillimi Java EE 7.

Nuk do të doja ta mbyllja historinë time me ndonjë frazë banale për faktin se "gjithçka është në duart tona" dhe "ju duhet vetëm ta dëshironi". Natyrisht, jo të gjithë, dhe e kuptoj që ende mora një punë si programues falë disa fatit: çfarë do të kishte ndodhur nëse nuk do të kisha hasur në këtë postim në VK?

Për më tepër, nuk dua të zvogëloj në asnjë mënyrë rëndësinë e një arsimi universitar dhe të them: “Pse është e nevojshme e gjithë kjo? Shikoni, gjithçka funksionoi ashtu.” Duhet të. Universiteti në fakt të jep shumë dhe, ndoshta më e rëndësishmja, të rrënjos zakonin e të mësuarit.

E megjithatë: ju mund të mësoni të programoni vetë. Tani e di me siguri këtë.

Ky artikull nuk është një udhëzues kodimi. Dhe jo një postim për "cilën gjuhë programimi të zgjedhësh". Nëse doni të kuptoni se sa jeni të interesuar të mësoni rreth botës së kodit, atëherë pyetja më e rëndësishme është: çfarë është programimi? Si duket programimi nga brenda? A janë unë dhe programimi i pajtueshëm?

Parimi i "logjikës, jo matematikës"

Një nga keqkuptimet më të mëdha që kanë programuesit e rinj është se programimi është plot me matematikë. Nëse mendoni se programimi do t'ju bëjë të mbani mend njohuritë tuaja shkollore për trigonometrinë, algjebër etj., atëherë e keni gabim. Kjo lloj matematike është e rrallë në programim.

Nga përvoja, gjërat "thjesht matematikore" përfshijnë, për shembull, renditjen e veprimeve në një shprehje dhe sistemin e koordinatave. Asgjë shumë e komplikuar. Përkundrazi, ka shumë logjikë. Nevoja për të menduar përpara, për të kuptuar se në çfarë rendi duhet të bëhen gjërat dhe si ta kontrolloni atë rrjedhë, përshkon çdo aspekt të programimit. Nëse keni një aftësi për logjikë, atëherë do të jetë e lehtë për ju të filloni të përballeni me detyrat e programimit.

Parimi i "kapjes së një ylli në rënie"

Programimi mund të shihet si ekzekutimi i shumë "proceseve" - ​​sikur ta detyron kompjuterin "të bëjë punën për ju" - dhe të menaxhojë ato procese. Në programim, një proces shpesh prodhon një rezultat. Rezultati mund të jetë një skedar, por mund të jetë edhe diçka më e thjeshtë, si një varg ose një numër.

Problemi me punën me proceset është se nëse nuk bëni asgjë me rezultatet e tyre, ato thjesht shpërbëhen. Në kuptimin e mirëfilltë, ato "shkojnë në harresë", nuk rikrijohen kurrë, shumë të ngjashme me yjet që shkëlqejnë në qiell dhe zhduken. Me fjalë të tjera, ju duhet t'i "kapni ato".

Nëse krijoni diçka me një proces, duhet ta kapni atë ose do ta humbisni. Këtu hyjnë në lojë variablat - si një mënyrë për të "kapur" rezultatet e një procesi. Ky parim ndihmon shumë për të kuptuar se çfarë është programimi në fazat e hershme të të mësuarit. Dhe nëse e kapni herët, do t'ju duket shumë e dobishme.

Parimi i "fjalorit".

Ka shumë "lloje" në programim. Mendoni për llojet si blloqet ndërtuese të një gjuhe programimi. Një lloj është një varg, ose një koleksion karakteresh brenda thonjëzave. Të dy "mollë" dhe "portokalli" janë vargje. Ato, për shembull, mund të kombinohen dhe të bëhen "mollë-portokalli". Numrat janë një lloj tjetër. Numrat mund të shtohen, zbriten, shumëzohen (ndër veprimet e tjera). Pastaj ka "vargje" - një grup objektesh në një rend të caktuar. ["First", "goes", "fore", "second"], për shembull, është një grup me elementin e parë "First" dhe elementin e fundit "second".

Por ndoshta një nga llojet më të fuqishme është hash, ose çifti çelës-vlerë. Hashi ka shumë emra. Në Ruby kjo është "hash". Në JavaScript quhet "objekt". Ndoshta Python i dha një emër më të mirë: "fjalor". Nëse mendoni pak, një fjalor është një grup çelësash (fjalësh) që tregojnë kuptimet e tyre.

Por pse ka rëndësi kjo? Rezulton se një strukturë e tillë shpesh nevojitet për të ruajtur të dhënat. Për shembull, ju mund të paketoni informacione për një person në këtë mënyrë:

("first_name" => "Jonathan", "last_name" => "Richards", "nationality" => "British" )

Ka tastet "first_name" (emri i parë), "last_name" (mbiemri), etj. Këto janë si vetitë ose atributet e një personi. Ju gjithashtu mund të shtoni "ngjyra_flokeve" (ngjyra e flokëve), "mosha" (mosha) ose "gjinia" (gjinia). Dhe secili prej këtyre çelësave ka një kuptim. Një pjesë e rëndësishme e programimit përfshin përcaktimin e formateve të strukturave të të dhënave. Dhe çiftet me vlerë kyçe po bëhen armët më të vlefshme në arsenalin tuaj, kështu që është e dobishme të kuptoni se si funksionojnë ato sa më shpejt që të jetë e mundur.

Parimi "matryoshka".

Programimi është plot me objekte që janë brenda objekteve brenda objekteve të tjera. Kur programoni, shpesh e gjeni veten duke u përpjekur të strukturoni të dhëna, dhe shpesh ato struktura përmbajnë struktura të tjera brenda tyre.

Le të shtojmë veçorinë "shirls" në shembullin e mëparshëm:

("first_name" => "Jonathan", "last_name" => "Richards", "nationality" => "British", "siblings" => ( "brothers" => , "moters" => ["Fiona", "Maria"] ))

Ju do ta shihni këtë parim gjatë gjithë programimit tuaj. Në HTML, disa elementë përmbajnë elementë të tjerë:

Në kompjuter, objektet janë kryesisht programe ose skedarë. Ky është një parim jashtëzakonisht i dobishëm. Në programim, shpesh do të dëgjoni termat "in" dhe "jashtë" - hyrje dhe dalje. Arsyeja është se detyra shpesh është të marrësh input (input), ta përpunosh atë (përpunosh) dhe të bësh ndryshime (output). Përpunimi bëhet nga procese (bite aktive) që kontrollohen nga kodi juaj. Bitet pasive janë të dhëna mbi të cilat funksionojnë proceset. Gjithçka është si ta ktheni mishin e grirë në sallam.

Parimi "qeni, macja dhe peshku".

(ose parimi i shkakut dhe pasojës)

Imagjinoni që keni një dhomë. Në këtë dhomë ka një mace dhe një peshk në një tas. Peshku sillet si zakonisht. Në një moment të caktuar ndodhin 2 gjëra: qeni hyn në dhomë dhe macja del nga dhoma. Në të njëjtën kohë, peshku fillon të këndojë. Pyetje: Çfarë e bëri peshkun të këndonte?

Ka shumë mundësi për t'u marrë parasysh. Mund të supozojmë se kjo ndodhi sepse një qen hyri. Dhe mund të supozojmë se arsyeja është se macja doli. Apo ndoshta arsyeja është një kombinim i të dyja ngjarjeve. Ndoshta të dyja ngjarjet nuk kanë asnjë lidhje me të. Por fakti është se ora 18:17 është koha kur një peshk kthehet në shtrigë. Ndoshta të gjithë peshqit këndojnë. Disa nga këto opsione mund të jenë të vërteta.

Ajo që është me të vërtetë e rëndësishme për një programues është të jetë në gjendje të izolojë shkaqet e ndryshimit. Ju do të hasni situata të tilla për sa kohë që kodoni. Në situata të tilla, mund të pyesim veten: a mund të simulojmë hyrjen e qenit pa dalë macja (kjo mund të sqarojë shumë); a mund të simulojmë një mace që del pa hyrë qen; a mund ta përsërisim plotësisht mjedisin (p.sh. ora 6:17 pasdite) për të parë nëse ai ndikon në këndimin e peshkut, pavarësisht nga qentë dhe macet? Dhe kështu me radhë. Është e rëndësishme të përdoret një metodologji për të përcaktuar arsyet e ndryshimit. Kjo aftësi do t'ju ndihmojë vazhdimisht për sa kohë që kodoni.

Abstraksionet, ose parimi i "picës".

Ky është një nga parimet më të ndërlikuara. Imagjinoni një piceri. Çdo ditë shefi përgatit pica me maja të ndryshme. Çdo picë përgatitet në një rend të caktuar: fillimisht përgatit brumin, më pas e lëmë, më pas e vendosim në tepsi, i shtojmë salcën e domates, mbushjet, djathin dhe në fund e pjekim.

Por natyrisht, shefi i kuzhinës nuk e përgatit çdo picë nga e para në rendin e përshkruar këtu. Do të duheshin vite. Përkundrazi, ai përgatit gjithçka paraprakisht, dhe kur bëhet fjalë për napolitan, i mbetet vetëm të marrë bazën (e cila tashmë është formuar), të shtojë salcën e domates, açugat dhe djathin dhe më pas ta piqet në furrë.

Gjëja e rëndësishme për të kuptuar këtu është se kuzhinieri duhet të dijë vetëm përbërësit për çdo picë specifike, por përndryshe të gjitha picat janë të ngjashme me njëra-tjetrën. Programimi duket shumë i ngjashëm, ju përdorni "abstraksione" për të ruajtur të dhëna më të përgjithshme (si korja e një pice) duke e ndarë atë nga të dhënat më specifike (mbushjet).

Le ta kthejmë prodhimin e picës në kod. Së pari le të fillojmë ta bëjmë atë gabim. Le të bëjmë një metodë make_a_napoletana_pizza (bërë pizza napoletane):

Bëni_a_napoletana_picë

Do të ketë 5 hapa (bëni bazën, shtoni salcë domate, shtoni açuge, shtoni djathë, piqni):

Make_the_base add_the_tomato_sauce add_anchovy add_cheese bake

E madhe. Por çfarë nëse duam të bëjmë një picë sallami? Do të detyrohemi të shkruajmë një metodë krejtësisht të re make_a_salami_pizza (bërë pica sallami), e cila do të ketë shumë të përbashkëta me metodën aktuale, përveç se do të shtojë sallam në vend të açuges. Kjo është disi e shtrenjtë. Qasja e programuesit është të "abstraktojë" pjesët e zakonshme të teknikave të bërjes së picave dhe të marrë parasysh përbërësit e ndryshëm, specifikë. Këtë mund ta bëjmë me një “argument” që i “kalohet” metodës.

Kjo është ajo që do të thotë. Le të imagjinojmë që metoda jonë make_a_pizza thirret me argumentin "toppings". Metoda do të duket diçka si kjo:

Bëj_a_pizza (mbushjet)

Dhe do të funksionojë si kjo:

Make_the_base add_the_tomato_sauce add_toppings(toppings) add_cheese bake

Në rreshtin 3 marrim mbushjet e përcaktuara më parë dhe ia shtojmë picës.

Tani që kemi përcaktuar një metodë të përgjithshme për të bërë pica, thjesht mund ta quajmë atë dhe të specifikojmë përbërësit që duam. Gjithçka ndodh automatikisht. Me fjalë të tjera, ne e quajmë make_pizza(salami), dhe kur të funksionojë metoda, sallami do të bëhet mbushje dhe do t'i shtohet picës kur metoda të arrijë në rreshtin e 3-të. Thjesht duke ndryshuar mbushjet, mund të krijoni 2 pica të ndryshme duke përdorur një metodë. Është po aq ekonomike sa kur kamarierja shkruan në formularin e porosisë thjesht "1 x sallam, 1 x vegjetarian" dhe kuzhinierja di gjithçka që i nevojitet. Në programim kjo quhet "abstraksion".

Pra, ja ku e keni: shtatë parime që zakonisht mësohen në 3 vitet e para të programimit dhe që japin një kontribut të rëndësishëm për të kuptuar artin e kodimit. Nëse po filloni udhëtimin tuaj, këto parime mund t'ju ndihmojnë gjithashtu.

Irina Davydova


Koha e leximit: 13 minuta

A A

Të gjithë zgjedhin profesionin e "programuesit" për arsyen e tyre specifike. Njëri vendosi të ndryshojë thjesht specialitetin e tij, i dyti detyrohet të mësojë një profesion tjetër, i treti nuk e kupton veten pa kode dhe dikush hyn në profesion thjesht nga kurioziteti.

Në një mënyrë apo tjetër, të gjithë fillojnë nga e para. Dhe para se të filloni nga e para, pyesni veten, a keni vërtet nevojë për këtë profesion?

Thelbi i punës së një programuesi - specializimet kryesore, të mirat dhe të këqijat e punës

Thelbi i punës së një programuesi varet nga specializimi dhe kompania.

Sidoqoftë, ndonjëherë një programues është edhe "suedez, korrës dhe trumpetist". Por kjo, si rregull, ndodh në kompani të vogla, shefat e të cilave kursejnë te specialistët.

Kategoritë kryesore në të cilat të gjithë programuesit mund të ndahen afërsisht sipas aktiviteteve të tyre:

  • Specialistët e aplikimit. Detyrat: zhvillimi i softuerit për lojëra, redaktorë, kontabilitet/programe, mesazhe të çastit, etj.; zhvillimi i softuerit për sistemet e mbikqyrjes audio/video, sistemet e alarmit, etj.; përshtatja e programeve për t'iu përshtatur nevojave specifike të dikujt.
  • Specialistët e sistemit. Detyrat: zhvillimi i sistemeve operative, krijimi i ndërfaqeve me bazat e të dhënave, administrimi i një sistemi kompjuterik, puna me rrjetet, monitorimi i funksionimit të sistemeve të krijuara, etj. Këta specialistë fitojnë më shumë se kushdo tjetër në fushën e tyre, për shkak të rrallësisë dhe specifikës së profesionit.
  • Specialistët e internetit. Detyrat: puna me internetin, krijimi i faqeve të internetit dhe faqeve të internetit, zhvillimi i ndërfaqeve në internet.

Përparësitë e profesionit përfshijnë përparësitë e mëposhtme:

  1. Një pagë shumë e mirë.
  2. Kërkesa e lartë për specialistë të mirë.
  3. Mundësi për të marrë një punë prestigjioze pa arsim.
  4. Mundësia për të fituar para nga distanca ndërsa jeni ulur në shtëpi në divan.
  5. Mundësi për të punuar në distancë për kompani të huaja.
  6. Profesioni krijues (megjithatë, kreativiteti shpesh varet nga dëshirat e klientit).
  7. Kushte komode që kompanitë e mëdha u ofrojnë specialistëve të tyre (pije/simite falas, vende të veçanta për rekreacion dhe sport, etj.).
  8. Mundësia për të marrë një "opsion". Kjo do të thotë, një bllok aksionesh në kompani. Vërtetë, vetëm pasi të keni shërbyer një periudhë të caktuar kohore në kompani.
  9. Zgjerimi i horizontit tuaj. Ndërsa zhvillohesh në profesionin tënd, duhet të njihesh me një sërë fushash të jetës dhe të thellohesh në një sërë sistemesh - nga puna në zyrë dhe kontabiliteti, etj.

Minuset:

  • Puna “gjatë gjithë ditës” është e zakonshme në këtë profesion.
  • Kjo punë do të jetë e mërzitshme dhe monotone për shumë njerëz.
  • Interesat e specialistit dhe klientit jo gjithmonë përkojnë, dhe ajo që është e dukshme për programuesin, si rregull, nuk mund t'i shpjegohet fare klientit. Kjo çon në konflikte dhe stres.
  • Mënyrat e funksionimit të urgjencës nuk janë të rralla.
  • Nevoja për t'u zhvilluar vazhdimisht, për të mësuar gjëra të reja dhe për të pasur kohë për të evoluar me sferën e IT. Në vetëm pak vite, programet bëhen të vjetruara dhe duhet të shkruhen të reja.

Video: Si të bëheni programues?

Cilësitë e nevojshme personale dhe të biznesit, aftësitë dhe aftësitë profesionale për të punuar si programues - çfarë duhet të dini dhe të jeni në gjendje të bëni?

Cilësitë kryesore të një programuesi të mirë

Një programues i mirë duhet të...

  1. Duajeni punën tuaj. Dhe jo vetëm të duash - të jesh i sëmurë nga kjo.
  2. Dua të mësosh dhe të mësosh nga e para.
  3. Jini shumë punëtorë, të zellshëm dhe të durueshëm.
  4. Jini të përgatitur për punë të vazhdueshme rutinë.
  5. Të jetë në gjendje të punojë në një ekip.

Çfarë njohurish ka nevojë për një programues të ardhshëm?

Ju duhet të filloni duke studiuar ...

  • Në Anglisht.
  • Pajisjet kompjuterike dhe fizika e të gjitha proceseve.
  • Gjuhët e programimit.
  • Metodologjia e zhvillimit të softuerit.
  • Metodologjia e testimit të softuerit.
  • Sistemet e kontrollit të versionit.

Gjuha e programimit – me cilën të filloni?

Ju gjithashtu do të duhet të studioni ...

  • Java. Më popullor se Python dhe një zgjedhje e mirë për një fillestar. Por më kompleks se Python.
  • PHP. Projektuar për ueb, por do të jetë i dobishëm për çdo fillestar.
  • C dhe C#. Gjuhë shumë komplekse, mund t'i lini për më vonë.
  • Rubin. Një opsion i mirë për një gjuhë të dytë.
  • Xhango. Ai do t'ju mësojë se si të programoni saktë. Ngjashëm në kompleksitet me Python.

Shumë varet nga drejtimi i zgjedhur.

Për shembull…

  1. Një programues ueb do të përfitojë nga njohuritë e HTML, CSS dhe JavaScript.
  2. Për programues desktop - API dhe korniza.
  3. Për zhvilluesin e aplikacionit celular - Android, iOS ose Windows Phone.

Ku të studioni për të qenë programues nga e para - institucionet arsimore në Rusi, kurse, mësim në distancë, mësim në internet?

Nëse nuk keni miq që mund t'ju mësojnë profesionin e një programuesi nga e para, atëherë keni disa mundësi trajnimi:

  • Vetë-edukimi. Rruga më e vështirë drejt programimit, e cila qëndron përmes studimit të faqeve, aplikacioneve, librave, etj.
  • universiteti. Nëse sapo keni mbaruar shkollën dhe ëndërroni të merrni një profesion prestigjioz si programues, regjistrohuni në fakultetin përkatës. Do të fitoni akoma njohuri themelore përmes vetë-edukimit, por "korja" do t'ju ndihmojë të afroheni më shpejt me qëllimin tuaj të dashur. Zgjidhni universitetet teknike, pasi të keni studiuar paraprakisht programet e trajnimit.
  • Mësues personal . Nëse mund të gjeni një mentor mes programuesve, vetë-mësimi do të jetë më i shpejtë dhe më efektiv. Kërkoni mentorë në forume në internet, në parti IT, konferenca tematike, etj.
  • Kurse. Ata mund t'ju mësojnë këtë apo atë gjuhë programimi në kurse të thjeshta që mund të gjenden edhe në qytete të vogla. Për shembull, " Portali arsimor i IT GeekBrains", « Specialist” në MSTU Bauman, « Akademia Kompjuterike HAPI", MASPC.

Ju mund të merrni një arsim të lartë si programues në…

  1. MEPhI.
  2. Universiteti i Ekonomisë Ruse Plekhanov.
  3. Universiteti Shtetëror i Inxhinierisë së Ndërtimit në Moskë.
  4. MSTU Bauman.
  5. Universiteti Shtetëror i Menaxhimit.

Video: 7 gabime që bëjnë programuesit fillestarë

Burime dhe libra të dobishëm në internet për të mësuar të jesh programues

  • habrahabr.ru (artikuj mbi tema të IT, informacione për një sërë temash). Ky burim është i njohur për çdo programues.
  • rsdn.org (libra, çështje aktuale, forum i dobishëm, plotësimi i boshllëqeve të njohurive, materiale në Rusisht).
  • sql.ru (forum i shkëlqyeshëm i përshtatshëm, literaturë e dobishme dhe madje edhe oferta pune).
  • theregister.co.uk (lajme nga sektori i IT).
  • opennet.ru (lajme, artikuj të dobishëm, forum, etj.). Një burim për profesionistët.
  • driver.ru (biblioteka e shoferit). Faqe e dobishme për fillestarët.

Burimet mësimore:

  1. ocw.mit.edu/courses (mbi 2000 kurse me tema të ndryshme).
  2. coursera.org (më shumë se 200 kurse, falas).
  3. thecodeplayer.com (udhëzues hap pas hapi për fillestarët).
  4. eloquentjavascript.net (burim për hyrje në Java Script).
  5. rubykoans.com (për këdo që mëson Ruby).
  6. Learncodethehardway.org (mësoni Python, Ruby, C, etj.).
  7. udemi.com (kurse me pagesë dhe falas).
  8. teamtreehouse.com (mbi 600 mësime).
  9. webref.ru/layout/learn-html-css (për zotërimin e HTML dhe CSS).
  10. getbootstrap.com (duke eksploruar veçoritë e Bootstrap).
  11. Learn.javascript.ru (përparësi mësimore dhe Javascript).
  12. backbonejs.org (për zhvilluesit e frontit).
  13. itman.in/uroki-django (për të mësuar Django).

Faqet e mësimit falas për të ndihmuar fillestarët:

  • ru.hexlet.io (8 kurse falas në C dhe PHP, JavaScript dhe Bash).
  • htmlacademy.ru (18 kurse falas për dizajnerët e paraqitjes).
  • codecademy.com (kurse të njohura për gjuhët, mjetet, etj.).
  • codeschool.com (më shumë se 60 kurse (13 falas) në HTML/CSS dhe JavaScript, Ruby dhe Python, iOS dhe Git, etj.).
  • checkio.org (për të mësuar Python dhe JavaScript).
  • codingame.com (të mësuarit përmes videolojërave, 23 gjuhë programimi).
  • codecombat.com (mësoni JavaScript, Python, etj.). Një lojë edukative që është gjithashtu e aksesueshme për ata që nuk flasin ende anglisht.
  • codehunt.com (trajnim për gjetjen e gabimeve në kod).
  • codefights.com (një platformë trajnimi përmes turneve në të cilat mund të merrni një intervistë në një kompani të mirë IT).
  • bloc.io/ruby-warrior# (duke mësuar Rubin dhe artet/inteligjencën).
  • theaigames.com (zhvillimi i aftësive programuese - një imitues emocionues i lojërave në internet për një programues).
  • codewars.com (një koleksion detyrash ndërvepruese edukative për ata që kanë një minimum njohurish).

Zakonisht duhen nga gjashtë deri në 12 muaj për të mësuar bazat e programimit vetë.

Si të gjeni shpejt një punë si programues dhe të filloni të fitoni para - këshilla nga njerëz me përvojë

Natyrisht, thjesht nuk do të jeni në gjendje të gjeni një punë në një kompani normale pa përvojë pune.

Kjo është arsyeja pse…

  1. Lexoni libra, studioni faqet e internetit dhe edukohuni, por tani filloni të shkruani rreshtat e parë të kodit.
  2. Krijoni dhe ndërlikoni detyrat tuaja bazuar në materialin që keni mbuluar.
  3. Kërkoni për projektet tuaja të para, madje edhe për "para qesharake", shkruani në "CV".
  4. Kërkoni punë në shkëmbimet e pavarura në gjuhën ruse (ru) dhe në shkëmbimet në gjuhën angleze (upwork.com) gjithashtu - ka më shumë shanse për ta marrë atë atje.
  5. Filloni me projekte të vogla që mund t'i trajtoni.
  6. Mos e humbisni opsionin me burim të hapur (projekte të tilla gjithmonë u mungojnë njerëzve).
  7. Ndihmoni "për një qindarkë të bukur" (ose edhe falas, për përvojë) programuesve që njihni. Lërini t'ju japin detyra të thjeshta.

  • Sigurohuni që të shkruani: përvojën tuaj të punës, një listë të gjuhëve dhe teknologjive që flisni, arsimin dhe kontaktet.
  • Ne nuk e vendosim të gjithë listën e cilësive dhe talenteve tona në rezymenë tonë. Edhe nëse luani me mjeshtëri fizarmonikën me butona, nuk duhet të shkruani për të në CV.
  • Dizajnoni CV-në tuaj që të jetë kreative, por e rëndësishme.
  • Ju nuk duhet të plotësoni artikuj si "qëllimet dhe ambiciet tuaja" ose "ku e shoh veten pas 5 viteve". Mjafton të shkruani atë që keni bërë më parë dhe atë që dëshironi të bëni tani.
  • Mos shkruani për gjuhët dhe teknologjitë që i dini vetëm me emër. Në rezyme duhet të shkruani vetëm ato në të cilat notoni si peshku në ujë. Për gjithçka tjetër ekziston një frazë magjike - "kishte pak përvojë".
  • Nëse jeni të aftë në Delphi, mos harroni të përmendni se dini edhe C#, Jave ose një gjuhë tjetër, sepse askush nuk ka nevojë vërtet për një "programues Delphi" (Delphi është bazat me të cilat çdo i diplomuar njihet).
  • Mos përmendni punën që nuk ishte në specialitetin tuaj. Askush nuk është i interesuar për këtë. Gjithashtu, askujt nuk i intereson nëse keni patentë shoferi apo makinë. Ju nuk do të gjeni një punë si korrier.

Perspektivat e karrierës së programuesit dhe pagat e programuesve

Paga mesatare e një programuesi në qytetet kryesore të vendit është: nga 50,000 në 200,000 rubla.

Për Rusinë në tërësi - nga 35 mijë në 120 000.

Profesioni është në listën e më të kërkuarve - dhe më të paguarit. Edhe një specialist modest mund të fitojë mjaftueshëm për të blerë një sanduiç me havjar, por një profesionist definitivisht nuk do të ketë nevojë për para.

Nga një praktikant në kreun e një departamenti të IT-së, rruga nuk është aq e gjatë dhe paga në krye mund të arrijë 4000 dollarë në muaj. Epo, atëherë mund të kaloni në drejtimin e një projekti të madh (përafërsisht - zhvillimi i softuerit), dhe këtu paga tashmë tejkalon 5,000 dollarë.

Sot është e vështirë të imagjinohet jeta jonë pa gjëra të tilla që tashmë janë bërë gjëra të përditshme si laptopët dhe kompjuterët personalë, telefonat inteligjentë dhe konzolat, terminalet në supermarkete, sistemet e automatizuara bankare, etj. Kjo listë mund të vazhdojë për një kohë të gjatë, por të gjithë kanë një gjë të përbashkët - janë programuesit ata që fusin "trurin" në këto pajisje moderne inteligjente.

Por, përpara se të zgjidhni këtë profesion, duhet të kuptoni qartë se ku të filloni në mënyrë që të arrini sukses në këtë fushë të vështirë.

Kushdo që ka aftësi bazë, njohuri dhe një dëshirë të madhe mund të bëhet programues. Përveç kësaj, ju duhet të vendosni se në cilin drejtim të programimit dëshironi të punoni më shumë. Në këtë rast, ekzistojnë tre drejtime kryesore.

1. Programuesit e uebit janë linja më e thjeshtë e punës. Përfshin:

  • Layout designer që krijon shabllone (dizajn i faqes në internet);
  • Programuesi i serverit që krijon një skript uebsajti.

2. Programuesit e softuerit (niveli mesatar i kompleksitetit) ndahen në:

  • zhvillues softuerësh;
  • Zhvilluesi i programit të sistemit.

3. Programuesit që zhvillojnë lojëra për PC, telefona celularë, konzola - fusha më e vështirë e punës.

Sa kohë ju duhet për të studiuar?

Gjithçka varet nga dëshira dhe intensiteti i marrjes së njohurive teorike dhe aftësive praktike. Megjithatë, ekziston një rregull i pashkruar që çdo gjë mund të mësohet brenda një viti. Gjëja kryesore është të kesh dëshirën për të mësuar dhe për të fituar vazhdimisht aftësi të reja. Për sa i përket moshës në të cilën mund të zotërohet ky profesion, ka edhe një çështje vendosmërie. Disa në moshën 18-20 vjeç nuk kanë dëshirë dhe energji jetike, ndërsa të tjerë duke qenë në moshën e pensionit i arrijnë lehtësisht objektivat që i kanë vënë vetes.

Cilat njohuri dhe cilësi nevojiten?

Të rinjtë që duan të lidhin jetën e tyre me programimin në moshën shkollore duhet të kuptojnë se edukimi që marrin duke u ulur në tavolinat e tyre do t'ua lehtësojë ndjeshëm detyrën e zotërimit të këtij profesioni.

Nga planprogrami shkollor vëmendje e veçantë duhet t'i kushtohet lëndëve të mëposhtme:

  1. Matematikë e lartë. Përveç aftësisë për të kryer llogaritjet e zakonshme, kjo është një nga lëndët e pakta shkollore që ju detyron të mendoni, analizoni, zhvilloni të menduarit abstrakt dhe të ndërtoni përfundime personale. Këto janë aftësitë që një person duhet të ketë;
  2. Gjuhe angleze. Në këtë rast, kërkohet të paktën një "nivel mesatar me një fjalor". Në mënyrë ideale, kjo do të thotë njohje e mirë e një gjuhe teknike dhe aftësi për të përkthyer tekste të specializuara. Në fund të fundit, në pjesën më të madhe, do t'ju duhet të studioni dhe përdorni dokumentacion, të blini softuer të ndryshëm dhe gjithashtu të negocioni me palët e huaja me një zotërim të sigurt të gjuhës angleze;
  3. Shkenca kompjuterike (teoria e programimit). Është e nevojshme të kuptohen llojet e të dhënave dhe bazat e punës me bazat e të dhënave, operatorët bazë dhe gjuhët e programimit (në kurrikulën shkollore këto janë Pascal dhe C++), si dhe bazat e programimit të orientuar nga objekti;
  4. Fizika. Shumë njerëz besojnë se njohja e kësaj lënde është absolutisht e padobishme për të zotëruar profesionin e një programuesi. Por ky mendim mund të quhet i gabuar. Në fund të fundit, kjo fushë e punës mund të lidhet ngushtë me fizikën. Për shembull, krijimi i një simulatori të një anijeje hapësinore ose detare, si dhe lojëra kompjuterike që janë sa më afër realitetit. Mund të bëhen të nevojshme njohuritë për incidencën dhe thyerjen e dritës, krijimin e lëvizjes dhe lëvizjeve reale të një makine në kushte të ndryshme moti, shfaqjen reale të ujit, tymit ose zjarrit, etj.

Cilësitë e nevojshme për punë:

  1. Zotërimi i të menduarit të jashtëzakonshëm dhe logjik;
  2. të menduarit matematik;
  3. Aftësia për të menaxhuar kohën (duke mos harruar vetë-mësimin e vazhdueshëm);
  4. Aftësia për të ndarë një detyrë të madhe në nën-detyra;
  5. Aftësia për të zgjedhur qëllimin e duhur dhe për të pasur dëshirën për ta arritur atë;
  6. Aftësi për të punuar në një ekip të madh. Ju nuk mund të përballoni projekte të mëdha vetëm, dhe projektet e vogla nuk janë veçanërisht të kërkuara. Është e nevojshme të diskutohen çështje të paqarta me kolegë më me përvojë dhe të plotësohen boshllëqet e njohurive;
  7. Aftësia për të mësuar shpejt. Teknologjitë nuk qëndrojnë ende. Prandaj, përveç punës ekzistuese në projektet tuaja, ju duhet të monitoroni vazhdimisht dhe të jeni të vetëdijshëm për ndryshimet më të fundit në fushën e teknologjisë së informacionit.

Njohuri dhe aftësi minimale

Sipas inxhinierëve dhe programuesve në Google, çdo specialist që respekton veten në fushën e programimit duhet të ketë një sërë njohurish dhe aftësish minimale në mënyrë që të bëhet profesionist në të ardhmen. Dhe kështu, çfarë duhet të dini për t'u bërë një specialist i nivelit të lartë:

  • Mësoni bazat e njohurive kompjuterike duke përdorur kurse të mësimit në distancë nga Coursera ose Udacity;
  • Të fitojë njohuri të programimit në të paktën një gjuhë (Python, C++, Java);
  • Mësoni gjuhë të tjera (PHP, Java Script, HTML, CSS);
  • Mësoni të testoni kodin;
  • Mësoni të kuptoni algoritmet dhe strukturat e të dhënave;
  • Të fitojnë njohuri në matematikë diskrete;
  • Studimi i veçorive të sistemeve operative;
  • Të fitojnë njohuri për inteligjencën artificiale;
  • Mësoni të krijoni përpilues;
  • Të fitojë njohuri për kriptografinë dhe programimin paralel.

Gjatë fillimit të punës praktike, ekspertët e lartpërmendur këshillojnë:

  • Krijoni uebsajtin, serverin ose robotin tuaj;
  • Zhvilloni një pjesë të një sistemi të madh, kuptoni dokumentacionin dhe kodet dhe korrigjoni programin;
  • Filloni të punoni në një projekt të madh si ekip. Kjo do t'ju lejojë të mësoni më shpejt dhe të mësoheni me ndërveprimin në ekip;
  • Përmirësoni vazhdimisht njohuritë dhe aftësitë tuaja;
  • Filloni punën për të mësuar të tjerët.

Ku mund të marr njohuritë e nevojshme?

Ju mund të merrni njohuritë e nevojshme teorike dhe praktike në fushën e programimit në disa mënyra:

  1. Mësoni nga librat dhe revistat. Ky opsion mund të quhet standard dhe i provuar për shumë vite. Sidoqoftë, për të kursyer blerjen e "media letre", mund të shkarkoni informacionin më të rëndësishëm për çështjet e programimit nga burimet e Internetit. Shumë praktikues argumentojnë se perceptimi i materialit të studiuar është më i mirë nga burimet e letrës. Dhe nevoja për të shkruar manualisht shumë kode të ndryshme do t'ju lejojë të fitoni njëfarë besimi në vetvete dhe të hiqni qafe mënyrën pasive të shkrimit të kodeve të programit si "kopjo dhe ngjit";
  2. Kurse video trajnimi. Ata janë një alternativë e mirë për librat dhe revistat. Librat janë shkruar kryesisht në gjuhë të mërzitshme dhe jo gjithmonë të kuptueshme, pa pasur mundësi t'i drejtohet autorit një pyetje me interes. Nëse shikoni mësime video, gjithçka është shumë më e lehtë. Gjëja kryesore që është e nevojshme është të përsërisni të gjitha veprimet që shfaqen në monitor. Dhe nëse lindin vështirësi ose momente të pakuptueshme, gjithmonë mund t'i bëni pyetjen tuaj autorit në forum. Një aspekt tjetër pozitiv i një trajnimi të tillë është zbatimi i pavarur i një numri veprimesh të përshkruara në mësim. Po, kjo ndodh në formën e një përsëritjeje të qartë të operacioneve të kryera në video. Por është pikërisht kjo procedurë që gradualisht zhvillon aftësinë për të krijuar në mënyrë të pavarur skriptet, aplikacionet dhe programet.

Pasi të keni marrë një nivel të mjaftueshëm njohurish, mund të vlerësoni pikat tuaja të forta dhe të konkurroni në site të ndryshme të specializuara për programues. Për më tepër, për të marrë informacione të reja dhe të dobishme, si dhe për të komunikuar me "kolegët", rekomandohet të vizitoni forumet e Internetit.

konkluzioni

Ndryshimet në teknologjitë e TI-së, duke përfshirë gjuhët e programimit, ndodhin gjatë gjithë kohës. Shtë e nevojshme të përpiqeni të vazhdoni me kohën, të studioni literaturë të ndryshme kushtuar një fushe specifike të punës. Kërkimi i vazhdueshëm i mënyrave të ndryshme për zgjidhjen e problemeve do të ndihmojë në përmirësimin e njohurive profesionale. Komunikimi me kolegët ose thjesht me njerëz të lidhur me programimin do t'ju lejojë të gjeni shpejt mënyrat e duhura për të përfunduar detyrat e caktuara.

Nuk ka asgjë të keqe të përdorni vazhdimisht libra referimi në gjuhët e programimit, sepse nuk mund të mbani gjithçka në kokën tuaj dhe ka gjëra që nuk duhet t'i mbani. Ia vlen t'i qasemi zgjidhjes së çdo problemi (edhe më të thjeshtë në shikim të parë) tërësisht dhe ngadalë. Kur së pari aplikoni njohuritë e fituara teorike në praktikë, duhet të mësoni se si të zhvilloni algoritmin tuaj të zgjidhjes. Është e nevojshme të merreni me probleme të vogla programimi sa më shpesh të jetë e mundur dhe gradualisht të përmirësoni aftësitë tuaja. Më vonë, me përvojën e fituar, programuesi do të mund të përballojë, përveç punës së tij kryesore, të kryejë seminare dhe konsultime shtesë me pagesë, si dhe të rekrutojë studentë. Shpresoj se vështirësi të tilla nuk ju kanë frikësuar dhe ju do të vazhdoni të ecni drejt qëllimit tuaj.

Publikime mbi temën