jak-dlouho-se-dokazete-udrzet-v-it-na-spicce
Zábava Článek Jak dlouho se dokážete udržet v IT na špičce?

Jak dlouho se dokážete udržet v IT na špičce? | Kapitola 3

Michal Rybka

Michal Rybka

25. 10. 2008 01:00 78

Seznam kapitol

1. Jsem ajťák, pan ajťák. 2. Počítače se mění. Bleskově. 3. A potom přišly okna. Díky ti, ó mocný.

Na internetu najdeme celé nůše frajerů, kteří ví všechno nejlépe, do největší hloubky a jsou vůbec nadáni informacemi lepšími, než jedinci jiní. Někteří z nich opravdu machři jsou, jiní si na to jenom hrají, přesto rádi poučují všechny ostatní o tom, že jen oni mají pravdu. Co myslíte, že z nich bude za pár let?

Reklama

Pak přichází skutečný multitasking a objektově orientované programování, které dovoluje zapouzdřit strašné věci (jako invokaci printer driveru) do tříd a tím i mnohem větší a bezpečnější projekty. Doby borců, kteří drtili stroják, jsou dávno pryč - nyní se píší věci ve vyšších jazycích a výsledný kód se profiluje a optimalizuje, což je někde úplně jinde.

Jak dlouho se dokážete udržet v IT na špičce?
i Zdroj: PCTuning.cz
Jak dlouho se dokážete udržet v IT na špičce?
i Zdroj: PCTuning.cz
Jak dlouho se dokážete udržet v IT na špičce?
i Zdroj: PCTuning.cz

Objektově orientované programování navíc představuje další dělící moment, přes který se hodně koderů nedostane. Je to jiná filozofie návrhu, která je přirozená, pokud jí začínáte, ale pokud jste začali na klasickém procedurálním programování, představuje pro vaše myšlení docela velkou obstrukci. Řada lidí přechází z C na C++ poněkud neochotně a přenáší si docela značné množství zlozvyků, což komplikuje život nejednomu týmu.


Poté následují další technologie: Java, generické programování, funkcionální programování a metaprogramování. A další: Webové technologie, přechod na systém klient-server, vynořuje se koncept cloudu a mashupu. Tohle jsou věci, které nejsou pro klasického kodera myšlenkově příliš běžné, je navyklý jasně si stanovit, kde jsou data, v jakém formátu - a představa, že se nacházejí někde na síti, přistupuje se k nim přes API nějakého poskytovatele služeb a vlastně ani není schopen zaručit funkčnost svého produktu, protože závisí na dobré víře, že poskytovatelé komponent budou vůbec existovat. Je to zásadní změna přístupu - další z mnoha.


Nyní jsme se dostali na úroveň "dneška". Je to pouhých 25 let - a jak daleko to má k drcení strojáku a nebo plácání programů v Basicu, který vyžadoval číslování řádků? Nekonečně daleko. Zásadní koncepty programování (algoritmické, iterativní a Monte Carlo) nalezneme už v literatuře ze šedesátých let, ale něco jako představa celosvětové sítě, ke které jste permanentně připojeni a jakožto součást svého produktu používáte produkty zcela jiné, na zcela jiných místech světa... to je obrovská propast.



Čas v IT prostě nezastavíš

A nic nesvědčí pro to, že by tempo změn nějak klesalo. Heslem dneška je paralelní programování - nejen prostý multithreading, ale výhledově opravdu masivně paralelní programování (které dnes můžete využít přes CUDA, ale zanedlouho snad i v mnohajádrovém CPU). A to je, přátelé, zase docela jiné kafe, docela jiná filozofie a docela jiný návrh.

"Nějak" to jde splácat vždycky, koneckonců i zarytý odpůrce objektově orientovaného programování něco upytlí v C++ - ale to už se nebavíme o úrovni experta, o člověku, který perfektně ví, co dělá. Kódolepič se podobá diplomovanému inženýru let padesátých, který opouští sálové počítače, je nucen pracovat s klasickým PC a se zaťatými zuby s ním válčí.


Počítačovým světem protéká obrovské množství informací, je jich příliš mnoho a tečou příliš rychle. Jakou šanci má programátor, který se vrhne do víru praxe, s nadšením a pevnou vírou, že tomu všemu perfektně rozumí? Jak dlouho to vydrží? Osobně si myslím, že krajní mez je 20 let, spíš ale jenom 10 let. Pak mu začne ujíždět vlak a z experta, který bravurně zvládá veškeré finesy, speciality a záhady, se změní na někoho, kdo se pokouší chápat současné trendy alespoň rámcově.


Jen si představte, jak byste se tvářili, kdybyste se dozvěděli, že už se nerozlišuje mezi "RAM" a "úložištěm", protože všechno je v MRAM a z klasického paměťového média se bootuje jednou za uherský rok, navíc sfúzovaly paměti a procesory, takže máte v počítači několik gigaprocesorů, které si pěkně ve své aplikaci alokujete a konfigurujete spolu s paměťovými balíčky. U takové architektury třeba bude záviset celkový výkon na tom, jak uložíte data k jednotlivým procesorům a jak navrhnete virtuální topologii toků dat, přičemž jako expert pochopitelně musíte vědět, jak se virtuální topologie mapuje na fyzickou, aby to fungovalo dobře. A nebo že klasická GPU zanikla a místo nich máte plně programovatelné grafické čipy, takže místo inicializace grafiky si musíte napsat pořádný kus kódu, ve kterém vlastně nadefinujete funkčnost své grafické karty.


A co když najednou přinese své ovoce optoelektronika a optimalizace programů v optopočítači bude záviset na tom, jak dobře ovládáte fyziku světla? A nebo se konečně dostaví holografická média a vy budete optimalizovat ukládání dat s ohledem na složitost zápisu a vybavení? Co když přijdou kvantové počítače a budete psát programy, které budou brát ohled na superimponované stavy, co když přejdete z klasických logických formulí na něco neklasického? Jste na něco takového připraveni?



Nakonec tam všichni musíme.

A jste připraveni na to, že se velmi pravděpodobně stane něco naprosto nečekaného, technologie, kterou očekáváte a na kterou spoléháte prostě nevyjde a místo ní se objeví něco diametrálně odlišného, něco, co bude vyžadovat, abyste opustili vše, co jste se kdy naučili a začali znova od píky? Budete se schopni naučit něco tak radikálně odlišného, až vám bude čtyřicet? Až vám bude padesát?

A pokud to nedokážete: Dovedete si představit, co budete dělat místo práce s neopočítači, kterým budou rozumět vaši synové a vnuci mnohem lépe než vy? Vy, mistři světa, užívající si dnes převahy nad rodiči, sestrami, zoufalými laiky, tápajícími v pro ně nepřehledné džungli technologií: Dovedete si představit, že třeba přijde den, kdy se sami budete pokorně vyptávat o třicet let mladšího nafoukaného jedince za pultem, k čemu že ta věc vlastně slouží a k čemu je dobrá? Co uděláte, skousnete jeho hlášky, že přece "každý" ví to a to, jako odplatu za to, co jste napáchali na starší generaci - a nebo se změníte na komického doktora-inženýra, který se s balíkem poznámek a výstřižků domáhá respektu s odkazem na svůj třicet let starý akademický titul? V té době vám certifikát o tom, že máte černý pásek v Javě, bude stejně užitečný, jako dnes glejt rozhněvaným doktorům-inženýrům, že vystudovali logické reléové obvody a elektromechanické počítací stroje.


Možná se to nestane, možná k radikální změně paradigmatu nedojde, ale buďme na chvíli technooptimisty a předpokládejme, že se počítačové technologie budou i nadále rozvíjet stejně dynamicky. Znám lidi, kteří opustili školu a užívají si nadprůměrných platů v IT, jako by to nemělo nikdy skončit. Co když to ale skončí, co když se technologie změní a Java a nebo C++ bude stejně neuplatnitelná, jako Smalltalk a Algol? Co když zjistí, že se metodologie posunula tak, že už ji nezvládají?


Spousta lékařů se udrží na absolutní špičce do šedesáti, sedmdesáti - ale oni mají ten pevný fundament, který se příliš nemění, jim nehrozí, že by se lidská anatomie během jejich života čtyřikrát a nebo pětkrát radikálně proměnila. V počítačovém světě je to naopak spíše dolní odhad změn. Myslíte si, že vydržíte stejně dlouho jako oni..?


Předchozí
Další
Reklama
Reklama

Komentáře

Nejsi přihlášený(á)

Pro psaní a hodnocení komentářů se prosím přihlas ke svému účtu nebo si jej vytvoř.

Rychlé přihlášení přes:

Google Seznam
Reklama
Reklama