Devel.cz Lupa Měšec Podnikatel Root Zdroják.cz DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Názor k článku
Vývojář si jen s programováním nevystačí

atom
atom (neregistrovaný) ---.net.upc.cz
24. 3. 2010 22:36

Co by měl umět programátor v Javě

celé vlákno

Takže pokud bych měl článek shrnout, průměrný programátor v Javě by měl umět v základu asi tak toto, pokud nechce chcípnout hlady:

1) Znalosti základních algoritmů (HeapSort,QuickSort atd.), grafové algoritmy, asymptotické složitosti algoritmů, paralelní algoritmy (modelování na Qn, všesměrová vysílání atd.)
2) Znalosti HW (co jsou registry, jak funguje context switch, přístup do RAM, sběrnice atd.), znalosti assembleru pro x86 nebo aspoň nějaký Atmel, logické obvody AND, XOR, CMOS/TTL atd.
3) Algebra – konečná tělesa, cyklické kódy, asymetrické šifry (RSA…), komprese atd., booleova algebra
4) Základní programovací jazyky – Pascal, Smalltalk, php, Java, C/C++, C#, Perl, Ruby, Python, možná Scala
5) Znalosti vnitřností JVM – garbage collector (aspoň CMS, možná G1), využití JIT, převod do bytecode, limity classloaderů
7) Jazyky a překlady – LR/LL(k) gramatiky, syntaktický analyzátor, lexan, optimalizace
8) Databáze – Znalost SQL tak na úrovni SQL/2003, optimalizace, převod ER modelu na relační, NoSQL databáze, administrace Oracle, MySQL, MSSQL
9) UML – všechny typy diagramů, zkušenost s Rational Rose nebo EA
10) Test Driven vývoj, Ant+Maven, Agile devel (aspoň XP), SVN
11) J2EE/JEE, EJB3, SOA (aspoň SOAP+REST), BPEL, JSP+JSF, IceFaces, log4j, slf4j, Hibernate, Portlety, možná Spring a věci okolo; zkušenosti s Tomcatem a aspoň JBoss, GlassFish nebo WebLogic
12) Zkušenosti s eclipse, netbeans nebo idea
13) HTML – XHTML, ECMAscript, CSS level 2, AJAX, WebUnit a zkušenosti s FF a IE6–8
14) Administrace linuxu a windows, možná solaris; znalost bashe a cmd, cron, servicy, daemoni, zabezpečení linux + windows
15) Sítě – znalost OSI pozpátku i o půlnoci, konfigurace routerů (možná znalost IOS), DNS, TCP/IP, HTTP, HTTPS, RIP, ARP, RARP, BGP, RIP, OSPF a směrovácí algoritmy obecně, FTP, rozdíl SFTP/FTPS, SSH
16) Vlákna, mutexy v Javě; JNI
17) BPM, ITIL, PDL
18) XML a jeho infoset, DOM, XPath, XQuery, XSLT
19) Soft skills – schopnost sebeorganizování se, práce v týmu, vyjednávání se zákazníky, support, psaní dokumentace, vytváření prezentací, slušná rétorika, schopnost vcítění se do požadavků zákazníka a přenést to na papír

Tož není jednoduché se dnes uchytit jako programátor…