Necə proqramçı olmaq olar. Seçərkən nə axtarmaq lazımdır? Lazımi bilikləri haradan əldə etmək olar

Haqqında sirlər Özünüzü sıfırdan necə proqramçı olmaq olar, bu məqalədə ortaya qoymağa çalışacağıq. Gəlin haradan başlayacağımıza və baxaq praktik olaraq sıfırdan necə proqramçı olmaq olar.

Əvvəlcə hansı proqramçı olmaq istədiyinizi, tam olaraq nəyi proqramlaşdırmaq istədiyinizi müəyyənləşdirin. Proqramlaşdırma bu gün kompüter və internetlə əlaqəli bütün sahələrdə istifadə olunur.
Ziyarət etdiyiniz bütün saytlar proqramlaşdırmadan istifadə etməklə yazılıb.
İstifadə etdiyiniz bütün kompüter proqramları oyunlar da daxil olmaqla proqramçılar tərəfindən yaradılmışdır.

Sıfırdan proqramçı olmaq istəyirsinizsə, əvvəlcə sizin fikrinizcə ən maraqlı və perspektivli sahəni seçmək vacibdir. Həm də nə vaxt öz-özünə təhsil Proqramlaşdırma üçün proqramçının işinin necə qurulduğunu və onun nə olduğunu başa düşmək və təsəvvürə malik olmaq vacibdir.

Özbaşına təhsil almaq istəyənlər üçün bu məqama aydınlıq gətirək.
Sadə şeylərdən istifadə edən proqramçı işinin mahiyyətinə nəzər salaq.

Tutaq ki, bizim müxtəlif dillərdə danışan bir müdirimiz və bir tabeçimiz var. Məsələn, müdir rusca danışır, tabeliyində olan isə ingiliscə danışır. Belə ki, rəis tabeliyində olanı idarə edib qərar verə bilsin zəruri vəzifələrİş üçün tərcüməçi tələb olunur. Tərcüməçi əvvəlcə müdiri dinləyir, sonra tabeçiliyinə onun sadə dili ilə nə etmək lazım olduğunu izah edir.
Proqramçı götürsək, o da tərcüməçidir. Bir proqramçı vəziyyətində yalnız tabe olan kompüterdir.
Proqramçı müştəridən kompüterin onun üçün hansı vəzifələri həll etməli olduğunu izah etdiyi bir tapşırıq alır.
Proqramçı oturub kompüterə proqramlaşdırma dilində təlimat yazır. Biz bu təlimatları kod və ya proqram adlandırırıq.


Proqramlaşdırma dili kompüterin başa düşdüyü dildir.
Proqramçı olmaq üçün, eynilə tərcüməçi kimi, proqramçı da tələb olunan dili öyrənməlidir.

Kompüterin yerinə yetirməli olduğu tapşırıqların hansı kateqoriyasından asılı olaraq, var müxtəlif dillər proqramlaşdırma.

Üçün proqramlar yazmaq istəyirsinizsə stolüstü kompüterlər, sonra kimi dillər C++ və Delphi, Misal üçün. Və, İnternet veb saytı proqramçısı olmaq və tapmaq qarşılıqlı dil ilə uzaq kompüterlər kimi proqramlaşdırma dillərini internetdə öyrənməlisiniz PHP və JavaScript.

Deyək ki, siz proqramlaşdırmanın nə olduğunu və hansı proqramçı olmaq istədiyinizi başa düşürsünüz.
Özbaşına proqramlaşdırmanı sıfırdan öyrənməyə necə başlamaq lazımdır? Hara getmək və harada təhsil almaq lazımdır?

Proqramçı olmaq üçün təhsil almağın müxtəlif yolları var.
İngilis dilini öyrənmək kimi, proqramlaşdırma dili də dərsliklərdən və dərsliklərdən istifadə etməklə müstəqil şəkildə öyrənilə bilər.
Siz proqramçılar üçün xüsusi kurslar keçə bilərsiniz, burada əsasları sıfırdan öyrənə və sonra təcrübə vasitəsilə bacarıqlarınızı təkmilləşdirə bilərsiniz.
Əlavə olaraq qeydiyyatdan keçə bilərsiniz Təhsil müəssisəsi proqramçı olmaq və ölkəmizdəki bir çox tələbə kimi illərdir dil öyrənmək.

Sıfırdan necə yaxşı proqramçı olmaq olar sualına universal cavab yoxdur.. Hər şey öyrənmək istəyinizin nə qədər güclü olmasından asılıdır.

Demək lazımdır ki, əvvəllər ilk proqramlaşdırma dilini öyrənmək yaxşı səviyyə orta hesabla ən azı bir il çəkir. Bir şərtlə ki, demək olar ki, hər gün mütəmadi oxuyub məşq edəsən.

Proqramçı peşəsi əzmkarlıq, konsentrasiya və məntiqi düşünmə qabiliyyəti tələb etdiyi üçün asan peşə deyil. Eyni zamanda, proqramçı kifayət qədər populyar və yüksək maaşlı bir ixtisasdır müasir cəmiyyət, İnternet və kompüterlərin hər yerdə olduğu yer.

Əgər qərar verərsənsə sıfırdan özünüz proqramçı olun, bu işdə sizə yalnız uğurlar arzulaya bilərik! Davamlı olun və mütləq uğur qazanacaqsınız!

Bəlkə də nədənsə birdən birdən proqramçı olmaq istədin. Yaxşı xəbər Məsələ burasındadır ki, sistemi başa düşdükdən sonra müsahibələrdən keçməyi və işin ilk aylarında sağ qalmağı öyrənə bilərsiniz.

Pis xəbər odur ki, proqramlaşdırmanın ABC-lərindən hələ də qaçmaq mümkün deyil və yeni vəzifənizdə özünüzü rahat hiss etmək üçün artıq bilməli olduğunuz hər şeyi avucunuzun içi kimi öyrənməyi təcili bitirməli olacaqsınız.

Əlbəttə ki, bu məqalə yalnız mənim haqqımda danışacaq Şəxsi təcrübə, bu mənə hətta Luxoft kimi ən yaxşı şirkətlər üçün müsahibələr almağa imkan verdi.

Necə proqramçı oldum

Kompüterlə ilk dəfə 6 yaşımda tanış olmuşam. 13 yaşımda artıq öz şəxsi saytım var idi. Məktəbdə də, universitetdə də pis oxudum. İkinci kursda dostum Java proqramçısı kimi iş tapdı və mənə də eyni şeyi etməyi tövsiyə etdi. Fikir məni maraqlandırdı. Plan lazım idi.

İlk addım - davam

Yeni başlayanların qarşılaşdığı ilk və əsas problem onların CV-ləridir. Adekvat, cəlbedici CV olmadan siz müsahibələrə dəvət edilməyəcəksiniz. Bəs ümumiyyətlə iş təcrübəsi olmayanlar necə? HR-ə əliboş getməmək üçün dostumla mən öz tərcümeyi-halıma onun layihəsi üzərində işlədiyimiz, guya birlikdə işlədiyimiz bir illik təcrübəmi yazdıq.

Əmək haqqı siyasəti

Sonrakı mühüm məqam CV-də tələb olunan texnologiyalardan sonra və ingiliscə arzu olunan maaş idi. İki dəfə düşünmədən, dostum və mən böyük oyun oynamağa qərar verdik və o zaman "yarmaz şirkətləri" aradan qaldırmalı olan min dollarlıq hədsiz məbləğ yazdıq.

Ayıb və ayıb

İlk müsahibələr uğursuz oldu. Mənə sözün əsl mənasında güldülər. Mənə kağız üzərində bir-iki problem verildiyi ilk texniki müsahibədə qısa zamanda başa düşdüm. Kimsə hətta Java-da düşünmək kitabı üçün ata tövsiyəsi verdi.

İlk iş

Sonda məni Danimarka şirkətinin filialına müsahibəyə dəvət etdilər, burada fundamental suallara cavab verdim və ingilis dilimlə hər kəsi xoş təəccübləndirdim. Məni bir şərtlə Junior Java developer kimi işə götürdülər - ilk üç ay ərzində mən boşluqlarımı dolduracaq və məni daha hazırlıqlı mütəxəssis edəcək SCJP (Sun Certified Java Programmer) kursunu keçəcəkdim. İşləmədən (səriştəsizliyinizi nümayiş etdirmədən) ödənişli təcrübədən daha yaxşı nə ola bilər? Mən bu şirkətdə altı ay işlədim ki, bir neçə aydan sonra daha böyük bir şirkətə yüksələ bildim.

Acı, lakin yenə də əvəzolunmaz təcrübəmə əsaslanaraq, macəraçı yoldaşlara nisbətən tez bir proqramçı kimi iş tapmağa kömək edəcək tövsiyələrin siyahısını verəcəyəm.

  1. Xülasə. Düzgün formatlaşdırılmalı və tamamilə ingilis dilində yazılmalıdır. Əgər kifayət qədər təcrübəniz yoxdursa, onda siz onu icad edə bilərsiniz (və etməlisiniz), lakin CV-nizdə yazılan hər sözə görə məsuliyyət daşımağa hazırlaşmalısınız. Məsələn, əgər sizin orada JMS (Java Mesaj Xidməti) yazılmışdırsa, onda ən azı bir dərslikdən keçməli və JMS ilə oynamalı, hətta banal "Salam, dünya!" İndi özünü göstərmək daha rahat olacaq, siz həqiqətən "JMS ilə işləmisiniz".
  • Proqramlaşdırmanın ABC-lərini öyrənin.Əgər siz hələ də Struts və Spring kimi bəzi mürəkkəb texnologiyaların dərin səviyyələrində “üzməyi” ödəyə bilirsinizsə, o zaman əsas suallara verilən yanlış cavablar heç vaxt bağışlanmayacaq. Əgər sizi gecə yuxudan oyandırsam, siz OOP, irsiyyət, inkapsulyasiya, polimorfizm və digər əsas anlayışlar haqqında danışa bilməli, həmçinin bütün bunları misallarla izah edə bilməlisiniz.
  • Təcrübə edin. Proqramlamağı ancaq proqramlaşdırma ilə öyrənə bilərsiniz. Bu ağrılı və xoşagəlməzdir (əgər proqramçı deyilsinizsə), lakin başqa yol yoxdur. Yeganə yol müsahibələrdə problemlərdən qorxmağı dayandırın - onları evdə özünüz həll edin.
  • Kitab oxuyun və Java-da dərslər alın yalnız ingilis dilində Tamamilə bütün proqramlaşdırma terminlərini orijinal dildə, yəni ingilis dilində başa düşmək daha asandır. Rus dilində Java-da texniki ədəbiyyat oxumaq özünə hörmətsizlikdir. Niyə? Çünki “...cədvəl modulu bir çox cəhətdən ara seçimdir, əməliyyat ssenarisi və modellə bağlı kompromisdir”. mövzu sahəsi", siz həqiqətən dahi olmalısınız ki, ola bilməyəcəksiniz.
  • Nəhayət ingilis dilini öyrənin! Bu, ilk növbədə, danışıq ingiliscəsinə aiddir. Yaddaşımda tək bir səbəbə - qeyri-qənaətbəxş danışıq İngilis dili səviyyəsinə görə rədd edilən çox sayda ağıllı proqramçıları saymaq çətindir. Xeyr, əlbəttə ki, bir yerdə proqramçı kimi işləmək fikrində deyilsinizsə yerli şirkət, onda dil səviyyəniz oynamayacaq mühüm rol. Ancaq bir işə düzəlmək istəyirsinizsə beynəlxalq şirkət, sonra Allah özü dil öyrənməyi əmr etdi. İngilis dili səviyyəniz maaş artımlarında yüzlərlə əlavə dollara çevriləcək.
  • Bazarı tanıyın. Vakansiyaları axtarın, tələbləri oxuyun, proqramçı dostlarınızdan nə qədər qazandıqlarını soruşun. İT bazarı haqqında daha dolğun təsəvvür əldə etməyə imkan verəcək xidmətlərdən istifadə edin. Sadəcə olaraq tənbəlliklərinə və burnunu küləyə tutmaq istəmədiklərinə görə bacardıqlarının yarısı qədər qazanan istedadlı proqramçıların sayının nə qədər çox olduğunu bilsəniz təəccüblənərdiniz.
  • Sövdələşmə. Maaşın üstündə bazarlıq etməyin qəbahəti yoxdur. Mübahisə zamanı arqumentiniz ya yaxşı ingilis dili ola bilər, ya da başqa şirkətdə iş təklifi ola bilər. Son arqument xüsusilə yaxşı işləyir: “Bəli, amma Luxoft mənə daha 300 dollar təklif edir, mən niyə sizin şərtlərinizlə razılaşmalıyam? Bəlkə bir kompromis tapa bildik?” Bir vaxtlar maaşıma bir neçə dəfə əlavə yüz dollar danışa bildim və bir ildən sonra bu yüz dollar mənə gözlənilmədən əlavə 1800 dollar gəlir gətirdi. Siz başa düşməlisiniz ki, hətta kiçik xarici İT şirkətləri üçün əlavə yüz dollar vedrədəki damla kimidir.
  • Özünüzə bir mentor tapın. Məsləhətlə kömək edə biləcək və ən axmaq suallara belə cavab verə biləcək daha təcrübəli bir dostunuz varsa yaxşıdır. Onun təcrübəsi və mənəvi dəstəyi sayəsində proqramlaşdırmada təkbaşına olduğundan daha sürətli irəliləyəcəksən. Əgər mentorunuz yoxdursa, o zaman sizə nəinki daha çox şey verəcək bir neçə proqramlaşdırma kursu keçmək yaxşı olar. tam şəkil proqramçı nə edir, həm də daha təcrübəli insanlarla tanış olmağa imkan verəcək. Kim bilir, bəlkə onlardan biri sizin mentorunuz olmaq istəyəcək.
  • Layihənizə başlayın. Bu, ən pis kodlaşdırma təcrübələrinə bir nümunə olsa belə və heç vaxt bitirməsəniz belə, ən azı, proqramlaşdırmanı başa düşmək və yeni texnologiyalar öyrənmək istəyiniz olacaq bir şeyiniz olacaq. Bundan əlavə, müsahibələr zamanı intim söhbətlər üçün əlavə mövzunuz olacaq.
  • Yayda iş axtarın. Birincisi, hamı məzuniyyətdə olanda şirkətlər daha çox işçi heyəti az olur və müsahibə üçün daha çox çağırılırlar. İkincisi, rəqibləriniz-abituriyentləriniz də məzuniyyətdə olduqları üçün HR tərəfindən diqqətinizə düşmək şansınız yenidən artır.
  • Heç vaxt təslim olma. Müsahibədə uğursuz olduğunuzu hiss etsəniz belə, nə qədər çətin görünsə də, səbr etmək və problemi həll etməyə çalışmaq vacibdir. Kim bilir, bəlkə də elə bu məqamda işinizdə çalışqanlıq üçün sınaqdan keçirsiniz!
  • Kompüterdəki tapşırıqlardan çəkinin. Qeyri-peşəkarı dərhal proqramlaşdırma istisinə atmaqdan daha sürətli görmək üçün bir yol yoxdur. Sizin vəzifəniz bütün söhbətləri tərcümə etməyə çalışmaqdır yüksək səviyyə, burada ümumi yanaşmalar və konsepsiyalar müzakirə olunur, lakin müəyyən bir problemin həllində xüsusi bir tətbiq deyil. Əgər sizə kağız və qələm verilirsə və həllini yazmağınız xahiş olunursa, onu diaqrammatik şəkildə çəkmək imkanı istəyin. Beləliklə, konkret bir dilin sintaksisindən uzaqlaşaraq, özünüzü bəzi bezdirici xətalardan xilas etməklə yanaşı, bu qədər təfərrüata varmadan mücərrəd düşünə bildiyinizi göstərmiş olarsınız.
  • İlk danışan siz olun. Müsahibin ağlında başqa bir məkrli sual yarana biləcəyi havada fasilə yaranan vəziyyətlərdən çəkinin. Hər hansı bir problem olan kimi yaxşı bildiyiniz bir şeyi danışmağa başlayın. Müsahibəyə öz oyununuzu tətbiq etməyə çalışın.
  • Həqiqəti deməyə çalışın.Əgər siz heç vaxt PL/SQL prosedurlarını yazmamısınızsa, o zaman bunu birbaşa söyləmək daha yaxşıdır. Bu sizin üçün bir dezavantaj ola bilər, ancaq heç nə başa düşmədiyiniz suala cavab verməklə özünüzü öz yolunuzdan çıxmaq məcburiyyətindən xilas edəcəksiniz. Təcrübəli müsahib sizin bilik boşluqlarınızı bir mil məsafədə hiss edəcək.
  • Kiçik şirkətlərdən çəkinin. IN kiçik şirkətlər adətən kiçik komandalar. Komandada nə qədər az insan varsa, onlar sizi bir o qədər tez başa düşəcəklər. Məqsədiniz böyük və yöndəmsiz bir korporasiyadır, burada özünüzə vaxt ayıra bilərsiniz.
  • Geyim koduna əməl edin. Bir proqramçı vəzifəsi üçün müsahibəyə ağıllı kostyumda gəlsəniz, bu, şortda və ya ipli sviterdə görünməyinizdən daha çox şübhə doğuracaq. “Mən kitab qurduyum” deyərək eynək taxmaq da yaxşı olardı.
  • Əlbəttə ki, bilən biri qeyd edə bilər ki, yuxarıdakı resept proqramçıdan daha çox kodlayıcı olmaq üçün bir yoldur və o, haradasa haqlı olardı. Ancaq məsələ ondadır ki, siz heç vaxt “Bad Codeder Wanted” başlığı ilə vakansiya tapa bilməyəcəksiniz. Hər kəsə proqramçılar lazımdır. Üstünlük böyükdür. Korporativ layihələrdə beş ildən çox iş təcrübəsi olan və eyni zamanda bir neçə proqramlaşdırma dillərində səlis danışan, eyni zamanda DBMS-dən hərtərəfli anlayışı olan, bash skriptləri, saxlanılan prosedurları yaza bilən, Linux, TCP/IP dillərində sərbəst danışan şəxslər , liderlik keyfiyyətlərinə və stresə qarşı müqavimətə, ünsiyyət bacarıqlarına və "onsuz mümkün deyil" bir sıra digər bacarıqlara sahib olun.

    Belə insanlar var, mən özüm görmüşəm. Lakin onların sayı daim ac olan İT mütəxəssisləri bazarının ehtiyaclarını tam ödəmək üçün çox azdır. Və bu o deməkdir ki, sizin hər zaman şansınız var, siz belə bir macəraçısınız.

20 yanvar 2011-ci il, saat 23:18

Yaxşı proqramçı olmağın 10 yolu

  • Proqramlaşdırma
  • Tərcümə
Yaxşı proqramçı birtərəfli yolu keçərkən hər iki tərəfə baxan kimsədir.
Doug Linder

Proqramçını özünə nə gətirir iş yeri hər gün? Proqramlaşdırmaya həvəs və həzz. Ancaq proqramlaşdırmadan həqiqətən həzz almaq və həzz almaq üçün yaxşı bir proqramçı olmağa imkan verəcək bəzi əsas şeyləri bilməlisiniz.

Mən mantralar yazmayacağam, ona əməl edəcəksən yaxşı mütəxəssis. Məqsədim bu peşədə uğur qazanmağıma kömək edənləri sadalamaqdır. Yaxşı bir proqramçının nə olduğunun dəqiq tərifi yoxdur. Bununla mən mükəmməl İT həlləri hazırlayan və sənayenin inkişafına töhfə verən insanı nəzərdə tuturam.

1. Əsasları öyrənin

Əsasları başa düşmək istənilən sənayedə və istənilən peşədə uğurun açarıdır. Əsasları kifayət qədər yaxşı bilməsəniz, yaxşı bir proqramçı ola bilməyəcəksiniz. Əsasları bilmək sizə inkişaf etdirməyə və həyata keçirməyə imkan verəcək ən yaxşı həllər nai ən yaxşı yol. İstər kompüter elminin əsasları, istərsə də yazdığınız dilin anlayışları ilə bağlı biliklərinizdə boşluqlar hiss edirsinizsə, geriyə dönüb unutduqlarınızı təkrarlamaq üçün heç vaxt gec deyil.

2. Kod yazarkən suallar verin (necə? niyə?).

Yaxşı proqramçını hamıdan fərqləndirən bir şey var - bu, nə baş verdiyini və necə baş verdiyini bilmək istəyidir. Elə insanlar var ki, onlar kod icra edildikdə nə baş verdiyini dəqiq bilməyincə kodu heç vaxt tək qoymayacaqlar. Mən başa düşürəm ki, bu, son tarixi yaxınlaşdırır, bizim həmişə buna vaxtımız olmur və buna görə də biz tez-tez kod öz funksiyalarını yerinə yetirməyə başlayan kimi onun üzərində işləyirik. Və belə vəziyyətlərdə davranış başqa söhbət üçün mövzu olsa da, hər bir proqramçı əlindən gələni edə bilər daha çox səy kodun necə işlədiyini başa düşmək üçün. Və inanın ki, zaman keçdikcə bu vərdiş halına gələcək və siz bunu şüursuz şəkildə edəcəksiniz.

3. Başqalarına öyrədin - özünüzü öyrənin

Çoxumuz yalnız köməyə ehtiyacımız olanda forumlara və qruplara müraciət edirik. Yaxşı proqramçını hamıdan fərqləndirən başqa bir cəhət də odur ki, yaxşı proqramçı başqalarına kömək etmək üçün bu kimi yerlərə daha çox gedir. Bu cür yardım sizə probleminizi həll etmək üçün əldə etdiyiniz köməkdən daha çox şey öyrədir. İnanın, başqasının problemini və onun kontekstini başa düşdükdən, onun üzərində düşünüb həll yolu təqdim etdikdən sonra daha çox şey öyrənəcəksiniz.

4. Sadə, başa düşülən, eyni zamanda məntiqi kod yazın

Digər sahələrdə olduğu kimi, proqramlaşdırmada da KISS (Keep it simple and short) düsturu işləyir. Məntiqi kodu yazın və fəsadlardan qaçın. Bəzən insanlar sadəcə belə kodu yaza bildiklərini sübut etmək üçün mürəkkəb kod yazırlar. Mənim təcrübəm ondan ibarətdir ki, sadə, məntiqi kod həmişə yaxşı işləyir, daha az problem yaradır və daha genişlənir. Yadıma əla bir ifadə gəlir:
Yaxşı koddur daha yaxşı sənədlər. Hər dəfə şərh əlavə etmək istədiyiniz zaman özünüzdən soruşun: “Mən bu kodu necə təkmilləşdirə bilərəm ki, şərh tələb etməsin?”
Steve McConnell

5. Problemi təhlil etməyə daha çox vaxt ayırın, onda onu həll etmək üçün sizə daha az vaxt lazım olacaq

Problemi başa düşmək və təhlil etmək və həllini inkişaf etdirmək üçün daha çox vaxt sərf edin. Qalanını etmək asan olacaq. Həll hazırlamaq dillərdən və ya modelləşdirmə alətlərindən istifadə etmək demək deyil, sadəcə səmaya baxıb həll yolu düşünə bilərsiniz. Problemdən xəbər tutan kimi klaviaturaya toxunmağa vərdiş edənlər üçün nəticə adətən gözlənilənlə üst-üstə düşmür.
Əgər tam başa düşə bilmirsinizsə ümumi quruluş duş qəbul edərkən proqramlaşdırın, yəni siz onu proqramlaşdırmağa hazır deyilsiniz.
Riçard Pattis

6. Kodunuzu nəzərdən keçirən və qiymətləndirən ilk siz olun

Çətin olsa da, kodunu başqası etməmişdən əvvəl "sındırmağa" çalışın. Zamanla, demək olar ki, səhvsiz kod yazmağı öyrənəcəksiniz. Həmişə kodunuzun ətraflı və qərəzsiz qiymətləndirilməsini aparın. Başqalarının kodunuz haqqında nə düşündüyünü soruşmaqdan heç vaxt qorxmayın. Yaxşı proqramçılarla işləyin və onların fikirlərini dinləyin - bu sizə yaxşı proqramçı olmağa kömək edəcək.

7. Texnologiyanın sürətli dəyişməsindən qorxmayın

İT sahəsində işlədiyim müddət ərzində işlərindən narazı olan və ən son texnologiyalarla işləmək üçün iş yerini dəyişən bir çox insanla rastlaşmışam. Belə bir istəkdə səhv bir şey yoxdur, amma səhv " ən son texnologiyalar" Hər gün inkişafı tez və asanlaşdırmaq üçün yeni alətlər, API-lər və çərçivələr ortaya çıxır. Və bu tendensiya səngiməyəcək. Bununla belə, başa düşmək lazım olan bir şey budur ki, fundamental bilik və əsaslar çərçivələrdən, yeni alətlərdən və API-lərdən daha yavaş dəyişir. Səthində sürətli cərəyanlar olan dənizlə bənzətmə aparmaq olar, lakin dərinlikdə su sakitdir və həcmin çox hissəsini təşkil edir. Buna görə də, əsaslara daha yaxın olan "dərinlikdə" qalın. Dünyada Java proqramları Bir çox korporativ səviyyəli veb çərçivələr var və yeniləri hər iki həftədən bir buraxılır. Bununla belə, əsaslar müştəri-server arxitekturası, MVS (Model Görünüşünün Ayrılması) şablonu, filtrlər/servletlər/JSP, resurs qablaşdırması, XML emalı və s. dəyişməz qalır. Odur ki, vaxtınızı daim dəyişən çərçivələri öyrənməkdənsə, bu əsasları öyrənməyə sərf edin. İnanın, əsasları bilməklə, öyrənin yeni API-lər və çərçivələr daha asan olacaq.

8. “Döstək qoltuqları”* uzun müddət işləmir

Bir çox proqramçı "dəyənəklərdən" istifadə edir: vaxt çatışmazlığı, problemi başa düşmək və ya təcrübə səbəbindən. Lakin zaman keçdikcə bu cür qərarlar kodu daha da pisləşdirir: o, daha az genişlənir və saxlanılması daha asan olur. Həmişə hər şeyi bildiyiniz bir tətbiq yazmağa çalışın. Mən başa düşürəm ki, bəzi hallarda “dəyənək” qaçılmazdır, amma sonra vəziyyət “həmişə həqiqəti söylə, amma bəzən yalan danışa bilərsən” kimi bir şeyə bənzəyir.

9. Sənədləri oxuyun

Yaxşı proqramçılar çoxlu sənədləri oxuyurlar. Bunlar spesifikasiyalar, JSR, API, sənədlər, dərsliklər və s. ola bilər. Sənədləri oxumaq sizə əsasları başa düşməyə imkan verəcək ki, problemləri ən yaxşı şəkildə həll edə biləsiniz.

10. Başqasının kodu da sizə nəsə öyrədə bilər.

Mən digər insanların Java layihələrinin mənbə kodunu daim öz IDE-lərində saxlayan və hər gün onlara daxil olan iki əla proqramçı ilə işlədim. Onlar bunu təkcə əsas şeylərin necə işlədiyini öyrənmək istəyi ilə deyil, həm də yazmağı öyrənmək istəyi ilə ediblər yaxşı proqramlar. Məşhurların mənbə kodlarının oxunması açıq mənbə layihə və ya aparıcı proqramçınız tərəfindən yazılmış kodlar daha yaxşı kod yazmağınıza kömək edə bilər.

Son bir şey: özünüzü başqaları ilə müqayisə etməyin.

Özünüzü başqaları ilə müqayisə etmək yalnız pis sağlamlıq və qeyri-sağlam rəqabətlə nəticələnəcək. Hər kəsin öz güclü tərəfləri və zəif tərəfləri. Güclü və zəif tərəflərinizi başa düşmək və onların üzərində işləmək daha vacibdir. Mən dəfələrlə görmüşəm ki, hətta fundu proqramçıları (yaxşı fundamental hazırlığa malik proqramçılar) belə axmaq səhvlərə yol verirlər. Buna görə də özünüzdə təkmilləşdirməli və işə başlamağınız lazım olanları təhlil edin və yazın. Əyləncə və zövq üçün proqram.
İstənilən axmaq kod yaza bilər kompüter başa düşülür. Yaxşı proqramçı insanlar üçün başa düşülən kod yazır.
Martin Fowler

* - iş ətrafında sözünün kifayət qədər pulsuz tərcüməsi

Proqramlaşdırma karyera yüksəlişi, özünü inkişaf etdirmək və heyrətamiz bir şey yaratmaq üçün ən dəyərli bacarıqlardan biridir. Lifehacker-dan proqramlaşdırma dünyasına səyahətinə yeni başlayanlar üçün on məsləhət.

10. Nə üçün proqramlaşdırmaq istədiyinizi öyrənin

Seçilmiş təhsil istiqaməti böyük ölçüdə proqramlaşdırmağı niyə tam olaraq öyrənmək istədiyinizdən və bu prosesə nə qədər vaxt ayırmağa hazır olduğunuzdan asılı olacaq. Proqramçı olmaq istəyirsinizsə, etməli olduğunuz ilk şey peşəkar kurslara yazılmaqdır (Google proqram mühəndisi olmaq istəyənlər üçün bacarıq və kursların siyahısını tərtib etmişdir). Əyləncəli oyunlar və saytlar yaratmaq istəyirsinizsə... boş vaxt, ən yaxşı seçim interaktiv kurslardır. Bloc proqramlaşdırmanı öyrənmək üçün yükləmə, qiymət və səbəb əsasında kursların müqayisəli cədvəlini yaratmışdır.

9. Düzgün dil seçin

7. Uşaqlar üçün proqramları sınayın

İndiki vaxtda hətta uşaqlar proqramlaşdırma öyrənirlər. Bir çox uşaqların öyrənmə proqramları olduqca sadə olsa da, bəziləri (Scratch kimi) bütün yaşlar üçün uyğundur. Yaşınızın fərqi yoxdur, hətta uşaq animasiya proqramları kodlaşdırmanın əsaslarını öyrədə bilər (edX-də yeni Scratch təlimatı var).

6. Pulsuz onlayn təlimdən yararlanın

Pulsuz onlayn təlimlər və layihələr (Codecademy, Hour of Code və s.) ilk proqramınızı yazmağınıza kömək edə bilər. Dərsliklər Khan Academy, Codecademy, Code.org və digərləri sizi proqramlaşdırmanın əsasları və oyun, vebsayt və ya digər layihə yaratmaq üçün lazım olan hər şeylə tanış edəcək. istifadə edərək proqramlaşdırma dilinizə əsaslanaraq sizə lazım olan mənbəni tapın. Bu yaxşı başlanğıc nöqtəsidir, lakin daha çox öyrənmək sizin məsuliyyətinizdir.

5. Onlayn kurs keçin

Onlayn proqramlaşdırma kursları bir dildə onlayn təlim təklif edən saytlardan daha geniş təhsil təlimi verir. Bu kurslar universitet səviyyəli siniflərdə bir neçə ay ərzində əsas bacarıqları öyrətmək üçün nəzərdə tutulub. Mən Harvardın CS50 onlayn kursunun böyük pərəstişkarıyam (qebul etmək pulsuzdur). Başqa imkanlar da var. Siz hətta 15 onlayn kursdan birini seçərək universitet səviyyəsində təhsil ala bilərsiniz.

4. Proqramlaşdırma üzrə pulsuz kitablar

Əgər bir problemdə ilişib qalmısınızsa və ya sualınıza cavab tapmaq lazımdırsa, istinad kitabları haqqında unutmayın. GitHub-da 500-dən çox böyük kolleksiya tapa bilərsiniz pulsuz kitablar proqramlaşdırma üzrə. Kolleksiya da mövcuddur e-kitablar, 24 proqramlaşdırma dilini əhatə edir.

3. Oynayaraq öyrənin

Bəzən öyrənməyin ən yaxşı yolu oyunlardır. Bir çox proqramlaşdırma dərslikləri sizə sadə və ya proqramlaşdırmağı öyrədir çətin oyunlar, bəzi təhsil saytları oyunların özləridir: Code Combat və CodinGame əylənmək üçün istifadə edə biləcəyiniz alətlərdir.

2. Mentor tapın və ya olun.

Proqramlaşdırma icması gələcək nəsil proqramçılara kömək etmək istəyən insanlarla doludur. Hack.pledge() sizə mentor tapmağa kömək edəcək saytdır. Və ya başqasının mentoru ola bilərsiniz. Öyrəndiklərinizi öyrətmək məlumatı daha yaxşı yadda saxlamağınıza kömək edəcək.

1. Başqasının kodunu təhlil edin

Hamıya salam! Mənim adım Konstantin Botnar. Artıq 8 ilə yaxındır ki, proqramlaşdırmadan dərs deyirəm. Hər şey mən aspirant olanda və Odessa universitetlərinin birində həmyaşıdlarıma mühazirələr oxuyanda başladı. İndi mən Hillel Kompüter Məktəbində dərs deyirəm, Giriş kursu: proqramlaşdırmaya giriş. Mən 21-ci əsrin ən çox tələb olunan peşəsi ilə bağlı bir az mifləri dağıtmaq və proqramçıların kimlər olduğunu və nə etdiklərini söyləmək istəyirəm.


Məzunlar pulsuz dənizə çıxırlar

Tyzhprogrammer, və ya xüsusi bir düşüncə nədir

Bu, bəlkə də ən çox yayılmış mifdir. Onlar fərqli şeylər deyirlər: proqramçıların fərqli beyin quruluşuna sahib olduqlarını, uzaq və qapalı olduqlarını. Və bunsuz siz uğurlu bir mütəxəssis ola bilməzsiniz.

Doğrudurmu? Qismən. Ancaq uğurlu proqramçı həmişə snob olmaq məcburiyyətində deyil. Bir proqramçının bilməsi vacib və zəruri olan nədir:

  • Komandada işləməyi bacarmaq. Harada başlamağınızdan asılı olmayaraq: veb proqramlaşdırma, mobil proqramlar yaratmaq, tərtibat və daha çox şey - bu komanda işi. Buna görə də, bu olmadan - heç bir yerdə.
  • Prioritetin nə olduğunu və onu necə düzgün təyin edəcəyinizi anlayın. Ən prestijli şirkətdə belə, proqramçılar tez-tez "İndi et, amma bu dünən lazım idi, amma burada tez və sadəcə düzəliş məsələsi" üslubunda tapşırıqlarla qarşılaşırlar. Tapşırıqların strukturlaşdırılması sərin bir proggerin ən vacib bacarıqlarından biridir.
  • Fenomenal əzmkarlığa sahib olun. Xeyr, zəngdən zəngə ofisdə oturmaq məcburiyyətində olmayacaqsınız, amma mütləq laptopunuzda və ya kompüterinizdə çox vaxt keçirəcəksiniz. Buna görə də İT mütəxəssisləri ünsiyyətcil deyillər: sadəcə olaraq hamı istirahət edərkən onların əksəriyyəti işləməyə üstünlük verir.
  • Təkmilləşdirməkdən və yeni şeylər öyrənməkdən qorxmayın. Proqramlaşdırma dilləri köhnəlir, yenilərini öyrənmək lazımdır, yeni platformalarda mobil proqramlar yaradılır və hər gün onlarla xidmət ortaya çıxır. Yaxşı bir proqramçı olmaq istəyirsinizsə, çevik olmalı və bacarıqlarınızı təkmilləşdirməyə hazır olmalısınız.
  • Kompüterinizi sevin. Burada əlavə etmək üçün əlavə bir şey yoxdur. Avtomobiliniz əsas iş alətinizdir.

Təkcə bu bacarıqlar sabit və yaxşı gəlir gətirə bilər. Buna peşəkar bacarıq və təhsil əlavə etsək necə olacaq?

Bir proqramçı nəyi bilməlidir

Təəccüblüdür ki, bir proggerin həyatında riyaziyyatın rolu çox yüksək qiymətləndirilir. Bəli, bu elm əsasdır və vyshmat haqqında bilik uğurlu karyera qurmaq üçün yaxşı bir təməl ola bilər. Ancaq bu, proqramlaşdırmanı öyrənməyə başlamalı olduğunuz əsas şeydən uzaqdır. Riyazi bilik və texniki məlumat olmadan belə, sərin proqramçı kimi karyera qura bilərsiniz. Təhsil prosesində kompüter məktəbi Yaxşı bir mütəxəssisin həqiqətən ehtiyac duyduğu bütün bilikləri tamamilə əldə edə bilərsiniz.


Gələcək proqramçılar

Həqiqət təfərrüatlardadır

İT sahəsində karyera çoxlu işdir, onu yalnız böyük ehtiyatla idarə etmək olar. Əzmkarlığın da vacib olduğu bir çox sahələr var - cərrahiyyə, zərgərlik, müxtəlif ölçülər. Ancaq proqramlaşdırmada bu bacarıq demək olar ki, əsasdır.

İntizam, diqqətlilik və zəhmətkeşlik - bunlar uğurlu proqramçının karyerasının dünyada dayandığı üç sütundur. məşhur şirkət. Siz sadəcə dizüstü kompüterinizdə otura bilməyəcəksiniz və ya lentdə hərəkət edə bilməyəcəksiniz. sosial şəbəkələrdə, videonu bəyənin və izləyin.

Başlayarkən nələrə hazır olmalısınız:

  • Hətta sadə tapşırıqlar bəzən çox vaxt tələb edir. Əlbəttə ki, sonradan onlar çox daha sürətli həll oluna bilər, lakin əvvəlcə problemin həllini tapmaq üçün çox çalışmalı olacaqsınız.
  • Necə proqramlaşdırmalı - vacib olan yıxılmaq deyil, ayağa qalxa bilməkdir. Yol boyu hər hansı bir uğursuzluq, pozulmuş kod və ya dəyişənin buraxılması uğurlu gələcəyə doğru bir addımdır. Sayt işlək vəziyyətdə olsa belə, onu tərk edə və sadəcə tərk edə bilməzsiniz. Siz bilik və təcrübənizi artırmalı və bu çox dəyişkənliyi tapmalısınız.
  • Proqramlaşdırmaya haradan başlamaq lazımdır: unutmayın ki, ilk dəfə uğur qazana bilməyəcəksiniz. Nə yaxşı sayt, nə də rahat mobil proqram, hətta bir chatbot deyil. Proqramlaşdırmada səhv etmək tamamilə normaldır və hətta deyərdim ki, faydalıdır. Mənim ən yaxşı məzunlarım həll yollarını axtarmaq və layihələrini həyata keçirmək üçün bir neçə yüz saat sərf etdilər. Və düzgün kodu yazdılar. Ancaq sonra onlar üçün bu tapşırıq uşaq kitablarındakı tapmaca ilə müqayisə edilə bilən bir şey idi.

Alqoritmlər vacibdir

Proqramlaşdırmada hər şey alqoritmlərə əsaslanır. Ümumiyyətlə, parçalanma anlayışı var. Bu, böyük və mürəkkəb məqsədləri kiçik alt məqsədlərə parçalayır. Və ya tapşırığı mümkün qədər sadələşdirmək. Parçalanma nəticəsində problem artıq o qədər də mürəkkəb görünmür və onun həlli səthdə görünür.

Əşyalara bu cür münasibət alqoritmik təfəkkür adlanır. Özünüzü tanıyırsınız? Təbrik edirik! O zaman proqramçının yolu məhz sizin üçündür! Yalnız lazımi bilik və təcrübəni əlavə etmək qalır.

Ancaq çox vaxt alqoritmlərin əhəmiyyəti və onları düzgün tərtib etmək bacarığı sadəcə olaraq qiymətləndirilmir. Nümunə olaraq, bir mənzili təmizləmək və ya qəhvə hazırlamaq üçün bir alqoritm yaratmağa çalışın. İndi təsəvvür edin ki, proqramlaşdırmada tamamilə hər hansı bir tapşırıq üçün onlarla əmr və şərtlər hazırlamalı olacaqsınız, əks halda onlar sadəcə icra olunmayacaq.

Hər kəs belə alqoritmlərdə düşünmür. Bəzi insanlar şəkilləri təsəvvür edir, digərləri təsəvvür edirlər mücərrəd modellər. Onlar, əlbəttə ki, bir alqoritm yarada bilərlər, lakin bu, uzun və gərgin zəhmətin bəhrəsi olacaq, lakin onların beyinlərinin istedadı və təbii təbiəti deyil. Bu vəziyyətdə, bəlkə özünüzü yaradıcılıq və ya ünsiyyətlə əlaqəli bir peşədə tapmaq məntiqlidir?

Proqramçı: gözlənti və reallıq

Proqramçı olmaq necə komanda oyunçusu olmaqdır. Çox vaxt İT mütəxəssisi köməkçilərə, həmfikir insanlara və dəstəyə ehtiyac duyur. IN iş mühiti müştəri ilə daim əlaqə saxlayır, hazırlayır test tapşırıqları, onları təsdiq edir.

İT sahəsində tək adamın sağ qalması o qədər də asan deyil. Unutmayın ki, otağınızdan nə qədər tez çıxıb layihənizi sata bilsəniz, karyera nərdivanına bir o qədər tez qalxacaqsınız.

Proqramlaşdırmada ən çətin şey başlamaqdır, ona görə də mən gələcək veb proqramçılara sadə, lakin çox əhəmiyyətli və vacib məsləhət: Yeni başlanğıclardan qorxmayın.

  • Bir gündə heç kim yerindən qalxıb sayt yazmadı.
  • İndi köhnə biliklərdən istifadə edərək milyonlar qazanan insanlar yoxdur.
  • Özünüzü təkmilləşdirmək üçün bir az ehtiyacınız var: özünüz olun və təkmilləşin.

Hər bir layihə yeni mühit, araşdırılmamış vəzifələr, yenilənmiş komandadır. Əlbəttə ki, geri çəkilə bilərsiniz. Ancaq sonra IT guru ola bilməzsiniz. Bu təcrübəyə qərq olun, ondan yeni bir şey öyrənin, təcrübə və bilik qazanın.

Proqramlaşdırmada siz 10 il əvvəl əldə etdiyiniz biliklərdən istifadə edə bilməyəcəksiniz. Həddindən artıq mobil mühit. Və dinamik və çevik mütəxəssislərə çox tələbat var. Buna görə də barmağınızı həmişə nəbzdə saxlamağınızı və işləmək istədiyiniz vaxta uyğun gəlmənizi arzulayıram.

Sevdiyinizi edin

Bu əhəmiyyətsizdir, amma bunun ətrafında heç bir yol yoxdur. Proqramlaşdırma sizi dizlərdə zəiflətməli və həftə sonunu bitirib işə başlamaq istəməli olan bir şeydir. Axı, işinizə heyran deyilsinizsə, onda necə şah əsər yaradacaqsınız? Yaxşı proqramçı layihədə özünün bir hissəsini buraxır. Təkcə vaxt və ya bilik deyil, həm də ümumi işə bir az sevgi.

Buna görə proqramlaşdırma sizin üçün asandırsa yaxşı işəla perspektivlə vaxtınızı, səyinizi və pulunuzu boşa verməmək daha yaxşıdır. Başqa bir şey tapın - həyatınızın vacib hissəsinə çevrilə biləcək bir şey. Ayrılmaz bir hissə.