Jak se zlepšit jako programátor?

koss43

  • ***
  • 118
    • Zobrazit profil
    • E-mail
Jak se zlepšit jako programátor?
« kdy: 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?


Lol Phirae

Re:Jak se zlepšit jako programátor?
« Odpověď #1 kdy: 21. 07. 2013, 18:12:56 »
Rum, rum a pak este rum!  8) ;D

Re:Jak se zlepšit jako programátor?
« Odpověď #2 kdy: 21. 07. 2013, 18:21:19 »
precist si knihu Programátor pragmatik a naucit se pouzit git.
Děkuji za možnost editace příspěvku.

ctirad

Re:Jak se zlepšit jako programátor?
« Odpověď #3 kdy: 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

ctirad

Re:Jak se zlepšit jako programátor?
« Odpověď #4 kdy: 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ý.


koss43

  • ***
  • 118
    • Zobrazit profil
    • E-mail
Re:Jak se zlepšit jako programátor?
« Odpověď #5 kdy: 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...

Re:Jak se zlepšit jako programátor?
« Odpověď #6 kdy: 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).
Děkuji za možnost editace příspěvku.

Ivan

Re:Jak se zlepšit jako programátor?
« Odpověď #7 kdy: 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".

koss43

  • ***
  • 118
    • Zobrazit profil
    • E-mail
Re:Jak se zlepšit jako programátor?
« Odpověď #8 kdy: 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...

koss43

  • ***
  • 118
    • Zobrazit profil
    • E-mail
Re:Jak se zlepšit jako programátor?
« Odpověď #9 kdy: 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!

Re:Jak se zlepšit jako programátor?
« Odpověď #10 kdy: 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.
Děkuji za možnost editace příspěvku.

njn

Re:Jak se zlepšit jako programátor?
« Odpověď #11 kdy: 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.

njn

Re:Jak se zlepšit jako programátor?
« Odpověď #12 kdy: 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.

死神

  • ***
  • 159
    • Zobrazit profil
Re:Jak se zlepšit jako programátor?
« Odpověď #13 kdy: 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

Re:Jak se zlepšit jako programátor?
« Odpověď #14 kdy: 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.