Hrana vývojáře: Jak se stát senior vývojářem

Vylezte na žebřík znalostí. Hipster boty nejsou nutné.

Toto je část 2 ze série článků pro programátory, kteří chtějí vylepšit své dovednosti. Část 1 nás provedla v úplných počátečních fázích, kdy jsme se rozhodli najít nejúčinnější způsob, jak přejít od nuly k zaměstnatelnému vývojáři. Dnes budeme brát věci mnohem dále. Právě jsem vydal dvě online kurzy pro vývojáře: Kompletní webový vývojář v roce 2019 a Kompletní webová mapa pro vývojáře juniorů a seniorů

Tento článek je určen všem vývojářům, programátorům, programátorům, kteří hledají skok ve své kariéře poté, co prošli několika lety v oboru (nebo možná jen začínáte, ale rádi byste viděli, jakou cestu jste vy musí jít dál). Tento článek je určen pro ty, kteří mají jednoduchou touhu: Chcete být považováni za Senior Developer a chcete vyniknout ve svém oboru. Na konci tohoto čtení budete mít nastavenou cestu se seznamem nejlepších zdrojů, které vám umožní postupovat a stát se senior vývojářem. Woaa! odvážné prohlášení. Doufám, že jsem vás připojil. Pojďme se ponořit.

Zřeknutí se odpovědnosti: Stejně jako u všech věcí v životě si můžete vždy nastavit vlastní cestu. Ačkoli to nemá být jediný způsob, je to metoda, kterou jsem objevil ve své vlastní kariéře, a díky mnoha rozhovorům a rozhovorům, které jsem měl v minulém roce s lidmi, které považuji za starší a respektované programátory v komunitě. Do tohoto příspěvku jsem nashromáždil všechny společné rysy. Pod tím vším není jen článek o tom, jak se stát lepším vývojářem. Je to návod, jak optimalizovat svůj čas pomocí účinných a užitečných nástrojů, abyste ze svého života vytěžili maximum. Tento druh učení si můžete vzít kamkoli v budoucnosti.

Co chceme?

Všichni se snažíme být lepší v naší práci. Specifika tohoto tvrzení může být na individuální osobě. Většina lidí se však může dohodnout na několika společných věcech:

  • Nechceme procházet životem, který je považován za „nekompetentní“
  • Chceme být našimi spolupracovníky respektováni
  • Chceme se cítit chytří a úspěšní
  • Chceme se cítit oceněni

Abychom dosáhli výše uvedeného, ​​nemůžeme jen spočívat na vavřínech a očekávat, že k nám přijdou věci. Zejména ve světě programování, kde se technologie neustále mění a množství informací, které máme k dispozici, je ohromující, chceme soustředit naši pozornost na růst a učení bez vyhoření. Vzhledem k tomu, že stále více a více vývojářů přichází z vysokých škol a bootcampů, musíme si udržet své dovednosti ostré a způsob, jak se od sebe oddělit, je být inteligentní a efektivní při učení. Dostatek mluvit, pojďme se ponořit. Jako vždy se pokusíme zaujmout nejlepší přístup.

Co je starší vývojář?

Ne, být polyglotem, který umí kódovat v 10 různých programovacích jazycích a postavil si vlastní verzi Jarvisa, z vás neudělá staršího vývojáře (i když jste velmi talentovaní). Je to proto, že vedoucí vývojář je někdo, kdo přináší přírůstkovou výhodu stolu. Je to někdo, kdo dělá lidi kolem sebe lepší a je to někdo, kdo je schopen mít dlouhodobou vizi, poskytovat a důsledně vytvářet obchodní hodnotu. Můžete znát všechny skvělé funkční programovací techniky na světě, ale pokud nejste schopni dobře komunikovat se svým týmem nebo se nemůžete soustředit na poskytování skutečné hodnoty zákazníkovi, nejste vyspělým vývojářem. Toto je důležitý bod: Jakou hodnotu přinesete vaší společnosti / spuštění / podnikání? Pokud jste jedním z mála lidí, kteří mohou vaší společnosti nebo firmě přinést hodnotu velikosti (někteří lidé mají rádi 10x) hodnotu, jste senior vývojář. Senior Developer není jen další pracovní pozice, ale spíše schopnost využít své zkušenosti a poskytnout skutečný prospěch zúčastněným.

Mám to. Jak se mohu stát jedním?

Toto je část, na kterou jste všichni čekali (nebo si to představuji ... možná to nikdo nečte ... V tom případě si budu jen mluvit sám se sebou). Pojďme se podívat a uvidíme, jestli to zvládneme skrze všechno. Postupujte podle níže uvedených zdrojů a věnujte nějaký čas učení každému tématu. Pokud jste schopni aktivně pracovat na níže uvedených dovednostech, budete daleko před všemi ostatními. Tomu říkám Vývojová hrana: vždy budou lidé s více zkušenostmi než vy v oboru, ale můžete pracovat chytřeji a efektivněji shromažďovat různé kombinace dovedností, které vás od sebe oddělí. To nejen z vás dělá lepšího vývojáře, ale také zvyšuje vaše celkové štěstí, protože lidem dáváte skutečnou hodnotu.

Často přehlíženým aspektem učení je, že se musíte specializovat a zaměřit se pouze na jednu věc. Tak však život nefunguje. V životě je velmi vzácné, že potřebujete jen jednu dovednost. Zejména v oboru, jako je technologie, kde se věci mění (kdo ví, co inženýři strojového učení budou dělat za 5 let?), Musíte mít rozmanitou sadu přenositelných dovedností, které se promítnou do vás přizpůsobivosti.

Jedná se o 6 základních dovedností, které budete muset považovat za vývojáře:

1. Technické dovednosti

To je obvykle první dovednost, která přichází na mysl pro většinu lidí. Doufejme, že v tomto bodě jste přesvědčeni, že se jedná o malý kousek mnohem většího koláče. Nechápejte mě špatně, tuto dovednost potřebujete a nemůžete ji předstírat. Můžete však být inteligentní ohledně toho, na co se zaměřujete. Starší vývojáři tráví čas porozuměním PROČ TECHNOLOGIE. Proč tento problém existuje? Proč tento rámec existuje? Jaký problém řeší tato knihovna? Jako vývojář musíte mít dobrý přehled o všech nástrojích a nápadech, které mohou prospět životnímu cyklu vývoje, a vybrat nástroje, které budou mít největší pozitivní přínos pro projekt. Místo toho, aby se zaměřili na každou novou funkci vydání tohoto super efektivního testovacího rámce, zaměřují se na klady a zápory každého testovacího rámce, když se snaží vyřešit skutečný problém pro společnost. Ptají se například: „Co lze vylepšit v našem procesu kontinuálního doručování, abychom poskytli lepší produkt?“

Také chápou, jak jsou věci propojeny. Chcete-li začít takto přemýšlet, je mapování mysli skvělým nástrojem k seznámení. Je to v podstatě nástroj, který můžete použít ke skutečnému posunutí učení na další úroveň (Zde je skvělý příklad mapování mysli pro vývojáře Javascriptu). Tato mapa mysli pomáhá vašemu mozku navázat spojení mezi různými nápady a technologiemi.

Příklad: Kdybych byl vývojářem Javascriptu (což jsem, tak si nehrajte, předstírejte zde), tento kurz Cory House je skvělým příkladem věcí, které byste měli vědět, abyste propojili tečky v prostředí javascript. Jakmile budete mít dobrý přehled o nástrojích a technologiích ve vašem oboru, musíte si vytvořit názorovou mapu, s jakými problémy se produkty potýkají, když se mění, a kdy je předčasná optimalizace špatná věc. Tím, že máte toto spojení v hlavě výše uvedeného, ​​můžete zaměřit zdroje vaší společnosti na věci, na kterých vám nejvíce záleží, a to místo širokého pohledu namísto širokého pohledu.

Pokud jste vyšli z kódovacího bootcampu nebo nemáte titul z oblasti informatiky, musíte se začít učit o strukturách dat, algoritmech a dalších tématech z oblasti informatiky. Proč? Protože ačkoli se rámce a technologie mění, hlavní principy v informatice (většinou) zůstávají stejné. Porozuměním těmto tématům vyšší úrovně můžete opět vidět, že většina softwarových problémů a osvědčených postupů je v různých jazycích a časech obecně konstantní. Tato kniha (Rob Conery) a tato kniha (Gayle Laakmann McDowell) jsou pravděpodobně nejlepšími nástroji, které jsem v této oblasti našel pro zlepšení vašich dovedností. Přestože pouze poškrábají povrch, vytvoří základ pro další učení v budoucnosti.

Začněte poslouchat podcasty jako je Software Engineering Daily od Jeffa Meyersona, abyste si mohli udržovat aktuální přehled o současných problémech a výhledech celého odvětví.

Nakonec si přečtěte tento skvělý článek, který prochází některými dovednostmi podmnožiny z ryze technického hlediska.

2. Týmové dovednosti

Toto je často přehlížená dovednost. Jak pracujete se členy týmu? Jste drzý a hodnocený s recenzemi PR (pull request) a přispíváte k toxické kultuře? Nebo jste ohleduplní, spolupracující a povzbuzující členy svého týmu? Starší vývojáři nemají velká ega. Vědí, že jsou dobří, a nemusí se prokazovat ostatním. Píší čistě zjednodušující kód, spíše než kód, aby se pokusili předvést své dovednosti, které jsou ostatním členům týmu nečitelné. Jsou ochotni pomáhat ostatním a jsou ochotni klást otázky, když něco nevědí.

Zde přichází emoční inteligence. Sociální psychologie je důležitým nástrojem pro zlepšení této dovednosti a není nic lepšího než slavný Jak získat přátele a ovlivňovat lidi. Pamatujte: jak můžete zlepšit ty kolem vás? Pokud máte ve svém týmu 5 lidí, 1 + 1 + 1 + 1 + 1 by se měla rovnat větším než 5, protože ty kolem vás vylepšujete lépe (Im dostávám zlé oči od matematických puristů ... teď půjdu dál).

Pokud jste typem člověka, kterého se účastníte nějakého projektu nebo jakéhokoli týmu, jehož jste součástí, jste schopni se spolu se svými spoluhráči dostat a spolupracovat s ostatními, jste již míli daleko od většiny lidí . Usnadňujete také manažery, režiséry, mistry scrumu a životy CTO. To jsou lidé, kteří jsou povýšeni, a co je důležitější, jsou to lidé, kteří poskytují společnosti největší hodnotu.

3. Dovednosti klienta / uživatele

Dokážete mluvit s klientem nebo uživatelem a jasně vidět, jaké jsou jeho potřeby? Když vám něco navrhnou, chápete, kterým problémům čelí? Starší vývojář je někdo, kdo může zůstat sám s klientem a může být skvělým posluchačem, a poté nabídnout radu, jaké nejlepší kroky jsou k posunu vpřed. Jsou skvělí ve vytváření vztahů. Nejsou pushover, ale netlačí své názory na klienta. Chápou, že cílem je hra bez nultého součtu, kde klient i vývojáři získají interakcí. Nechte si tuto knihu přečíst, abyste na této dovednosti pracovali.

Nakonec musíte být schopni vysvětlit složité programovací koncepty netechnické osobě. Začněte rozvíjet tuto dovednost sledováním skvělých instruktorů rozdělujících složitá témata. Tady je můj oblíbený instruktor a můj druhý favorit. Přestože se učí obtížným tématům, můžete mezi nimi pozorovat určité společné rysy, díky nimž jsou oba skvělí lektoři.

4. Růstové dovednosti

Starší vývojáři se vždy učí něco nového každý den. To neznamená, že tráví 14 hodin denně sezením u počítače, kde čtou články. Jsou účinnější než to. Neustále se snaží mluvit s jinými vývojáři, klást otázky nebo zkoumat nová témata. Nezaměřují se pouze na jednu sadu dovedností. Můžete být tím nejlepším na světě, když uděláte jednu věc, ale pokud neznáte celé spektrum nebo nemáte obecnou představu o tom, jaký problém řešíte, již nejste nejlepší.

Mají růstové myšlení (věří, že inteligence je poddajná) a věří v úmyslnou praxi (stačí kliknout na odkaz. Je to zlato). Chápou, že učení všeho je nemožné a rozhodli se trávit čas na věcech, které si užívají, a věcech, na nichž nejvíce záleží.

Nehovoří jen: „Oh, nenávidím tuto knihovnu!“ Většinu času lidé, kteří říkají tyto věci, něco nenávidí, protože tomu úplně nerozumí. Například neříkej: „Nesnáším jQuery. Pouze špatní vývojáři stále používají jQuery ”a zvuk pompézní. Starší vývojáři říkají „jQuery byl nápomocný při vývoji webu a popularitě javascriptu“. Mají názory, které lze změnit, protože se baví učení od ostatních, a zkouší nové koncepty, než se rozhodnou, že něco „nenávidí“.

5. Dovednosti / Rozhovory

Starší vývojáři se mohou dostat do vyšších rolí, protože jsou schopni komunikovat a prodávat se lidem, kteří dělají tato rozhodnutí. Jste schopni vidět potřeby svého zaměstnavatele nebo firmy a můžete v ně vzbudit důvěru v to, že jste osobou, která to vyřeší. Jsi sebevědomý, ale skromný. Starší vývojáři jsou také dostatečně sebevědomí, aby převzali tyto role a byli schopni vykonávat tlak. Vědí také, že pokud se nikdy nezeptáte na odpověď, vždy není, takže žádají o povýšení nebo role, které je zpochybňují, protože věří, že jsou pro danou práci tou správnou osobou. Přestože prodej a vyjednávání mohou být pro některé považovány za ospalé, je to cenná dovednost, kterou musíte získat. Ramit Sethi má skvělý článek, jak začít. Přestože se jedná o sjednávání platů, některé zásady lze aplikovat i na jiné scénáře.

6. Komunitní dovednosti

Starší vývojáři přispívají do vývojářské komunity. Ať už se jedná o technické rozhovory, přednášky při setkáních, přispívání k otevřenému zdroji nebo dokonce psaní článků. Jsou typem lidí, kteří sdílejí informace s průmyslem. Místo toho, aby byli v uzavřené krabici jen svého pracovního prostoru, chodí ven a komunikují s lidmi v jiných komunitách, což jim umožňuje rozšířit jejich obzory. Je to jako cestování: Čím více kultur se setkáváte a mluvíte, tím více chápete podobnosti a rozdíly mezi lidmi a čím více to začnete oceňovat.

Jedna závěrečná věc

Pokud jste schopni aktivně pracovat na výše uvedených dovednostech, okamžitě se od sebe oddělíte. Z tohoto seznamu jsem však vynechal nejdůležitější téma: Baví vás to, co děláte. Pokud se vám nelíbí každodenní učení o počítačové vědě a vývoji softwaru, nikdy se nestanete senior vývojářem, protože z dlouhodobého hlediska nebudete mít chuť být lepší. Pokud jste někdy četli tak dobře, že vás nemohou ignorovat, chápete, že vášeň byla přehnaná. Skutečná vášeň přichází po zvládnutí dovednosti. Tvrdě jste pracovali, abyste se stali zdatnými a vůdci v oboru. Tyto dovednosti jste si vyvinuli a nyní vás úcta a výhoda, kterou poskytujete ostatním, tlačí, abyste se stali lepšími a lepšími, abyste získali více těchto dobrých pocitů. Takto rozvíjíte vášeň pro práci, kterou děláte.

Závěr

Pokud jste se naučili kódovat a hledáte další krok ve své kariéře, musíte myslet jinak. Jak jste schopni vyniknout? Jak jste schopni růst? Jak jste schopni lidem pomoci vyřešit skutečné problémy a poskytnout hodnotu? Stanete se vývojářem tím, že neděláte jednoduché věci. Děláte věci, které tlačí a vyzývají vaši mysl a úroveň pohodlí. Dozvíte se a každý den se přizpůsobujete stejně jako jste to poprvé dělali, když jste napsali ten první kód. Každý krok bude malý, ale za celý život se malý krok změní na kilometry. Nikdy nepřestávejte číst a nikdy se nepřestávejte učit, ale také vědějte, co je cenné využití vašeho času a co není.

Poslední věc…

Vytvořil jsem dvě online kurzy: Kompletní webový vývojář v roce 2019 a Kompletní webový plán pro vývojáře juniorů a seniorů. V prvním kroku vás provádím všemi výše uvedenými kroky, pokud chcete všechno na jednom místě, další pomoc nebo chcete mou práci podpořit. Každý kurz má přes 100 HD videí a 30 hodin obsahu. Trvalo to šíleně # hodin. Ale jsem opravdu hrdý na to, jak se všechno ukázalo. Vydávám to světu dnes, a protože je to sváteční období, můžete použít kuponový kód RELEASEYA77 a kurz bude pouze 10 $ (k dispozici pro prvních 100 lidí UPDATE: Vyprodáno)

Aktualizace: Prošli jsme 40 000 studentů z více než 180 zemí, kteří se zapsali do 6 měsíců. Stále chci podporovat ducha učení, takže použijte kuponový kód KHDKA7166 pro příjemnou slevu.

Děkuji za přečtení tak daleko. Omlouváme se za dlouhý příspěvek, ale pokud se vám tento příspěvek líbil, sdílejte jej, komentujte a stiskněte několikrát. . . Možná to bude někoho inspirovat k tomu, aby skočil do nové kariéry.

Sledujte mě na Twitteru a médiu, pokud máte zájem o podrobnější a informativní zápisy, jako jsou tyto v budoucnu!

1. Kompletní webový vývojář v roce 2019

2. Vyplňte cestovní mapu pro vývojáře webu od juniorů do seniorů