Proqram mühəndisliyində yeni şeyləri effektiv şəkildə necə öyrənmək barədə 4 addım

Maksvell Nelson Unsplash-də

Hamımız burada idik və gec-tez hamımız yenidən buraya gələcəyik. Bəs əvvəlcə bu yazı haqqında nə deyim? Ağ bir palto geymirəm, yəni həkim olmadığım üçün bu yazı həqiqətən resept deyil, amma demək olar ki, 3 ildir istifadə etdiyim məsləhətlər və fırıldaqçı vərəqələri çıxartmaq və hər strategiyadır Haqqında danışacağam tətbiq ediləcəyi müəyyən bir ssenari var. Beləliklə, sağa atlanmağa imkan verir.

Səmərəli öyrənmə dedikdə nəyi nəzərdə tuturam?

Bəli, bu çox mücərrəddir, amma deyim ki, uzun müddət üçün bacarıqları öyrənmək nəinki bir şey işlətmək və ya həyata keçirmək üçün bir parça əldə etmək deyil, bilik əldə etmək, onu tətbiq etmək və sonra da öz qaydada tətbiq etməkdir. problemin həlli) qabaqcıl təcrübələri nəzərə alaraq.

Addım 1: Tarixi bilin

İndiki anlamaq üçün keçmişi bilməlisən. ~ Carl Sagan

Biz və dünyamız təkamül üzərində qurulur və dünyada olan hər şey, istər texnologiya, istər məhsul, istərsə də qida öz təkamül səyahətinə sahibdir. Yeni bir texnologiya öyrənərkən soruşmağımın əsas sualı "niyə belədir?"

İndi müəyyən bir texnikanın başlıq altında bu şəkildə işləməsinin texniki səbəblərini axtarmağa başlamağınızı demirəm, amma mütləq demək istədiyim aşağıdakı suallara cavab tapmağa çalışmaqdır və bəli siz doğru gedəcəyinizi təxmin etdiniz geri vaxt:

  • Bu texnologiya / məhsul hansı problemi həll edir?
  • Niyə bu problem ilk növbədə ortaya çıxdı?
  • Problem yarandıqda, digər həll yolları nələr təklif edildi?
  • Və nəhayət bu texnologiya / məhsul digər həll yollarını niyə döydü?

Daha yaxşı izah etmək üçün Apache Kafka'dan nümunə götürək. Bunu öyrənmək üçün mən Apache Kafkanın hansı problemi həll etdiyini soruşardım, niyə ilk növbədə bu problem yarandı? Bu problem yarandıqda dünyanın axtardığı digər həll yolları və nəhayət Apache Kafka onu texnoloji cəmiyyətdə belə bir sevimli hala gətirmək üçün nə etdi?

Yanaşmanın üstünlükləri: Yaxşı bu addımlara əməl etsəniz, nəinki Apache Kafka nədir, həm də Apache Kafkanın başqa alternativlərini də biləcəksiniz. Ən əsası, Apache Kafka'dan istifadə etməyəcəyinizi və eyni problem üçün bəlkə RabbitMQ üçün başqa bir həll yolu seçməyinizi öyrənəcəksiniz. İndi bu texnologiyalardan xəbərsizsinizsə, hər ikisinin də internetdən tez-tez istifadə ediləcəyi və açar sözlərin hiperlink olduğu yerlərdə onları yoxlamaq üçün sərbəst hiss etdikləri yadınıza düşməz.

Addım 2: Qılınclar və qalxanlar

Unsplash-də Bogdan Kuprietsin fotosu

Üzr istəməyimə uyğun gəlmirsə, bu mənim öz bənzətməyimdir. Beləliklə, insanlar sağ qalma instinkti ilə doludur və təhlükə olduqda insanlar yaşamaq üçün alət dəstindəki bütün vasitələrdən (bacarıqlardan) istifadə edirlər.

Strategiyanın mahiyyəti Buna görə nümunə üçün bildiyiniz bütün bacarıq və texnologiyaların qalxan olduğunu və bilmədiyiniz şeylər qılınc olduğuna görə (çünki heç bir insan qutudan necə mübarizə aparmağı bilmir). Beləliklə, döyüşçü olmağa başladığınızı söyləyin və bir qalxandan (gücünüz) necə istifadə etdiyinizi bilirsiniz və necə mübarizə apardığınızı və bunun üçün qılıncdan necə istifadə etməli olduğunuzu öyrənməlisiniz.

Məsələn, əgər Python (qalxan) bilirəm, amma API (qılınc) nədir bilmirəmsə, İnternetdə sadə bir axtarış yolu ilə "Python-dan istifadə edərək necə bir API yaratmağı" öyrənmək üçün onlayn olaraq şeylər axtara bilərəm. bir çox dildə çox sayda dərs və çox vurğu. Ancaq bu yeni bir şey deyil, demək olar ki, hər kəs bunu edir, buna görə strategiyaya xəyal adı? Xahiş edirəm, xahiş edirəm sevinirəm, yuxarıdakı nümunə olduqca sadədir, amma deyim ki, python bilmirsinizsə və bir API nədir bilmirsinizsə və pythonda bir API düzəltməlisiniz (indi iki qılıncınız var və qalxan yoxdur). Bunu necə həll edərdiniz?

Sənə deyim, hamımız bunu edirik. Əvvəlcə dəqiq bir API nədir (bir qılınc seçin, qalxan etmək üçün kifayət qədər məlumat əldə edin) və sonra Pythonda API-i necə düzəldəcəyimizi (bir qalxan kimi API qılınc ilə) araşdırırıq.

İki əlinizdə də qılınc istifadə edərək mübarizə aparmağı öyrənə bilməzsiniz və yeni başladığınız zaman heç bir qalxan yoxdur. Bağışlamaq üçün üzr istəyirəm, ancaq bu belə işləmir.

Bəs bu strategiya nə ilə fərqlənir? Beləliklə, 2019-cu ilin mart ayında mənə Java-dan istifadə edərək Akka öyrənmək və tətbiq etmək çətinliyi verildi. Və mən bir neçə ay python öyrənən bir C # inkişafçısı idim. İndi Java-nı bilmirdim və Akka (İki qılınc) nədir bilmirdim. Beləliklə, yuxarıda müzakirə etdiyimiz yolu Akka ilə başladım və tarixi (1-ci addımdan) və tezliklə Akkanın nə olduğunu və hansı problemi həll etdiyini və niyə problemi həll etmək üçün Akkanı seçdiyimizi dərindən bildim. ilk yer amma 0 kodunu necə götürə biləcəyimi və bir nümunə götürə biləcəyimi bilmək. Sənədlər qorxuducu idi, əksinə mən hələ də sənədlərini başa düşə bilmirəm və Java-da izlədiyim hər dərs heç bir məna vermədi. Bəs mən nə etdim?

Bir Qılınc və Qalxanları qiymətləndirdim, Qalxanlarım C #, Python idi, Akka haqqında yeni biliklər əldə etdim. Qılınclarım: Java, kodlaşdırma Akka həlləri. Beləliklə, C # və Pythonda Akka tətbiqetmələrini axtardım və C # istifadə edərək Akka tətbiq etmək üçün akka.net adlı birini tapdım. Həftə sonu C # -də bir layihə üzərində işləyərək C # -də Akka ilə kod yazmağı öyrəndim və Bazar ertəsi günü işə qayıtdıqda Akka nəyin olduğunu, nədən istifadə etməli olduğunu və bunun üçün necə kodlayacağımızı bildim (indi bir qalxan) ) və sonra nə etmək istədiyimi bildiyim üçün sadəcə "bunu necə etmək lazım olduğunu / bu akka java" (java qılınc olan) axtarmalı oldum və veb bu dəfə mənim xeyrimə işləyirdi.

Addım 3: Dərs proqramını oğurlayın, yalnız birini izləyin

Bu, əsasən sahəyə yeni başlaması üçündir, lakin olduqca faydalıdır. Öyrənmək üçün onlayn kursları olan bir çox veb sayt / ərizə var və hamısı bir qiymət etiketinə sahibdir və hamı bu abunəliyi ödəyə bilmir və hamısı YouTube-a gedir və məzmun axtarır və bir çoxu var. uğurlu, lakin bir çoxu deyil. Çünki orada çox səs-küy var, bir çoxumuz itirməyə və nəticədə maraq itirməyə meylliyik. Belə bir vəziyyətdə özünüzü taparsanız, sizin üçün mükəmməl fırıldaqçı vərəqəm var və cəmi 0 pula başa gələcəkdir !!

Cheat Sheet Bu ödənişli üzvlüyün hər hansı birinə keçin, yalnız veb saytlara abunə olun və keçmək istədiyiniz bir kurs tapın. Çox tapdınız? Mükəmməl indi bu kursları 3 mərhələyə bölünür Başlanğıc, Aralıq, Qabaqcıl (bu veb saytların bir çoxunda məzmunu bu kimi təsnif olunur). Artıq kurslarınızı sıraladığınızdan, məzmun cədvəllərini çıxarın və bütün məzmun cədvəlini 3 kateqoriyaya (Başlanğıc, Aralıq və Qabaqcıl) uyğun olaraq vahid halına gətirin və orada sizdə var. Bir texnologiyanın başlanğıc səviyyəsində olmaq üçün əhatə etməli olduğunuz şeylərin yuxarıdan altına qədər tədris proqramınız var, sonra bu texnologiyada başlanğıc səviyyəsindən orta səviyyəyə keçmək üçün bu mövzuları öyrənməlisiniz. Siyahıya sahib olduğunuzda, motivasiyalı olmağınıza kömək edəcək hədəflər qoyun və indi yalnız YouTube-a məxsus olan yeni mövzularınız və öyrənməyiniz mövzusunda. Başlamaq üçün aradığınız şeylərdə çox böyük bir fərq görəcəksiniz. "Başlayanlar üçün Python" və ya "Python'u öyrən" mövzusunda "pythonda siyahı anlayışları" üçün axtarış aparacaqsınız. Səs-küy yalnız pəncərədən çıxdı (kimsə səs-küy ləğvini söndürün)

Addım 4: Biliklərinizi sınayın

İndi bütün bu ipuçlarını işə salmağı və fırıldaqçı vərəqləri işə salmağı və yeni bir şey öyrəndiyinizi düşündüyünüz təqdirdə yolunuzu düzəldəcəyiniz üçün biliklərinizi sınamağın vaxtı gəldi. Bunun üçün sizə Stack Overflow və insanların cavab axtararaq suallarını göndərdikləri digər onlayn forumları təqdim edirəm. Yüksək təcrübədən tutmuş təzə başlayanadək hər cür insan orada suallar verir. Əldə etdiyiniz biliklərə əsasən onların suallarına cavab verməyə çalışın. Mənə inanın, burada və orada bir neçə suala cavab verə biləcəksiniz və sonra digər insanlar da cavablarını göndərəcəklər. İndi cavablarınızı digər cavablarla müqayisə edin və hansının daha yaxşı olacağını və nəyə görə olduğunu görməyə çalışın. Bu, öyrənməyə və prosesi sürətləndirməyə çalışdığınız texnologiya ilə kifayət qədər əllərinizi verəcəkdir. Uğursuzluqdan qorxma, çünki bir çox hallarda cavabı düzgün alacaqsınız.

Nəticə

Öyrənə biləcəyiniz bir çox yol və qaynaq var və bu blog yalnız daha çox fikir paylaşır. Beləliklə, fikirlərinizi bildirmək üçün şərh bölməsindən istifadə etməkdən çekinmisiniz? Ağılsız sual vermək və ya kiminsə sualına cavab vermək üçün onlayn forumlardan istifadə etməkdən qorxma. Onlara kömək etməyi başa çatdıracaqsınız və kiməsə onların kodlarına yapışaraq kömək etməyinizə və biliklərinizə təkan verməyinizə kömək edəcəksiniz.

Romalı filosof Seneca: "Biz öyrədərkən öyrənirik" dedi

Bu yazı faydalı olsaydı, zəhmət olmasa dəstəyinizi göstərmək üçün aşağıdakı düyməni bir neçə dəfə vurun! ⬇⬇