Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: koss43 21. 07. 2013, 17:56:43

Název: Jak se zlepšit jako programátor?
Přispěvatel: koss43 21. 07. 2013, 17:56:43
Programoval jsem naposledy před 8 lety v PHP, tehdy jsem nevěděl ještě co je to LEFT JOIN, ale živil jsem se tím na částečný úvazek asi půl roku, pak jsem toho nechal a začal jsem se živit jako IT administrátor. Pak jsem si přes roky různě hrál, třeba dělal ve frameworku Symfony, Nette, Laravel a během 2 let mi tak nějak nalezlo do hlavy, jak asi to MVC funguje, co je to ORM atd...

Před měsícem jsem se vrhl naučit se dvojici Python/Django. Nejdříve oficiální kurz od Google na Python, pak ofiko kurz alá dokumentace Django. Teď jsem v Djangu udělal něco jako interní firemní adresář kontaktů s vyhledáváním, přičemž jsem šel cestou, že jsem se nesnažil bastlit, ale hledal jsem přes Google ty nejlepší návrhy řešení, které jsem implementoval, takže je to všechno čisťounké a napojené na ORM modely.

Moje otázka zní, jak se zlepšit, co dalšího naprogramovat, jak se posunout dál. Strašně se mi Django líbí a chtěl bych se tím živit jako freelancer pro zahraniční klienty (ano vím, že tato technologie v ČR moc nefrčí, ale v zahraničí!). Taky bych se chtěl posunout v Pythonu. Přijde mi, že za měsíc práce a učení jsem se úplně šíleně posunul, co radíte dál?
Název: Re:Jak se zlepšit jako programátor?
Přispěvatel: Lol Phirae 21. 07. 2013, 18:12:56
Rum, rum a pak este rum!  8) ;D
Název: Re:Jak se zlepšit jako programátor?
Přispěvatel: to_je_jedno 21. 07. 2013, 18:21:19
precist si knihu Programátor pragmatik a naucit se pouzit git.
Název: Re:Jak se zlepšit jako programátor?
Přispěvatel: ctirad 21. 07. 2013, 18:25:15
Nedávno jsem tu dával dotaz na Python a docela jsem se divil :D
http://forum.root.cz/index.php?topic=6807.0 (http://forum.root.cz/index.php?topic=6807.0)
Název: Re:Jak se zlepšit jako programátor?
Přispěvatel: ctirad 21. 07. 2013, 18:26:22
Aha, tys tam psal taky :D Tak to nic. Prostě to s Pythonem nějak nevidím, ale nevím, no. Jen nevím, proč je tak špatný.
Název: Re:Jak se zlepšit jako programátor?
Přispěvatel: koss43 21. 07. 2013, 18:51:20
Aha, tys tam psal taky :D Tak to nic. Prostě to s Pythonem nějak nevidím, ale nevím, no. Jen nevím, proč je tak špatný.

Ono to vůbec takto není, nedávno jsem viděl v US inzerát na Python/Django programátora se znalostí virtualizace XEN/KVM a Linuxu za 200k USD, což je i na USA velmi, velmi dobrý plat.

Dobře to psal Lenin, chceš-li dělat mainstream počítej s opravdu silnou konkurencí. Hodně lidí ti napíše, jak je PHP super, ale věř mi, že je to takový mainstream, že sehnat v tom opravdu dobře placenou práci je docela kumšt! Naopak u méně používaných jazyků a technologií platí "jednooký mezi slepci králem". Stejně tak bys mohl říci o Linuxu, že má 1% podíl na trhu OS, tak proč se ho učit, ale to, že joby pro Linux jsou 2x lépe placené než pro Windows, to vidí málokdo...
Název: Re:Jak se zlepšit jako programátor?
Přispěvatel: to_je_jedno 21. 07. 2013, 21:07:50
jak je PHP super, ale věř mi, že je to takový mainstream, že sehnat v tom opravdu dobře placenou práci je docela kumšt!
To neni otazka mainstreamovosti. Naopak u PHP neni zase tak tezke byt kousek lepsi nez stado. Co ja vidim jako velkou vyhodu pro lepsi mista je "to okolo" (štábní disciplína - git, unit testy, schopnost pouzit bug tracking atd).
Název: Re:Jak se zlepšit jako programátor?
Přispěvatel: Ivan 21. 07. 2013, 21:34:57
Pokud se chces naucit programovat tak ti dam radu, kterou jsem dostal pred 15ti lety od jednoho mistra: "Cti zdrojaky, cti zdrojaky, cti zdrojaky". A pak pridam jeste jednu svoji: "Cti standarty a specifikace". Samotnym kodovanim se moc nenaucis, porad budes opakovat ty samy chyby a jen blbec se uci z vlastnich chyb. Schopnost zorientovat se v cizim kodu je nakonec mnohem dulezitejsi nez schopnost neco "uprasit".
Název: Re:Jak se zlepšit jako programátor?
Přispěvatel: koss43 21. 07. 2013, 21:58:04
Co ja vidim jako velkou vyhodu pro lepsi mista je "to okolo" (štábní disciplína - git, unit testy, schopnost pouzit bug tracking atd).

Může mi tu někdo vysvětlit, proč se v inzerátech uvádí znalost Git nebo CVS. Já jsem byl na hodinovém kurzu Gitu, pochopil jsem jak to funguje a nyní v IDE používám push a pull, u SVN zase update a commit. Já myslel, že verzovací systémy zvládne i cvičená opice, ne? Klidně mě opravte, pokud se mýlím.

A co se týká unit testů, tak to je snad jen o tom, že člověk na to má nějaký čas a není línej, jinak alespoň v Djangu co jsou unit testy, tak na tom není nic těžkého, člověk si zavolá nějakou funkci a pak jenom přes AssertEqual zjišťuje, jestli to vrací to co chtěl...
Název: Re:Jak se zlepšit jako programátor?
Přispěvatel: koss43 21. 07. 2013, 22:00:50
Pokud se chces naucit programovat tak ti dam radu, kterou jsem dostal pred 15ti lety od jednoho mistra: "Cti zdrojaky, cti zdrojaky, cti zdrojaky". A pak pridam jeste jednu svoji: "Cti standarty a specifikace". Samotnym kodovanim se moc nenaucis, porad budes opakovat ty samy chyby a jen blbec se uci z vlastnich chyb. Schopnost zorientovat se v cizim kodu je nakonec mnohem dulezitejsi nez schopnost neco "uprasit".

Jo, to mi přijde jako rozumné, třeba Python má hodně těch PEP specifikací a upřímně jsem se na ně ani neměl čas podívat, ale dívám se do dokumentace k Djangu. Ono opravdu asi člověk tím, že jenom bastlí v zažitých konvencích se nic lepšího nenaučí, ale mám takový pocit, že tohle v Djangu snad ani nelze. Ten framework je založen na dědění různých tříd a jejich přepisování funkcí, takže člověk opravdu musí tu dokumentaci číst!
Název: Re:Jak se zlepšit jako programátor?
Přispěvatel: to_je_jedno 21. 07. 2013, 22:11:24
Já jsem byl na hodinovém kurzu Gitu... verzovací systémy zvládne i cvičená opice, ne?
...
člověk na to má nějaký čas a není línej ...  na tom není nic těžkého
proto jsem se to snazil pojmenovat jako stabni kultura, mozna lepe "sebedisciplina". Neodmitat to - dril a zaziti pod kuzi. Brat to jako neco co proste je. Ne jako nejaky vopruz. Ono je prave rozdil samotar ktery odevzda cely program, jedinec ktery je sice samostatny ale podili se v nejakym projektu(treba opensource) a pak ciste prace v kolektivu firmy ktera ma jasne konvence.
Název: Re:Jak se zlepšit jako programátor?
Přispěvatel: njn 22. 07. 2013, 12:42:22
Co ja vidim jako velkou vyhodu pro lepsi mista je "to okolo" (štábní disciplína - git, unit testy, schopnost pouzit bug tracking atd).
Může mi tu někdo vysvětlit, proč se v inzerátech uvádí znalost Git nebo CVS.
...
Já myslel, že verzovací systémy zvládne i cvičená opice, ne?
Napoveda o tom jak moc enterprise ten projekt je a na co je kladen duraz.
Název: Re:Jak se zlepšit jako programátor?
Přispěvatel: njn 22. 07. 2013, 12:45:00
pridam jeste jednu svoji: "Cti standarty a specifikace". Samotnym kodovanim se moc nenaucis, porad budes opakovat ty samy chyby
Jo, to mi přijde jako rozumné, třeba Python má hodně těch PEP specifikací a upřímně jsem se na ně ani neměl čas podívat
Situaci kolem PEP hezky nasvetluje http://www.linuxjournal.com/content/pythonic-parsing-programs
A se ctenim ciziho kodu jako nejrychlejsi ceste k neopakovani tech stejnych chyb se neda jinak nez souhlasit.
Název: Re:Jak se zlepšit jako programátor?
Přispěvatel: 死神 22. 07. 2013, 15:00:53
jen blbec se uci z vlastnich chyb

Tak možná nevím úplně přesně, jak to myslíš, ale za mých mladých časů to bývalo tak, že blbec byl ten, kdo se ze svých vlastních chyb nepoučil, nikoliv naopak, jak tu tvrdíš ty. Holt časy se mění, přišla nová doba ;D
Název: Re:Jak se zlepšit jako programátor?
Přispěvatel: rooobertek 22. 07. 2013, 15:12:39
Může mi tu někdo vysvětlit, proč se v inzerátech uvádí znalost Git nebo CVS. Já jsem byl na hodinovém kurzu Gitu, pochopil jsem jak to funguje a nyní v IDE používám push a pull, u SVN zase update a commit. Já myslel, že verzovací systémy zvládne i cvičená opice, ne? Klidně mě opravte, pokud se mýlím.

O konfliktoch v gite by som mohol napísať knihu hrubšiu ako Starý Zákon, Nový Zákon a Korán dohromady.
Název: Re:Jak se zlepšit jako programátor?
Přispěvatel: Svetozar Bludna 22. 07. 2013, 17:34:59
jen blbec se uci z vlastnich chyb

Tak možná nevím úplně přesně, jak to myslíš, ale za mých mladých časů to bývalo tak, že blbec byl ten, kdo se ze svých vlastních chyb nepoučil, nikoliv naopak, jak tu tvrdíš ty. Holt časy se mění, přišla nová doba ;D

nikoliv naopak, jak tu tvrdíš ty -- Kde to tu tvrdí?
Název: Re:Jak se zlepšit jako programátor?
Přispěvatel: mixal111 22. 07. 2013, 18:10:29
Neviem ci citanie cudzieho kodu je ta najlepsia cesta. Ten cudzi kod musi byt dobry inak to moze byt kontraproduktivne. Radsej nejaku knizku o tom ako pisat dobry kod/blogy dobrych vyvojarov a pod.
Název: Re:Jak se zlepšit jako programátor?
Přispěvatel: mikrom 22. 07. 2013, 23:54:05
Moje otázka zní, jak se zlepšit, co dalšího naprogramovat, jak se posunout dál.
Tak ak nemas nejaky projekt na volny cas a ak ta bavi vo volnom case vrtat sa v kode a riesit problemy, tak sa prihlas napriklad na http://www.tek-tips.com a mozes tam pomahat inym programatorom riesit ich problemy. Je tam mnoho for zameranych na rozne jazyky/technologie/produkty.
Ja som tam cca od roku 2002 - povodne som sa pytal na nejaky problem, ktory som riesil v praci a dostal som uspokojivu odpoved.
Bavi ma to doteraz a myslim ze aj profesionalne ma to posunulo.

Název: Re:Jak se zlepšit jako programátor?
Přispěvatel: slanecek 22. 07. 2013, 23:57:58
A proč ne StackOverFlow.com ?
Název: Re:Jak se zlepšit jako programátor?
Přispěvatel: mikrom 23. 07. 2013, 00:10:09
A proč ne StackOverFlow.com ?
Pisal som napriklad. Moze samozrejme aj tam...
Název: Re:Jak se zlepšit jako programátor?
Přispěvatel: Luk83 23. 07. 2013, 09:44:45
než začneš psát :


a pak piš :


ve finále piš další projekty a opakuj to, jak ses naučil vyvíjet app (a pak piš)

Někdo ten proces určitě doplní ale počítej s drilem, kterej nekončí. Přítelkyně nebude ráda, ale zvykne si ;-)

Používat Git je jako řídit auto. Někdo se s tim nesere a někdo je pečlivej a využije jeho možnosti do detailu. Netvď že ho umíš používat a že je primitivní, protože ve finále víš houby. Stejně tak ostratní technologie. Pak přijde nějakej "blbec" a řekne ti že neumíš a napíše to co ty za 10% času, bez chyb, tudíž je schopnej vydělat 10x víc.