Obsah
- 01. Kódování to už neřeže
- Šířka a hloubka
- 02. Velká námitka
- 03. Co říká internet
- Pochopte médium
- 04. Věci, se kterými stavíme
- 05. Devops
- Pochopte stoh
- Tajemná práce
- Šikovné nástroje
- 06. Dev'i to opraví ... snad
- Ladění
- 07. Co uživatelé chtějí
- Konkurenční trh
- 08. Kreslení a psaní
- 09. Užívejte si
- 10. Zůstaňte ostří
- Líbilo se vám to? Přečtěte si tyto!
Vývojáři musí být více než jen gruntující pracovníci generující kód. Očekáváme více z našeho digitálního života a jsou to tito lidé, kteří ho vytvářejí, tak co potřebují vědět nejlepší vývojáři? Zde jsou věci, které podle mě chybí příliš mnoha vývojářům. To není vyčerpávající, ale právě tyto vlastnosti proměňují rozumného kodéra v úžasného vývojáře.
Není to však jedna věc a nikdy to není schopnost analyzovat XML nebo optimalizovat kód. Je to překvapivá sbírka dovedností, které se v knihách o psaní kódu nevyučují. Jsou trochu něco navíc.
Proč ventilovat takhle? Vzhledem k tomu, že na vývoji záleží, ale vývojáři jsou příliš často zasíláni do jiného světa, a to ne vždy. To nikdy nefunguje. Vývoj - cokoli technického - vždy prospívá, když ti, kteří vědí, jak rozumějí víc než jen kódu.
01. Kódování to už neřeže
Nacházíme se ve světě, kde se kódování stává méně působivým. Každý staví weby, některé z nich kódují, ale nemusíte. Už to není jen hloupý, kdo může vytvářet weby, aplikace a funkce.
Od té doby, co přišel web a lidé se mohli učit, byli vývojáři samouk. Ale i absolventi jsou ohroženi. Dostávám životopisy s lidmi s tituly z informatiky, kurzy AI, různými médii a kódováním, ale stále mi něco chybí. Někdy hodně chybí.
Nejsem první, kdo to řekl. „Kódování už to neřeže“ je název kapitoly 3 Vášnivý programátor, který spolu s knihami jako Pragmatické myšlení a učení naléhat na programátory, aby se zlepšovali nad rámec kódu; stát se odpovědnými a zcela lidskými členy týmu.
Šířka a hloubka
Vývojáři musí být lepší dvěma způsoby: šířkou a hloubkou. Musí pochopit šíři lidských interakcí v jejich týmu a s věcmi, které budují. Musí pochopit hloubku systému, se kterým pracují, až po O / S.
A nejsou to jen vývojáři, kdo by měl číst tyto věci. Pokud pracujete s vývojáři, myslím, že byste od nich měli očekávat více. Nechte je načrtnout, o čem to mluví. Nechte je vysvětlit pomocí obrázků, předmětů a (funguje) výřezů lidí přesně to, jaký bude systém pro lidi, kteří jej používají.
02. Velká námitka
Budu hovořit negativně o vývojářích, ale myslím si, že mi to bylo dovoleno, protože jím jsem. I proto, že alespoň jedna věc, o které zde mluvím, platí pro mnoho vývojářů, se kterými se setkávám. I když je jejich práce skvělá a znají svůj kód, časy jsou konkurenceschopné. Musíte mít výhodu, a to je:
- být více technický
a
- být hodně lidštější
03. Co říká internet
Googling pro „základní dovednosti v oblasti vývoje webu“ přináší to, co byste očekávali. Znalost rámce, prohlížeč x, CSS a JS. Uvádějí rámce, které byste měli znát, platformy, pro které musíte psát, a nové trendy, na které byste měli dávat pozor.
Toto jsou naše média. Jsou to věci, s nimiž stavíme, ale nejsou to, co dává projektu úspěch. Vývojář dokáže pochopit každý detail systému, sdělit vám všechny funkce rozhraní API a nové technologie CSS, ale přesto vytvoří něco nepoužitelného.
Pochopte médium
Vývojáři, stejně jako všichni, musí rozumět svému médiu - ale musí také rozumět publiku, ať už jde o uživatele, tým nebo jiné vývojáře. Musí pochopit, jak jejich médium zapadá do světa (jinými slovy do produkčního prostředí) a jaký má účinek (jak ho lidé používají).
Viděl jsem to popsat jako „širokou a hlubokou“ osobu. Široký, protože musíte chápat svět jako člověka, který pracuje s ostatními lidmi. Hluboko proto, že potřebujete důkladné technické znalosti pod úroveň vaší části projektu. Tito vývojáři dodávají vašemu projektu obrovskou podporu a mění jeho tempo, bez něhož zjistíte, že netechnický personál zapadá do zdlouhavých detailů, které přetékají technologickým týmem.
04. Věci, se kterými stavíme
Nedávno jsem si zapsal seznam všeho, co používáme k vytváření webů, správě hostingu a provádění věcí, aby se lidé, kteří se připojí, mohli během prvních několika týdnů naučit o cheatu technologií. Berli jsme to jako přečtené, že lidé o těchto věcech věděli, takže abychom mohli novým rekrutům dát nový start, uvedli bychom vše, co každý den používáme.
Očekával jsem půl tuctu technologií, ale skončil jsem s mnohem více. Tento seznam - „to, co používáme“ - obsahuje obvyklé CMS, programovací jazyky a technologie prohlížečů, ale také spoustu nástrojů, které si tým ani sám nepamatoval. Všechno to byla svalová paměť. Když na příkazový řádek napíšete „git“, „phing“, „thor“, ani nás nenapadlo, že to někdo nemusí.
Sestavte nástroje; CI; git pro správu verzí byly považovány za samozřejmost, ale ohlédnutí se za životopisy se sotva objevily. Objevily by se trendy (a je cynické, že si myslím, že je přidávají některé agentury ?!), ale často bez konkrétních zkušeností.
Tyto nástroje jsou důležité pro urychlení vývoje projektu, takže se ujistěte, že máte mnohem bohatší sadu nástrojů než váš jazyk, CMS a několik rámců. Potřebujete nasazení, testování, CI, silnou kontrolu verzí (v týmech - nikoli sami) a musíte pochopit základní koncepty těchto zásad, nikoli jen několik výukových programů.
05. Devops
Tyto další nástroje a triky úhledně zapadají do toho, co lidé nazývají „devops“. Devops letí tváří v tvář dvěma tradičním silám: produkci, která udržuje věci v chodu, a vývoji, který vyrábí nové věci (a často věci zastaví). Výsledkem sil jsou dva tábory, které k sobě navzájem nepatří.
Vývojáři bez produkčních znalostí častěji produkují kód, který není vhodný pro produkci, pomocí konfigurace nebo funkcí, které dosud nejsou v produkčním zásobníku. Protože si nejsou vědomi problémů produkčního prostředí, kódují, aby tuto funkci dokončili, místo aby ji nasadili do produkce.
Tyto malé podrobnosti mohou způsobit bolestivá zpoždění, která se zhoršují trendem odesílání správy serveru do zahraničí.
Pochopte stoh
Devops je samo o sobě obrovským oborem, který zahrnuje nepřetržité nasazení a spoustu automatizace. Toto je rozsáhlé shrnutí, ale klíčovou věcí, kterou musí vývojáři pochopit, je zásobník, na kterém běží. Nestačí to delegovat na správce serveru, musíte pochopit důsledky, které má platforma na váš kód.
Pokud pracujete na Rails, přečtěte si kód Rails a víte, jak je Ruby prováděn Apache. Pokud pracujete v Javě, víte o možnostech konfigurace. Pokud používáte Perl, pochopte, jak nainstalovat moduly Perl a konfigurovat je.
Tajemná práce
Seznam „co používáme“ obsahuje spoustu těchto věcí a dobří vývojáři k tomu skočí, aby pochopili, jak se tato záhadná práce provádí. A jakmile to získají, nasazení budou rychlejší, práce bude nasazena plynuleji a všichni budou šťastnější.
Kontinuální nasazování a související postupy devops se stávají tak standardními, že každý vývojář nebo společnost, která to nepraktikuje, se připravuje na předjíždění. Začne to dělat někdo jiný a pak bude rychlejší než vy.
Šikovné nástroje
Google pro „devops“ vám poskytne představu o nástrojích, které tito muži používají. Nejde o PHP a MySQL nebo Rails. Jde o přepravní software a udržení rizikových částí projektů bez rizika. Soustředí se na nasazení, automatizaci a co nejrychlejší udržení chodu kanálu z vývojářského do produkčního prostředí.
Zjistíte, že tento styl vývoje vám dává vývojáře, kteří lépe spolupracují navzájem i s ostatními odděleními a společnostmi. Pokud pracují s API od třetí strany, pochopí problémy, které se pravděpodobně objeví na druhé straně. Při práci se správci serveru pochopí, co potřebují nainstalovat, a budou vědět, jak fungují jejich softwarové weby na produkčních serverech. Zadní strana toho může být bolestivá ...
06. Dev'i to opraví ... snad
Toto hledání „základních dovedností webového vývojáře“ přináší příjemnou odpověď Michaela Greera (CTO CTO) na Quora:
- Lenost: Odmítá dělat cokoli dvakrát: napíše za to scénář nebo algo.
- Cowardice: Myslí na testování, obává se zatížení a dopadu kódu
- Recklessness: Neustále zkouší nové věci, uvádí nápady ve stejný den
Cowardice je pěkný způsob, jak formulovat „pozornost k detailu“. Ladění a testování je 99 procent života vývojáře, o kterém se nikdo nezmínil, když narazili na W3Schools nebo zahájili kurz výpočetní techniky 101.
Schopnost opravovat aplikace vyžaduje vynikající dovednosti při řešení problémů, ale nejen ladění kódu. Řešením pro uživatele, kteří si nemohou stáhnout své faktury, je někdy zajistit stránku pro tisk, místo aby strávili den generováním PDF. Někdy může odkaz nahradit týden vývoje, ale toto elegantní řešení se nestane, pokud vývojáři řeší problémy čistě psaním spousty řádků kódu.
Testování je skvělý slepý bod pro mnoho vývojářů, a to navzdory mnoha nástrojům. Používejte jednotkové testy, selen, zátěžové testování a profilovací nástroje, jako je xhprof. Analýza z věcí, jako je New Relic, aby vaše aplikace zůstala malá. A toto vše považujte za součást práce vývojáře: je to váš kód, ujistěte se, že víte, že funguje tak, jak bylo zamýšleno, než doufáte, že bude fungovat.
Ladění
Odladění je také bolavý bod. Ne jak používat ladicí program, ale jak ladit problém - přidal bych tedy na seznam Michaela Greera:
- Netrpělivost: agresivně ignoruje irelevantní informace k nalezení a vyřešení skutečného problému
To je základní kámen všech technik ladění. Ignorování irelevantní a nalezení významu v relevantním. Mnozí jsou bohužel náchylní k otrockému bušení irelevantních po celé hodiny nebo dny a vyřešení problému pokusem o desetkrát to samé.
Existuje mnoho knih (bohužel ne ta, kterou jsem hodil vydavateli, kterého nebudu jmenovat) o ladění a každý vývojář by si je měl přečíst všechny. Opravdu skvělý vývojář dokáže ladit problémy v systému, aniž by viděl řádek kódu.
07. Co uživatelé chtějí
Pochopte, o co se lidé ve vašem okolí snaží. Užijte si kód - milujte umění dokonalého odsazení souborů CSS nebo optimalizaci aplikace Rails - ale pamatujte, že je to všechno za nějakým účelem.
Vývojáři musí rozumět podnikání, operacím a obchodním procesům, protože jejich věci to pomáhají provozovat. Devs s těmito znalostmi jsou schopni vytvářet software a aplikace, které pomáhají uživatelům, ale často se zdají neobvykle produktivní. Může to být kvůli jejich rychlému psaní nebo úžasným znalostem zásobníku, ale pravděpodobněji kvůli jejich znalostem toho, co uživatelé chtějí.
Konkurenční trh
Vraťme se k původnímu bodu, že vývoj je stále snazší a trh skvělých vývojářů je konkurenceschopnější, každý vývojář, který dokáže pochopit obchodní požadavky a přinese něco vynikajícího, aby jim vyhověl, bude mít výhodu. Pochopte, jaký je trh, zákazníci a proč se lidé rozcházejí s penězi.
Pochopte data a jak se budou časem měnit. V mysli vývojáře by měli spojovat nové technologie s výzvami, které dnes máte, nebo uvidíte přicházet. Tímto způsobem, když navrhnete fantazijní nový nápad MD nebo klientovi, bude to založeno na tom, co zákazníci opravdu chtějí, a získáte rozpočet / čas. (Naproti tomu nejhorší věcí, kterou je třeba sledovat, jsou vývojáři, kteří prodávají svou novou oblíbenou technologii jako řešení všech našich neduhů.)
Vývojáři mají spoustu kontroly - potřebují vědět, co každé pole v databázi znamená pro koncového uživatele? Pokud údaje změníme, co uvidí uživatelé? Existuje lepší způsob, jak pomoci uživatelům? Pohled administrátorů DB je příliš často na to, že svět je špatným odrazem jejich databáze, spíše než jejich databáze je špatnou reprezentací skutečného světa. Svět je nepořádek a překvapivě plný okrajových případů. Vyřešte to, administrátoři DB.
08. Kreslení a psaní
Kreslení je nejpřímější způsob komunikace, jaké budou věci. Vývojáři musí být schopni nakreslit své nápady na tabuli, papír a podložky pod pivo.
Vývojáři musí být schopni prototypovat na papír, tisknout snímky obrazovky a čmárat je, aby mohli sdělit svůj záměr. Nevěřte vývojáři, který přikývne, říká, že rozumí a otevírá svého editora.
Selhání levně: nejlepší kódování začíná kreslením jako rychlý prototyp. Častěji selhávejte a ujistěte se, že všichni vývojáři kolem vás dělají totéž, protože s větší pravděpodobností tak uspějete.
09. Užívejte si
A co když budete muset strávit 10 hodin řešením problému přesunutím odkazu? Užijte si to - i když je to jen výzva projít prací.
Nejhorší přístup vývojářů (nebo kohokoli) je apatie k tomu, čeho se tým snaží dosáhnout. To je bohužel běžné, protože vývojáři vidí sami sebe mimo to, čeho tým dosahuje. (Vášnivý programátor si klade otázku: „o kolik větší zábavy byste si mohli udělat svou práci?“ - zkuste to.)
A buďte připraveni ukázat svou práci, protože to bude naopak: nerozšiřujte vyzkoušení několika tutoriálů o Ruby na 'Experience of Ruby'!
Vývoj webových aplikací a aplikací je stále mladá profese, ale dovednosti, které skutečně potřebují vývojáři, se rozšiřují. Každý by měl očekávat více vývojářů, protože čím dříve všichni vyjdeme z ošklivé zadní místnosti a zapojíme se do tvůrčího procesu, tím lepší budou výsledky.
10. Zůstaňte ostří
Abychom to dostali do pěkného kola 10, přidám jednu poslední věc. Zůstaňte ostří. Najděte konkurenci. Nejhorší je cokoli v izolaci.
„Vždy buď nejhorší v každé kapele, ve které jsi.“
Nejhorší - opravdu, velmi špatní - programátoři, programátoři, designéři se učí své věci a odpočívají na vavřínech. Bez kardiostimulátoru je příliš snadné zpomalit a bez konkurence se stává zvykem vidět se nadprůměrně.
Takže buďte tím nejhorším, co můžete, tím, že najdete lepší. Připojte se k projektům mimo práci, přispívejte a hledejte zpětnou vazbu a kritiku, protože čím více kritiky získáte, tím méně lidí vám v budoucnu dá. Když hádáte, co chtějí lépe než oni, pak jste vývojář ninja, který každý chce.
Dan Frost je technickým ředitelem webové služby s kompletními službami 3EV, oficiálním partnerem AWS. V oblasti CMS a vývoje webových aplikací pracuje sedm let.
Líbilo se vám to? Přečtěte si tyto!
- Jak vytvořit aplikaci
- Nejlepší webová písma zdarma pro designéry
- Objevte, co bude v oblasti rozšířené reality pokračovat