Programování není atletika, kde si natlučeš při špatném pohybu. Programování nebolí a pokud tě to bolí tak moc tlačíš na klávesnici.Matematiku potřebuješ i nepotřebuješ. Záleží co budeš programovat. Programování ber spíše jako cizí jazyk. Tím myslím, že můžeš perfektně umět španělsky, ale když neznáš recept na jahodový dort tak ten španělský recept na jahodový dort nenapíšeš. U programování je to stejné. Když neznáš účetnictví tak ten účetní software neuděláš. Takže se možná bez znalosti matematiky obejdeš, ale záleží co budeš dělat. Ovšem nějaké minimum potřebovat budeš, ale dá se říci že si celkem vystačíš se sčítáním, odečítáním, násobením a dělením, jo a ještě s porovnáváním dvou hodnot zda je jedna větší než druhá.Co se týče programátorů tak myslím že snad každý programátor je tak trochu (možná i více) "samouk". Ať už je to škola, kurz, nebo nějaké školení, tak to programátorovi dá jen cca 10% potřebných znalostí. Ale valnou většinu znalostí získáš tím samostudiem, často způsobem že na internetu hledáš jak podobný problém naprogramoval někdo jiný a ty ten jeho kód musíš upravit, aby fungoval ve tvém programu. Ovšem nemyslím si že se tím samostudiem dá začít. Když se vrátím k té atletice, tak dokud tě někdo nenaučí jak se má správně chodit, tj jak máš dávat jednu nohu před duhou, tak nikdy nebudeš dobrý sprinter nebo skokan o tyči. Už jsi viděl sprintera, že by běžel stylem kdy dá levou nohu vpřed, pravou nohu k ní přisune a pak zase dává tu levou vpřed? No to prostě nefunguje, musíš mít ten základ a vědět jak chodit. Pak samostudiem se můžeš naučit jak chůzi zrychlit až zjistíš že sprintuješ. U programování je to stejné. Musíš mít ten správný základ, na kterém můžeš samostudiem stavět.A ano myslím že tím počátečním kurzem + samostudiem (ideálně několikaletým) se můžeš naučit tolik že si vystačíš v zaměstnání.