BOSS DEVELOPER
466 subscribers
318 photos
36 videos
55 files
605 links
Download Telegram
İnformasiya texnologiyaları hələ də çoxlu stereotiplərlə, yanlış fikirlərlə doludur. Bunu ölkəmizdə daha da aydın hiss etmək olur. “Mən proqramçıyam” deyən kimi “Facebook-un parolunu qıra bilirsən?”, “komputerim donur, format edərsən?”, “televizorun pultunu düzəldərsən?!” və başqa bu kimi sualları ilə üzbəüz qalırsan. Bunlardan əlavə proqramlaşdırma sahəsinə yeni başlamaq istəyənlərə və ya İT-dən uzaq şəxslərə bu sahə “çox çətindir” deyirlər, müxtəlif fikirlərlə qorxudurlar. Buna görə də, ən çox yayılan yanlış fikirləri, mifləri bir yerə yığıb, nəyin doğru, nəyin yanlış olduğunu izah etməyə çalışacam.
1. Çox ağıllı olmaq lazımdır
Bu ən çox yayılmış miflərdəndir, proqramlaşdırmaya yeni başlamaq istəyənlərin çoxunda qorxu yaradır. Buna görə də çoxları özlərini proqramçı olmaq üçün kifayət qədər ağıllı hesab etmir. Lakin ilk baxışda göründüyü kimi, proqramlaşdırma öyrənmək elə də çətin deyil.

Proqramçılar – komputer proqramları, veb saytlar, oyunlar və mobil tətbiqlər yaratmaq üçün ehtirasları olan adi insanlardır. Kod yazmağa başlamaq üçün dahi olmaq lazım deyil. İntizamın, motivasiyanın, maraq və həvəsin olması kifayətdir. Əgər yeniliklərə açıq və öyrəndiklərinizi praktikada tətbiq etməyə hazırsızsa, proqramlaşdırmanı rahat öyrənəcəksiniz.
2. Riyaziyyatı yaxşı bilmək lazımdır
“Proqramlaşdırmanı öyrənmək, güclü riyazi biliklər tələb edir?”. CodeBit-ə müraciət edən şəxslərin əksəriyyəti məndən bu sualı soruşurlar. Lakin proqramlaşdırmada müvəffəqiyyətli olmaq, birbaşa riyazi savaddan asılı deyil. Yaxşı riyaziyyat biliyinin olması həmişə üstünlükdür, lakin başlamaq üçün məktəb bilikləri də kifayət edir.

Formal olaraq, proqramlaşdırma – komputer üçün əmrlərin, təlimatların yazılmasıdır. Bunu tortun hazırlanması üçün resept kimi fikirləşin. İnqridientlərin çəkisini ölçmək, kalorini hesablamaq, yumru və ya düzbucaqlı formaya salmaq, əməliyyatlar ardıcıllığını düzgün etmək lazımdır. Bunun üçün isə ali riyaziyyat, inteqral və ya mürəkkəb düsturlar istifadə etmirik.

Əlbəttə, riyaziyyatın çox böyük rol oynadığı sahələr var. Məsələn, oyunlarının yaradılması üçün ən azı minimal səviyyədə triqonometriya, matrislərlə işləmək və fizika bilmək lazımdır. Hazırda hamının daimi eşitdiyi süni intellekt, maşın öyrənməsi (bax: machine learning), verilənlər elmi (bax: data science) və onların alt bölmələri riyaziyyat tələb edən sahələrdəndir.
Bundan başqa, bir çox problemi daha asan həll etmək üçün, üçüncü tərəf kitabxanalar (third-party libraries) və pluginlər-dən istifadə edə bilərsiz. Riyaziyyat və ya fizika ilə bağlı əlavə məlumatlara ehtiyacınız varsa, xarici təlim, təhsil ala və ya kitablar oxuya bilərsiz.
3. Proqramlaşdırma “komputer xəstələri” üçündür
Kinolarda proqramçılar iri eynəklə bir neçə monitora baxan, uzun saç-saqqallı biri kimi təsvir edilir. Buna görə də insanlar proqramlaşdırmaya başlayanda eyni olacağını düşünürlər, qadınlar isə bu sahəyə elə də maraqlı olmurlar. Əslində isə bu sadəcə stereotipdir.

Proqramçılar bütün günü komputer arxasında oturmurlar, onların da əlavə hobbi və məşğuliyyətləri var. Onların arasında musiqiçilər, rəqqaslar, idmançılar var. Buna görə proqramçıların digər peşələrdəki işçilərdən fərqli olduğuna inanmaq üçün heç bir səbəb yoxdur.

Qeyd: “komputer xəstələri” söz birləşməsi üçün daha yaxşı təklifləri şərhlərdə yaza bilərsiz.
4. Proqramlaşdırma darıxdırıcıdır
İşə qarşı maraq, o işə göstərdiyin münasibətdən asılıdır. Proqramlaşdırma üzrə həvəsli olan insanlar onu darıxdırıcı və cansıxıcı saymırlar. Yoxsa nəyə görə insan illərlə eyni işlə məşğul olsun? Bu hər bir işə aiddir: hər kəs özünə maraqlı və ya sıxıcı olan işi özü təyin edir.

Proqramlaşdırmada sizə maraqlı olan sahəni seçə bilərsiz: mobil telefonlar üçün tətbiqlər yaza, müxtəlif tipli veb saytlar hazırlaya, əməliyyatları avtomatlaşdırmaq üçün qurğulara proqram təminatları yarada bilərsiz və s.

Proqramlaşdırma bacarıqları kənd təsərrüfatından başlamış, raket istehsalına qədər çox fərqli sahələrdə işləməyə imkan verir. Həmçinin, sizin hazırladığınız proqramların dünya üzrə milyonlarla istifadəçisinin olması mümkündür. Sizcə bu necə maraqsız ola bilər?!
5. İnsanlarla ünsiyyət qurmağı dayandıracaqsız
Digər çox yayılmış miflərdən biri də – proqramçıların günün böyük hissəsini komputer arxasında, insanlardan uzaq keçirməsidir. Əslində isə proqramçılar müxtəlif seminar, konfranslarda iştirak edir, tez-tez tanımadıqları insanlarla kiçik məclislər təşkil edərək texnologiya, maraqlı yeniliklər haqqında danışırlar. Digər peşə sahələrində belə hallar nadirən olur.
This media is not supported in your browser
VIEW IN TELEGRAM
6. Çoxlu kod əzbərləmək lazımdır
Xarici dildə normal başa düşmək üçün ən azı 2000 söz bilmək lazımdır. Proqramlaşdırma dillərinin əksəriyyətində isə sintaksis çox oxşayır və daimi istifadə etdikcə lazım olan 50-60 metod, funksiyanı avtomatik əzbərləmiş olursuz. Hətta yadda saxlaya bilməsəniz, internetdən və ya rəsmi dokumentasiyaya baxaraq xatırlaya bilərsiz. Ümumiyyətlə, hər kodu yadda saxlamaq lazım deyil. Onsuz da zamanla istifadə etmədiyiniz kodları unudacaqsız. Hətta tanınmış proqramçılar da, bəzən ən sadə alqoritmləri belə yadda saxlaya bilmədiklərini etiraf edirlər.

Kod yazmaq üçün istifadə olunan IDE, code editor-lar hazır şəkildə ipuclarını verirlər. Sizə sadəcə olaraq lazım olan kodu seçirsiz
7. Bütün alqoritmləri bilmək lazımdır
Alqoritmlər proqramlaşdırmanın əsasıdır. Bəziləri sadə, bəzilərini isə anlamaq üçün xüsusi bilik tələb edir. Ancaq onları əzbər bilməyə ehtiyac yoxdur. Proqramlaşdırmada bir tapşırığı müxtəlif alqoritmlərlə və fərqli variantlarda yazmaq mümkündür. Hər bir variantın isə üstün və mənfi cəhətləri olur.

Müasir proqramlaşdırmada daimi təkrarlanan əməliyyatları azaltmaq üçün yeni alətlər, kitabxanalar yaradılır. Bu da öz növbəsində proqram təminatlarının yaradılması müddətini azaldır, proqramçıları rutin işlərdən azad edir. Artıq proqramçılar həqiqətən lazım olan işlərlə məşğul olur, gündəlik istifadə olunan alqoritmlərə əlavə vaxt sərf etmirlər. Buna baxmayaraq, alqoritmik həllərin, bilklərin öyrənilməsi vacib məqamlardandır.
8. Çoxlu kod yazmağa səbrim çatmır
Professional proqramlar, on-yüz minlərlə sətir koddan ibarət olurlar. Bu isə yeni başlayanların bəzilərini qorxudur. Yuxarıda qeyd etdiyim kimi, proqramçılar bəzi işlər üçün adətən hazır həllərdən, eyni kod hissələrindən istifadə edirlər. Bunu xarici dil ilə müqayisə etsək: deyilənlərin 80%-ni anlamaq üçün 2000 söz (dildə olan 50.000 sözü bilməyə ehtiyac yoxdur) bilmək kifayətdir. Müxtəlif söz və ifadələri birləşdirərək hər kəslə danışa bilərsiniz. Proqramlaşdırmada da bənzər prinsipdir. Müəyyən kod həllərini bilməklə çoxlu sayda fərqli tapşırıqlara tətbiq edə bilərsiz.

Əlbəttə ki, yeni başlayarkən dəqiq işləyən böyük bir proqram yazmaq qeyri-mümkündür. Amma bacarıqlarınızı inkişaf etdirməklə bir gündə yazdığınız kodu artıq bir neçə saata yaza bilərsiz. Bir qədər praktika etdikdən sonra 10.000 sətir kod sizin üçün uşaq oyunu olacaq.
9. Güclü komputer lazımdır
Yeni başlayanlar proqramlaşdırma üçün güclü bir komputer və bir neçə monitorun lazım olduğunu düşünürlər. Bu belə deyil. Başlanğıc üçün adi komputer(2-3 RAM və i3 prosessor) də kifayət edir. Həmçinin, böyük ekrana və bir neçə monitora da ehtiyac yoxdur.
10. Kodları anlamaq çox çətindir
İlk baxışdan kodlar çox mürəkkəb və anlaşılmaz görünür. Onda Çin heroqliflərinə baxaq. Bilməyən şəxs onların içərisində yalnız işarələr görür, lakin dünyada 1,3 milyard insan asanlıqla Çin yazılarını oxuyur, yazır və anlaya bilir. Kodlar isə heroqliflərdən və digər xarici dillərdən daha sadədir. Bu dili eşitməyə və tələffüz etməyə ehtiyac yoxdur. Proqramlaşdırma dilləri baza üçün adətən əsas 50-100 metod, funksiyadan ibarət olur.
11. Veb sayt yaratdım, artıq “proqramistəm”
Veb saytların yaradılması dolayısı ilə HTML, CSS və ya ümumiyyətlə, proqramlaşdırma əsaslarını bilmək tələb etmir. Hazır şablon və sistemlərlə hər kəs sayt hazırlaya bilər. Lakin professional web proqramçılar müxtəlif texnologiyalar və proqramlaşdırma dillərini sərbəst şəkildə bilirlər. Web proqramlaşdırma kurslarının şüarlarına zidd olaraq 1-2 ay ərzində bu cür biliklərə sahib olmaq mümkün deyil, hələ digər mifik öyrənmə müddətlərini demirəm. CodeBit-də proqramlaşdırma və veb saytların yaradılmasının əsasları minimum 6 ay(3 ay frontend və 3 ay backend) davam edir.

HTML, CSS, PHP, JavaScript, verilənlər bazası, client-server texnologiyaları, SQL, Apache, NGINX, versiya nəzarət sistemləri web proqramçının gündəlik qarşılaşdığı texnologiyaların cəmi bir hissəsidir. Ancaq qorxmayın: bir az çalışqanlıq və həvəs göstərməklə funksional veb saytlar yaratmağı öyrənə bilərsiz.
12. Proqramçılar hər şeyi sıfırdan yazırlar
Əgər proqramçılar bütün kodları sıfırdan yazsaydılar, biz bu qədər müxtəlif və faydalı proqramlar görməzdik. Müasir proqramlar yüz minlərlə kod sətrindən ibarətdir və onların əksəriyyəti daha əvvəl digər proqramçılar tərəfindən yazılmışdır. Proqramçılar tez-tez üçüncü tərəf kitabxanalar və digər layihələr üçün yazdıqları kodu istifadə edirlər. Bu, oyunlar, əməliyyat sistemləri daxil olmaqla, böyük proqramların yaradılmasını asanlaşdırır və sürətləndirir.
13. Kurs bitdikdən sonra öyrənmək də bitir
Kursda proqramlaşdırma dilini öyrənməklə iş bitmir. Dilin əsas sintaksisini öyrənmək çətin deyil, praktikada necə istifadə etmək çətindir. Öyrənmə prosesi heç vaxt dayanmır: öyrənməyi dayandırsanız, bir müddət sonra öyrəndiklərinizi də unutmuş olacaqsız. Bunun üçün öyrəndiklərinizi praktiki məşğələlərlə gücləndirmək lazımdır. Buna görə də CodeBit-də veb proqramlaşdırma dərsləri 85% praktikadan ibarətdir. Xarici dillərin öyrənilməsində olduğu kimi, uzunmüddətli fasilələr də öyrənmə nəticəsinə mənfi təsir göstərir.
14. Proqramçı olmaq üçün universitet bitirmək lazımdır
Bu mövzu həmişə müzakirə olunur və fərqli düşünənlər çoxdur. Kimin nə düşünməsindən asılı olmayaraq, proqramçı olmaq üçün universiteti bitirmək vacib deyil. Bunu öz tanışlarımdan, tələbələrimdən, özümün və dünya təcrübəsinə əsasən deyirəm. Universitet oxumağın ziyanı yoxdur, lakin VACİB deyil. Lazımlı məlumatların çoxu internetdə – online dərslərdə, kitablarda, forumlarda, tematik saytlarda var. Bu mənbələrdən istifadə etməklə universitetdə keçiləndən daha artıq biliyi, daha qısa müddətdə öyrənmək olar. Hətta evdən çıxmağa belə ehtiyacınız yoxdur. Əlbəttə ki, köhnə sistemin tərəfdarları “baza bilikləri və riyaziyyatı universitetdə öyrənmək daha yaxşıdır” deyəcəklər. Amma daha əvvəl qeyd etdiyim kimi, proqramlaşdırmaya başlamaq üçün inteqral hesablamağa ehtiyac yoxdur.

4 il sərf etmək əvəzinə, daha qısa müddətə kursda və ya fərdi müəllimlə nəzəriyyə və praktika yığaraq öyrənmə prosesini sürətləndirə bilərsiz. Şirkət və müəssisələr komandalarında diplomlu bir mütəxəssis görmək istəsə də, işini bilən təcrübəli amma diplomsuz mütəxəssisdən imtina etmirlər.
15. Əvvəlcə dilin sintaksisini öyrənmək lazımdır
Sintaksis – proqramlaşdırma dilinin qaydalarıdır. Əlbəttə ki, sintaksisi bilmək proqramlaşdırma dilinin bütün imkanlarından istifadə etməyə şərait yaradır, amma onu bütünlüklə bilmək vacib deyil. Dilin əsas konstruksiyaları sadə proqramlar yazmaq üçün kifayətdir. İstənilən zaman dil haqqında biliklərinizi artıra bilərsiniz. Təcrübə göstərir ki, illər boyu kod yazmaq da dilin bütün özəlliklərinizi biləcəyinizə zəmanət vermir. Proqramlaşdırma dilləri sürətli şəkildə inkişaf edir, yeni xüsusiyyətlər, funksionallıqlar əlavə olunur.
16. Proqramçı olmaq asandır
Proqramçı dedikdə peşəkar, işini bilən və bu işə ürəkdən həvəslə çalışan şəxsləri nəzərdə tuturam. Belə mütəxəssis olmaq üçün isə hər kəsin iradəsi, səbri, biliyi çatmaya bilər. Bir proqramlaşdırma dilini bilmək də “proqramçıyam” demək deyil. Proqramçı olmaq üçün bir çox: komanda ilə işləmək, tapşırıqların struktrunu hazırlamaq, dokumentasiya yazmaq, kodu test etmək və s. kimi bacarıqlar tələb edir. Əsl peşəkar proqramçı olmaq üçün vaxt, əzmkarlıq tələb edən bir çox texnologiya və metodikaları da bilmək lazımdır. İstənilən peşədə olduğu kimi davamiyyət, intizamlılıq, motivasiya sizin əsas köməkçiləriniz olacaq.
17. Öyrənmək çox vaxt tələb edir
Başlayandan 2-3 dərs sonra ilk kodlarınızı yaza bilərsiniz. Əlbəttə ki, bu kodlar ilə pul qazanmaq mümkün olmayacaq, amma sadə problemlərinizi həll edə bilərsiz. Aydındır ki, dərhal ağır, yuxarı səviyyəli proqramlar yaza bilməyəcəksiz, ancaq bunun üçün illər deyil, aylar ərzində öyrənə biləcəksiz. Proqramlaşdırma öyrənməyə çox vaxt və səy göstərsəniz, daha qısa vaxta uğur qazana bilərsiz. Universitetdəki kimi 4-6 il oxumağa vaxt sərf etməyə ehtiyac qalmayacaq.
18. Ən yaxşı proqramlaşdırma kursunu və ya dərsliyini axtarıram
Online minlərlə, offline isə Bakıda onlarla kurs var. Bu resursların hər biri fərqli şəkildə öyrədir və hər birinin öz metodikası var. Amma yaxşı kurs, müəllim və ya kitab yoxdur, özünüz üçün uyğun olan kurs, müəllim və ya kitab var. Bir neçə resursdan qeydiyyatdan keçin, kitablara baxın, video dərslər izləyin, offline proqramlaşdırma kursları haqqında məlumat əldə edin, sınaq dərslərinə yazılın və sonra sizə ən uyğun olan təlim formatını seçin. Yəqin ki, bir neçə yol olacaq: online kurslar + kitab və ya fərdi müəllim + xüsusi saytlarda problemlərin həlli və s. Əsas odur ki, daha az reklamlara inanıb, daha doğru seçim, daha çox cəhd və praktika edəsiz.
19. Proqramlaşdırma öyrənəcəyəm, qısa müddətdə tətbiq/sayt yaradacam və varlanacam
Varlı olmaq əla hədəfdir və proqramlaşdırma bu hədəfə çatmaqda kömək edə bilər. Amma qısa müddətə varlanacağınızı, pul qazanmağı unudun!. Bill Geyts, Mark Zuckerberg, Pavel Durov və ya Sergey Brin – bir gündə milyarder olmayıblar. Onlar illərlə təhsil alıb və çox çalışaraq hazırki vəziyyətə çatıblar.

2 həftəlik tədrisdən sonra mobil tətbiq və ya vebsayt hazırlayıb, varlanmaq deyə bir düstur, formul yoxdur. Proqramlaşdırma tez və asan pul qazanmaq istəyənlər üçün deyil. Buna baxmayaraq, proqramlaşdırma həm karyera inkişafı, həm də öz biznesinizi yaratmaq üçün böyük imkanlar açır.
👍2
20. Çətin proqramlaşdırma dili ilə öyrənməyə başlamaq lazımdır
Birinci sinifdə heç kəs sizə inteqral öyrətmir. Hətta vurma-bölməni belə, bir müddət sonra öyrədirlər. Proqramlaşdırmada da eynilə belədir. Motivasiyanı saxlamaq və qısa zamanda nəticə əldə etmək istəyirsinizsə, JavaScript kimi sadə dillərlə başlayın. Proqramlaşdırma üzrə baza bilikləri öyrənəndən sonra, digər dillərə asanlıqla keçə bilərsiz.
👍2