Chci se živit programováním - jak začít?

petr_berg

Chci se živit programováním - jak začít?
« kdy: 11. 05. 2013, 02:49:04 »
Ahoj, moje otázka je jasná: Chci z úplně jiného oboru přesedlat na programování a všechno se sám naučit a získat práci jako programátor. Lépe řečeno, ze začátku vezmu cokoliv, co se k tomu alespoň blíží a můžu se u toho dál vzdělávat.

Momentálně se intenzivně učím Python. Cca 6 let dozadu jsem ještě dělal (lépe řečeno - hrál si) v Pascalu/Delphi, umím taky HTML a základy CSS, PHP a MySQL. Úplný nováček teda nejsem. Myslím si, že dokážu samostatně tvořit algoritmy, jejich náročnost nedokážu posoudit. Naopak, zatím neumím třeba OOP. Taky nemám dostudovanou žádnou VŠ (zkusil jsem informatiku i humanitní směr, obojí jsem zrušil).

Můj cíl: Získat práci jako programátor, dál se vzdělávat (na VŠ zatím nemyslím, možná v budoucnu a ideálně v zahraničí). Nejvíc mě asi baví web, taky by nebylo špatné se orientovat na mobilní aplikace. Dlouhodobě bych chtěl získat nějakou práci, která by byla někde mezi programováním a "humanitní" oblastí (mám bohatou praxi se žurnalistikou).

Co mě teda zajímá:
1. Co a jaké jazyky se učit, na co se zaměřit? (krátkodobě / dlouhodobě) Pustit se pořádně do HTML/CSS/PHP nebo si spíš osvojit některý ze "základních" jazyků jako C / Java?

2. Je možné hned ze začátku, až nastuduji tutorialy a pochopím třeba Python, získat nějakou práci v oboru? Jasně, neočekávám žádnou vysokou pozici, klidně úplně něco nejnižšího, kde budu kódit a zároveň se učit?

Děkuji předem za jakékoliv rady.


Re:Chci se živit programováním - jak začít?
« Odpověď #1 kdy: 11. 05. 2013, 03:04:42 »
Nechceš .. jen se nudíš .. rozhodl ses dělat z druhých .. vtipné to už není.

Ramtech

Re:Chci se živit programováním - jak začít?
« Odpověď #2 kdy: 11. 05. 2013, 09:08:24 »
Nechceš .. jen se nudíš .. rozhodl ses dělat z druhých .. vtipné to už není.

Niektorý užívatelia root-a ovládajú telepatiu...

OndraB

Re:Chci se živit programováním - jak začít?
« Odpověď #3 kdy: 11. 05. 2013, 10:41:58 »
Ahoj,
pokud máš chuť na sobě makat, dost se učit a vrazit do toho opravdu hodně času, tak bych doporučil zkusit oslovit nějaké firmy. Pokud se Ti podaří dostat se do nějakého zaběhlého týmu, máš možnost se toho spoustu naučit. Ono se to té firmě taky vyplatí (pokud budeš levný). Dále je učení se za pochodu poměrně rychlé (oproti třeba za týden po práci si projdu tehle tutoriál :) ). Chce se to nebát - možná to zní blbě, ale je to důležité. Ze začátku se prostě dělá spoustu chyb a některé můžou být hodně drahé. Ale kdo se bojí nesmí do lesa.

Jakým směrem se vydat, to asi nikdo jiný než Ty nezjistí. Jdi do oblasti která Tě baví - v této oblasti budou nějaké zaběhnuté jazyky, takže i výběr jazyka se Ti zúží.

Přeji hodně úspěchů.

Evzen

Re:Chci se živit programováním - jak začít?
« Odpověď #4 kdy: 11. 05. 2013, 10:46:17 »
Cca 6 let dozadu jsem ještě dělal (lépe řečeno - hrál si) v Pascalu/Delphi, umím taky HTML a základy CSS, PHP a MySQL. Úplný nováček teda  nejsem.
Ano,jsi úplný začátečník.jestli SIS něco bastlil v delphi před 6 lety, tak ted už z toho nebudeš umět nic. HTML a CSS si dnes píše jako znalost každej blbec, jediny , co se bere jako plus je Html5 a css3 s kombinaci javascriptem a znalosti jQuery.
To PHP bych u tebe bral taky s rezervou, kort pokud neumíš OOP. Bastlicu v PHP je všude tuny, každém z nich si udělal jeden tutorial jak udělat formulář, uložit něco do DB a pak to vypsat a prohlásí se za guru v PHP.
Znalost SQL já osobně považují za klíčovou. Lidi si to opět řadí píšou do životopisu, a většinou to znamená, ze umí CRUD operace nad tabulkou, ale něco jako normalizace,  stored procedury, triggery, skládané dotazy, joiny neznaji. O SQL injection nemluvě.
Nauč se OOP, to je klíč k úspěchu, pokud nechces programovat šváby v assembleru či čtečku.
Nauč se základy z javy nebo PHP, chceš li a přečti si návrhové vzory a zkus si něco dle toho naprogramovat. Většina lidi da tak singleton a dal jsou v pasti.
Přečti si něco o návrhu aplikace, něco o třívrstvé architekture, pokud půjdeš do PHP, tak se nauč pracovat s frameworkem typu NETTE, a pak ti mužů popírat jen hodně štěstí při hledání takového zaměstnavatele, který te bude ochoten doucit zbytek.

Hodně štěstí
Evžen


sdrgtdasgf

Re:Chci se živit programováním - jak začít?
« Odpověď #5 kdy: 11. 05. 2013, 10:47:44 »
Ahoj,
pokud máš chuť na sobě makat, dost se učit a vrazit do toho opravdu hodně času, tak bych doporučil zkusit oslovit nějaké firmy. Pokud se Ti podaří dostat se do nějakého zaběhlého týmu, máš možnost se toho spoustu naučit. Ono se to té firmě taky vyplatí (pokud budeš levný). Dále je učení se za pochodu poměrně rychlé (oproti třeba za týden po práci si projdu tehle tutoriál :) ). Chce se to nebát - možná to zní blbě, ale je to důležité. Ze začátku se prostě dělá spoustu chyb a některé můžou být hodně drahé. Ale kdo se bojí nesmí do lesa.

Jakým směrem se vydat, to asi nikdo jiný než Ty nezjistí. Jdi do oblasti která Tě baví - v této oblasti budou nějaké zaběhnuté jazyky, takže i výběr jazyka se Ti zúží.

Přeji hodně úspěchů.

ma pravdu predseda.
pro cloveka technickeho typu je programovani dobra cesta.  matematika, fyzika, strojirenstvi jsou dobra znalost i zde.
muzes si vyzkouset ruzne jazyky/syntaxe: C, C++, Java, Python, Php.
ruzne frameworky, trochu se otrkat v ruznych algoritmech, datovych strukturach.

Re:Chci se živit programováním - jak začít?
« Odpověď #6 kdy: 11. 05. 2013, 10:55:51 »
@petr_berg:
Obecně když budeš umět cokoli, vždycky se najde někdo, kdo to bude potřebovat. Je ale potřeba zdůraznit, že to co umíš musíš umět opravdu dobře. Tedy ne způsobem "Umím trochu PHP a chci se učit", to žádného zaměstnavatele nezajímá. V podstatě takovou větu zaměstnavatel slyší jako "neumím to pořádně, budu se v tom plácat". Málokdo bude někoho takového chtít zaměstnat, protože jakékoli tvoje učení bude zdržovat, a tím zvyšovat tvoji cenu (to co někdo jiný udělá pořádně za měsíc za 50 000 bude pro zaměstnavatele levnější než když se to ty budeš 3 měsíce učit a pak měsíc kódovat za 10 000 měsíčně).

Takže moje doporučení zní, uč se co tě baví nebo co ti sedne nejlíp, ale nauč se to pořádně do hloubky, do souvislostí.

Hint: Jediná možnost, jak umět programování pořádně, je pochopit, jak obecně funguje operační systém a jak obecně funguje počítač až na úrovni procesoru a paměti. Jedině s těmahle znalostma pak můžeš opravdu dobře programovat, a vlastně všechno další učení (programovací jazyky) už půjdou samy od sebe, protože je to v principu všechno pořád stejné.

Mě třeba naprosto nejvíc dal dvouletej kurz Mikroprocesory na ČVUT - FJFI. Nicméně poud chceš jen doporučit konkrétní literaturu, tak to opravdu nevím.

Jakub Galgonek

Re:Chci se živit programováním - jak začít?
« Odpověď #7 kdy: 11. 05. 2013, 11:03:30 »
nebo si spíš osvojit některý ze "základních" jazyků jako C / Java?

C/C++ bych ti já osobně hned na začátek příliš nedoporučoval. Dá se tam docela snadno střelit do nohy, třeba v jednom místě programu si vykropíš paměť, ale v úplně jiném místě ti to pak spadne. Navíc je tam spousta konstrukcí, u nichž není pevně dáno, jak se vyhodnotí. Na jednom překladači ti to fungovat bude, na jiném nemusí. V Javě je mnohem složitější (i když ne že by to také nešlo) napsat program, který se v různých prostředích bude chovat různě.

STE

Re:Chci se živit programováním - jak začít?
« Odpověď #8 kdy: 11. 05. 2013, 11:06:56 »
Zacni s C/C++ a pribal k tomu tohle: http://knihy.cpress.cz/umeni-programovani.html.

Re:Chci se živit programováním - jak začít?
« Odpověď #9 kdy: 11. 05. 2013, 11:10:08 »
Jo a jestli chceš dělat web, tak bych do budoucna prorokoval že bude čím dál tím víc používané programování v browseru, tzn  JavaScript. Jak říkal už Lenin, objekty objekty objekty. Když tak nad tím přemýšlím tak si nejsem úplně jistý jestli u tohohle směru je ještě třeba znát něco o operačních systémech nebo mikroprocesoru, skoro bych řekl že v tomhle ohledu moje předchozí rada asi ani už moc neplatí, v danej moment je totiž "operačním systémem" sám browser.

Ramtech

Re:Chci se živit programováním - jak začít?
« Odpověď #10 kdy: 11. 05. 2013, 12:21:16 »
Začni prispievať do nejakého open source projektu to ti poslúžie lepšie ako CV a je to zadarmo

ttt

Re:Chci se živit programováním - jak začít?
« Odpověď #11 kdy: 11. 05. 2013, 12:26:53 »
Je to právě zadarmo, takže si tím moc nevydělá a nemá to cenu. Proč nezačít rovnou dělat někde za peníze něco méně odborného jako tester a postupně by se zlepšoval?

Re:Chci se živit programováním - jak začít?
« Odpověď #12 kdy: 11. 05. 2013, 14:42:22 »
Bože, vy jste hloupý. On vám neodpoví protože dobře baví, že jste mu na to skočily.
A to i když vám dal sám indicie.

petr_berg

Re:Chci se živit programováním - jak začít?
« Odpověď #13 kdy: 11. 05. 2013, 14:44:26 »
Díky všem za reakce, všechny názory a rady si cením!

Ad nováček: To, že nejsem nováček, jsem psal ve smyslu, že znám alespoň obecné základy. Vím, co je a jak se používá funkce, proměnné, operátory, umím pracovat s jednoduchým GUI apod. Je mi jasné, že to nestačí a neprohlašuju se za žádného guru :) Ale taky nejsem někdo, kdo v životě neviděl algoritmus a bude si muset procvičovat fungování funkcí nebo if/else.

To je důvod, proč se teď chci dobře naučit Python včetně OOP. Rozhodl jsem se tomu vyčlenit denně hodně času, na druhou stranu je mi ale jasné, že nejlepší praxi bych získal někde v týmu.

Proto bych chtěl vzít co nejdřív cokoliv, kde bych tohle mohl uplatnit a učit se složitější věci - je mi jedno, že by to nebyla příliš odborná pozice a že bych měl na obor podprůměrný plat, jde mi o to se do toho oboru vůbec dostat a pak se propracovávat výš. Moje filosofie je, že se nějak, i s chybama, začít musí a je to lepší, než sedět doma u knížek a hrát si s kódem.

Ad Přispívání do open source projektu: O tom vím, že je to dobrá alternativa, jak mít nějakou praxi. Preferoval bych to ale taky až u zaměstnání. Každopádně, doporučil by mi někdo info, jak s tímhle začít? Jak dobrá znalost jazyka je dostatečná (tím myslím, jestli je to vhodné pro začátečníky jako já, až se teda doučím alespoň to OOP)?

Vidím to tak, že budu pokračovat v Pythonu co nejvíc do hloubky, naučím se OOP a opráším PHP a naučím se dělat i s frameworky. Spíš bych se zaměřil na webové technologie a u toho se naučil alespoň základy C nebo Javy. Zdá se mi to jako nejlogičtější cesta pro mě.

jadd-rf: Ještě něco mi o mě prozradíš, co o sobě nevím? :)

nn

Re:Chci se živit programováním - jak začít?
« Odpověď #14 kdy: 11. 05. 2013, 14:46:27 »
V Javě je mnohem složitější (i když ne že by to také nešlo) napsat program, který se v různých prostředích bude chovat různě.

Mohli by ste prosim Vas blizsie vysvetlit, ako ste to mysleli? Dakujem.