it-swarm-eu.dev

Co odlišuje výjimečné programátory od skutečně dobrých?

Víte, kdo jsou. Jsou to rockové hvězdy programování:

  • Kódují 10x rychleji.

  • Jejich kód prostě funguje.

  • Znají nejen svůj primární jazyk dovnitř a ven, ale také vědí, jak to funguje pod kapotou.

  • Zná odpověď na většinu otázek, než se na to zeptáte.

  • Několik z nich vynalezlo principy programování, které všichni používáme.

  • A bývají také netypicky pokorní.

Co je to o těchto lidech? Existuje něco o jejich myšlenkovém procesu, který se zásadně liší od nadprůměrného programátora? Nebo jsou to prostě velmi talentovaní lidé, kteří tvrdě pracují?

Jinými slovy: Jak se jim mohu podobat? Vím, co si myslím, že se musím naučit, abych byl tak dobrý, ale zdá se, že mi to potrvá dalších deset let, a pak moje znalosti budou zastaralé.

59
Robert Harvey
  • Skromný: Výjimečný programátor nikdy nebude tvrdit, že jeho kód je nejlepší, ve skutečnosti vždy budou hledat lepší způsob (Každá šance, kterou dostanou.) .

  • Pacient: Výjimečný programátor bude mít neomezenou trpělivost (To neznamená, že ztratí dny problémem. Viz: Poradce při potížích) .

  • Poradce při potížích: Výjimečný programátor bude schopen vyřešit problém za několik minut, což může průměrnému programátorovi trvat několik dní.

  • Curious: Výjimečný programátor nebude schopen odolat pokusu přijít na to, proč se něco děje.

  • Inženýr: Výjimečný programátor bude systémy spíše navrhovat, než spojovat dohromady mishmash frameworků (To neznamená, že nebudou používat frameworks.) .

88
ChaosPandion

Ve svém posledním odrážce jste na to hodně narazili:

"A mají tendenci být i netypicky pokorní."

Myslím, že je to kombinace pokory - nejen navenek, ale také uvnitř jejich myslí. Přijímají, že se mýlí, dělají chybu, a velmi rychle se obracejí z frustrace. Spousta programátorů něco zkusí, selže a pak se velmi rychle emocionálně zpracovává, což je stav, který je anathema psaní dobrého kódu. Musíte uznat, že nejste dokonalí a že se chystáte na závadu (často!) A že nejlepší, co můžete udělat, je naučit se, jak se rychle zotavit, když to uděláte. Je to skromný sebedůvěra, například: „Vím, že se budu bát, ale také vím, jestli se to snažím dál, nakonec se tam dostanu.“

V NLP se říká: „Neexistuje žádné selhání, pouze zpětná vazba.“ Abych byl rockovým programátorem, musíš to přijmout. Není nic, co nemůžete kódovat. Zpočátku to může být pomalé, ale pokud se budete stále pokoušet a odmítnete zastavit, když něco selháte nebo něco zlikvidujete, doručíte. A v tomto procesu se naučíte všechny mentální triky, které potřebujete, abyste se stali jedním z nejlepších.

Rada je samozřejmě pouze tak dobrá jako její zdroj, takže ... vše jen můj názor.

28
Pax Noctis

Záleží jim na jejich kódu.

25
JaredPar

Osobně nejlepší programátoři, které znám/věděl, rozuměli základům a nebyli odborníky v daném jazyce. Prostě měli dostatečnou zkušenost s téměř všemi. Kanonický „Jack všech obchodů“.

Je to více než základní věda, zkušenosti se skutečnými operacemi mají značnou hodnotu. Příklady, ty, které rozumí Unixové filozofii, a tak mohou vyřešit neznámé problémy s různými danými nástroji (IOW věděly, kde hledat), zdaleka převyšují Java odborník, který kódoval vláknové a paralelní řešení).

Vynikající programátoři také respektují ty, kteří k nim přišli. Nenávidí relační datové modely nebo se krčí, když vidí SQL jako formální API, ani se nezabývají matematikou v FORTRANu. Vědí, že OO není konec všeho) a především chápou, že programování je ART, ne věda.

15
Jé Queue

Když jsem poprvé začal, pracoval jsem s tímto chlapem, o kterém jsem si myslel, že je naprosto brilantní ve všem, co dělal z hlediska programování. Pravděpodobně stále je, ale nyní se přestěhoval do pozice ředitele společnosti v SE Asia.

Každopádně všechno udržoval jednoduché a jednoduché věci fungovaly. Nikdy nechtěl psát více řádků kódu, než bylo nutné, všechno, co udělal, prostě fungovalo. Hrál jsem dohonit rok, jen abych se přiblížil jeho úrovni. Druhá věc však je čas. Dělal věci mnohem déle, než jsem měl v té době, a měl příležitost klást tyto přesné otázky znovu a znovu, dokud neznal (zdánlivě) všechny odpovědi.

Neměl ani strach klást otázky. Myslím, že je to největší věc.

11
user2358

Matice kompetencí programátora

Mnoho témat vám pomůže určit, jaká je vaše úroveň programovacích témat.

10
Maniero

Odpověď na tuto otázku jsem se dozvěděl v knize o Texas Hold'em pokeru, ale vztahuje se na všechny frustrující snahy. Nejlepší kodéry nikdy nepřekračují. Going on Tilt je doba, kdy něco nefunguje tak, jak jste očekávali, a vy reagujete způsobem, který vytváří exponenciální chyby v celkové aplikaci. V turnajovém pokeru to způsobuje, že sázíte špatně a vyhazujete se.

Při programování způsobuje náklon vytahování vlasů a psaní směšných záplat kódu, které fungují pouze v určitých případech aplikace. Tilt způsobuje, že programátoři ignorují potřeby projektu jako celku a uchopí okamžité uspokojení, aby vyřešili okamžitý problém. Tento problém se často vyřeší dnes, ale aplikace zítra trpí.

Nejlepší kodéři berou koncept náklonu a spravují ho takovým způsobem, který jim umožňuje vždy nahlížet na problémy z vnější perspektivy. Pokud to selže, vypijte trochu kofeinu.

7
JMC

Výjimeční programátoři:

  • Péče o jejich kód
  • Péče o uživatele, kteří používají svůj kód
  • Péče o lidi, kteří budou udržovat jejich kód
  • Péče o produktivitu
  • Péče o proces, nejen produkt

O faktoru „10x“ dvě věci:

  1. Musí být aplikována end-to-end. Není dobré psát kód 10x rychleji, pokud testování, přepracování a údržba trvá 10x déle.
  2. Věřím, že faktor „10x“ je odrazem toho, jak chudý je velký počet programátorů, spíše než protiklad toho, jak dobrý je malý počet programátorů.
6
darreljnz

většina z nich vypadá rezervovaně a nic zvláštního. ale kvalita je lepší, dokonce i obyčejní lidé chápou, jak jejich software funguje!

mám přítele, který napsal svůj první program ASM ve věku 10 let, nyní mu je 24 let, nedokončil univerzitu, ale to mu nezabránilo ve vytváření vlastní společnosti, vydělávat miliony :), ale z toho, co vidím, je obratný ve všem :)

výjimeční programátoři by s největší pravděpodobností říkali, že tento kód lze kódovat jiným lepším způsobem, než říci, že je to úplně špatně, a nižší pověst ostatních programátorů :)

„Co je na těchto lidech? Existuje něco o jejich myšlenkovém procesu, který se zásadně liší od nadprůměrného programátora? Nebo jsou to prostě velmi talentovaní lidé, kteří tvrdě pracují?“

myslím, že se rodí tímto způsobem, je to uvnitř jejich DNA: p nevím o jejich myšlenkovém procesu, ale ten nejlepší programátor, kterého jsem kdy věděl, měl epilepsii

3
shegy

Jen málo věcí odlišuje výjimku od typické.

Výjimečně:

  1. Velmi nadšený z jeho práce a snaží se dodat mistrovský kousek.

  2. Výkon a kvalita jsou velkým obrazem v jejich mysli ještě před zahájením kódování.

  3. Přemýšlejí o neustálém zlepšování po každém vydání.

  4. Udržují přísnou bdělost o alternativách a jsou rané adoptory.

  5. Jejich tématem v profesionálním životě je: „Napište méně sdělte více“.

  6. Stále přemýšlejí o logických perspektivách, i když ne kódují.

Typické

  1. Někdy poněkud vášnivý, ale snažte se ho splnit, protože je to konec konců práce. Pokud to není mistrovské dílo, je to v pořádku. Alespoň dodáno včas.

  2. Na výkon si vzpomene později, přesto jsou PC v dnešní době dostatečně rychlá.

  3. Vylepšení pouze v případě, že už není žádná možnost uložit úlohu.

  4. Není čas kopat do jiných technologií. Držte se toho, co vaše práce nyní vyžaduje. Naučí se další věci, až to bude potřeba.

  5. Tématem je: „Dělejte, co je žádáno, a vraťte se domů včas“.

3
RPK

Platí výjimeční programátoři spartánské principy .

Pozorný obrázek:

enter image description here

Tento článek: http://willcode4beer.com/design.jsp?set=codeReduction

A tento citát:

Každý blázen může věci zvětšit, složitější a násilnější. Pohyb v opačném směru vyžaduje dotek geniality - a hodně odvahy. - Albert Einstein

2
Ates Goral

1. - Vědí, co odřízlo, když čelí slepé uličce.

0
Gedean Dias

Vlastní propagace, a myslím to tím nejlepším možným způsobem. Mít práci, jako je programování, zejména v týmu, znamená, že není okamžitě zřejmé, kde se váš osobní příspěvek hodí do velkého obrazu, nebo kdo byl za který bit zodpovědný. Lidé, o kterých slyšíme a učíme se o nich jako „skvělí programátoři“, jsou IMO ti, kteří zvládli umění zveřejňování svých příspěvků, aniž by o tom zněli egotisticky nebo se soustředili na sebe. V mnoha případech je to vytvořením nástrojů, knihoven a softwaru, na které se my ostatní spoléháme, abychom si vydělali každodenní chléb.

0
Gaurav

Velmi dobrý související článek: The Free Electron (from randsinrepose.com)

Omlouvám se za to, že jsem tento článek nesestavil, ale body se od prózy snadno neoddělují.

0
Nicole

Mít kvalitu vlastní motivace a sebeurčení a také ochotu jít do propasti neznámého a být pohodlný s naprostou záměnou v rámci procesu, je obrovské. Není to ani tak o počátečních chytrácích, jak byste si mysleli, protože mozek se stává mnohem lepším ve věcech, které vždy dělá a přemýšlí. Na univerzitě jsem přišel z ničeho a pak jsem se stal velmi dobrým pouhým pouhým vytrvalostí, nikdy jsem se nevzdával, že jsem ten chlap, který měl problém, když se všichni ostatní unavili pokusem se na to přijít. Po tomto typu vytrvalosti se problémy staly jednoduššími a snazšími a vycházely z toho, že se jedná o noob na vysoké škole, až o to, že většina z nich byla v tomto bodě hanbou. Čistý talent nestačí a někdy může vést k odpočinku na vavřínech.

Také, Robertovi Harveyovi, stále píšete moje příspěvky, když zmiňuji cokoli s mým CMS, které jsem psal od nuly. Vidíte několik dalších seznamů odkazů, které mohou nebo nemusí napsat. Zatlačujete lidi dolů, kteří jsou motivováni sami sebou, což je ironické, že jste to zveřejnili. Jsi „muž“ v tomto malém vesmíru a nečteš věci podle jejich zásluh, spíše si jen rozmyslíš a smažeš podle svého rozmaru. Také příliš milujete Hvězdné války a pravděpodobně mávnete rukou automatickými otevíracími dveřmi v obchodě s vírou, že máte sílu.

0
Joonha

Programují čistě intuici. Není třeba myslet jen na toky.

0
John Shaft

ale zdá se, že mi to potrvá dalších deset let, než se to naučím, a pak moje znalosti budou zastaralé.

Bude. Už jste zjistili, že tito kluci jsou 10x rychlejší, a proto se to naučí za 1 rok a trvá vám 10. Pro vážnou část odpovědi si myslím, že už jsou super chytří (mohli by být velmi úspěšní v cokoli), milují kódování a z nějakého důvodu mají (nebo nacházejí) dostatek volného času na procvičování kódování nebo práci na osobních projektech.

Pokud se ptáte na tuto otázku, pravděpodobně nemáte, co to znamená (nebojte se, odpovídám sem, takže asi ani nebudu). Nedělejte si starosti, i když stále můžete být šílení dobří, pokud máte rádi kódování.

0
Kevin

Existuje spousta dobře zamýšlených příspěvků o pokoře, inženýrství, vášeň, trpělivost, nástroj pro odstraňování problémů. IMO jsou všechny povinné. Popisují však prvních 30% programátorů.

Myslím, že se ptáte na skutečně výjimečné programátory, nejvyšší 1%.

Jednou z věcí, které mi závidí příležitostný velmi vzácný talent, se kterým pracuji, je jejich schopnost udržet velmi velkou částku detailu o složitém systému v jejich hlavě najednou a být schopen ho rychle vyvolat. Myslím, že to dokážu příležitostně, možná jednou měsíčně, když jsem opravdu v zóně. Tento pocit je úžasný. Zdá se, že vývojář, na který myslím, je v této zóně většinu času .

Je to jedna zvláštnost, IMO, kromě schopností pokory, zvědavosti, inženýrství, vášně, trpělivosti a řešení problémů, díky nimž jsou opravdu výjimečné.

0
Kyle Hodgson

Výjimeční kodéry mají vliv na projekt nad rámec jejich vlastního kódu a nahlížejí na problémy dříve, než k nim dojde kvůli jejich zkušenostem. Vylepšují každého v týmu a šetří své projekty před špatným designem a správou.

Vlastně vytvořili něco výjimečného.

0
JeffO