4 kroky k tomu, jak se efektivně učit nové věci v softwarovém inženýrství

Foto Maxwell Nelson na Unsplash

Všichni jsme tu byli a dříve či později jsme všichni znovu přistáli. Nejprve ale co tento příspěvek? Nenosím bílý kabát, což znamená, že nejsem doktor, takže tento příspěvek není ve skutečnosti předpis, ale co se snažím udělat, je rozdávat tipy a podvádět listy, které používám už téměř 3 roky a každou strategii Mluvím o tom, že má konkrétní scénář, ve kterém by byl použit. Takže umožňuje skočit přímo dovnitř.

Co mám na mysli, když říkám efektivní učení?

No, je to poněkud abstraktní, ale řečeno, řekl bych, že dovednosti učit se z dlouhodobého hlediska nejen že dostanou kus kódu pro práci nebo implementovat něco, ale spíše vezmou znalosti, využijí je a poté aplikují svým vlastním způsobem (navrhování řešení problému) s ohledem na správné postupy.

Krok 1: Poznejte historii

Musíte znát minulost, abyste pochopili přítomnost. ~ Carl Sagan

My a náš svět stavíme na evoluci a všechno, co je na světě, ať už jde o technologii nebo výrobky nebo dokonce o jídlo, má svou vlastní cestu evoluce. Hlavní otázkou, kterou chci, abyste se při učení nové technologie zeptali, je „proč je to tak?“

Teď pro vás nemyslím, abyste začali hledat technické důvody, proč určitá technika pracuje pod kapotou, ale to, co nutně myslím, je pokusit se najít odpovědi na níže uvedené otázky a ano, uhodli jste, že to bude v pořádku, zpět v čase:

  • Jaký problém tento produkt / produkt řeší?
  • Proč se tento problém objevil na prvním místě?
  • Když se problém objevil, jaká byla všechna další navržená řešení?
  • A konečně proč tato technologie / produkt porazila jiná řešení.

Pro lepší vysvětlení pojďme příklad Apache Kafky. Abych se to naučil, v podstatě bych se zeptal, jaký problém Apache Kafka řeší, proč se tento problém objevil na prvním místě. Když se tento problém objevil, jaká byla další řešení, která svět hledal, a konečně, co udělal Apache Kafka, učinilo ho tak oblíbeným v technické komunitě?

Výhody přístupu: No, pokud budete postupovat podle těchto kroků, budete nejen vědět, co je Apache Kafka, ale také znáte další alternativy Apache Kafka. A co je nejdůležitější, dozvíte se, kdy nepoužívat Apache Kafka a rozhodnout se pro jiná řešení stejného problému, například RabbitMQ. Nyní, pokud si nejste vědomi těchto technologií, je to v pořádku, pamatujte si, že se na internetu často diskutuje o tom, které z nich se mají použít a kde jsou klíčová slova hypertextové odkazy, abyste je mohli zkontrolovat.

Krok 2: Meče a štíty

Foto Bogdan Kupriets na Unsplash

Tohle je moje vlastní analogie, takže pokud se nehodí, omlouvám se. Takže lidé jsou plné instinktů na přežití a když jsou v nebezpečí, lidé přežijí všechny nástroje (dovednosti) v sadě nástrojů (které znají).

Podstata strategie Takže, například, všechny dovednosti a technologie, které znáte, jsou štíty a to, co nevíte, jsou meče (protože žádný člověk neví, jak bojovat mimo krabici). Řekněme tedy, že začínáte být válečníkem a víte, jak používat štít (je to vaše síla) a musíte se naučit, jak bojovat a za co potřebujete vědět, jak používat meč.

Například pokud znám Python (štít), ale nevím, co jsou API (meč), mohu jednoduše vyhledat věci online a naučit se „Jak vytvořit API pomocí Pythonu“ jednoduchým vyhledáváním na internetu a dostanu mnoho tutoriálů v mnoha jazycích a více akcentů. Ale tohle není něco nového, téměř každý to dělá, tak proč je fantastické jméno pro strategii? Jsem rád, že jste se zeptali, výše uvedený příklad je docela jednoduchý, ale co když řeknu, že neznáte python a nevíte, co je API a že musíte udělat API v pythonu (nyní máte dva meče a žádné štíty). Jak byste to vyřešili?

Řeknu vám, všichni to uděláme. Nejprve vyhledáme, co přesně je API (vyberte jeden meč, naučte se natolik, aby z něj byl štít) a poté hledejte, jak vytvořit API v Pythonu (druhý meč s koncepty API jako štítem).

Nemůžete se naučit bojovat pomocí mečů v obou rukou a bez štítu, protože právě začínáte. Je mi líto, ale to prostě nefunguje.

Jak se tedy tato strategie liší? Takže v březnu 2019 jsem dostal výzvu naučit se a implementovat Akku pomocí Java. A byl jsem C # vývojář, který byl jen pár měsíců hostinec s učením pythonu. Teď jsem neznal Java a nevěděl jsem, co je Akka (Dva meče). Tak jsem si vybral způsob, jak jsme diskutovali těsně nad tím, že jsem začal s Akkou a její historií (od Kroku 1) a brzy jsem měl hluboké porozumění tomu, co přesně je Akka a jaký problém to řeší a proč jsme vybrali Akku k vyřešení problému v první místo, ale 0 znalostí o tom, jak bych mohl skutečně kódovat a nechat běžet ukázku. Dokumentace byla zastrašující, spíše jsem stále nemohl pochopit jejich dokumentaci a každý výukový program, který jsem sledoval v Javě, nedal žádný smysl. Co jsem tedy udělal?

Provedl jsem hodnocení mečů a štítů, moje štíty byly C #, Python, nově získané znalosti o Akce. Moje meče: Java, řešení kódování Akka. Takže jsem hledal implementace Akky v C # a Pythonu a našel jsem jednu nazvanou akka.net pro implementaci Akky pomocí C #. Víkend jsem strávil prací na projektu v C #, abych se naučil kódovat s Akkou v C # a když jsem se v pondělí vrátil do práce, věděl jsem, co je Akka, proč ji používat a jak ji můžeme kódovat (nyní štít) ) a poté, co jsem věděl, co chci dělat, jsem prostě musel hledat „jak to udělat / že akka java“ (java je meč) a web tentokrát pracoval ve svůj prospěch.

Krok 3: Ukradněte osnovy, srandu prostě sledujte

To je hlavně pro toho, kdo právě začíná v terénu, ale je to docela užitečné. Existuje mnoho webů / aplikací, které mají on-line kurzy, které se mohou učit, a všichni přicházejí s cenovkou a ne každý si může dovolit tato předplatné a to, co všichni nakonec dělají, je jít na YouTube a hledat obsah a mnoho z nich je úspěšné, ale mnoho z nich není. Protože tam je tolik hluku, mnozí z nás mají tendenci se ztratit a nakonec ztratit zájem. Pokud se ocitnete v takové situaci, mám pro vás dokonalý podváděcí list a bude vás to stát celkem 0 peněz !!

Cheat Sheet Přejděte na některý z těchto placených členství, přihlaste se pouze na webové stránky a najděte kurz, kterým byste chtěli projít. Našli jste mnoho? (jeden také udělá) Perfektní nyní klasifikují tyto kurzy do 3 etap Začátečník, Středně pokročilý, Pokročilý (mnoho z těchto webů již svůj obsah klasifikuje jako tento). Teď, když máte všechny kurzy seřazené, vytáhněte jejich obsah a sloučte veškerý obsah do jedné do 3 kategorií (začátečníci, středně pokročilí a pokročilí) a tam to máte. Máte osnovy věcí, které byste měli pokrýt, abyste byli na úrovni začátečníků v technice, pak se budete muset naučit tato témata přecházet z úrovně začátečníků na středně pokročilé v této technice a tak dále. Nyní, když máte seznam, stanovte si cíle, které vám pomohou zůstat motivovaní, a nyní jen specifická témata na YouTube, v nichž se váš nový šablonový učební plán a učit se dál. Nejprve uvidíte obrovský rozdíl v tom, co hledáte. V části „Python pro začátečníky“ nebo „učit se Python“ budete hledat „seznam porozumění v pythonu“. Hluk právě vyšel z okna (někdo prosím vypněte potlačení hluku)

Krok 4: Otestujte své znalosti

A teď, když jste všechny tyto tipy a podvádět listy do práce a naučil se něco nového, je čas otestovat své znalosti, takže si můžete upravit svou cestu v případě, že jste odkloněni. Z tohoto důvodu vám představuji Stack Overflow a další online fóra, kde lidé zveřejňují své otázky a hledají odpovědi. Od vysoce zkušených až po čerstvě začínající lidi se na to ptají všichni lidé. Zkuste odpovědět na jejich otázku na základě znalostí, které jste získali. Věř mi v to, že budeš schopen odpovědět na několik otázek sem a tam a pak další lidé zveřejní odpovědi také. Nyní porovnejte své odpovědi s ostatními odpověďmi a pokuste se zjistit, která by byla lepší a proč. To by vám poskytlo dost rukou s technikou, kterou se snažíte naučit a urychlit svůj proces. Nebojte se selhat, protože v mnoha případech dostanete odpověď právě správně.

Závěr

Existuje mnoho způsobů a zdrojů, které se můžete naučit, a tento blog sdílí několik dalších nápadů. Takže neváhejte použít sekci komentářů a dejte mi vědět, co si myslíte? A nebojte se používat online fóra k pokládání hloupých otázek nebo odpovídání na něčí otázku. Nakonec jim pomůžete a nakonec pomůžete někomu uvíznout v jejich kódu a zvýšíte své znalosti.

"Zatímco učíme, učíme se," řekl římský filozof Seneca

Pokud byl tento příspěvek nápomocný, klikněte několikrát za klepnutím na tlačítko to p, abyste ukázali svou podporu! ⬇⬇