Beroende på roll och industri kan en Java -utvecklare kräva dessa färdigheter: Förståelse av objektorienterade programmeringskoncept Förståelse för när man ska använda designmönster som singleton, fabrik, flugvikt, byggare, objektpool, iterator, strategi, besökare, komposit. Denna färdighet är särskilt viktig för äldre Java-utvecklare som kommer att behöva arbeta med arkitekturen för applikationer för att designa långsiktiga lösningar Förståelse för klassbelastningsprocessen och hur klasslastare fungerar Djup förståelse för den nyanserade performance, vare sig det är minnesöver huvudet, beräkningskomplexiteten eller hastigheten Kunskap om när minnet tilldelas, från vilket sammanhang och hur det påverkar högfragmentering Bekanta med de olika skräppsamlingsalgoritmerna och hur man använder profilerna Erfarenhet med JSP / Servlets, webbramar som Struts / Spring och serviceorienterade arkitektur / webbtjänster- SOAP / REST Möjlighet att tillämpa de mest moderna mönstren och språkfunktionerna på befintliga system Erfarenhet av att använda tekniker i Java -ekosystemet: struts, vår, maven, gradle, myra, junit, spock och hibernate, bland många andra Kunskap om komplikationerna i SQL -frågor Möjlighet att lära sig ny teknik och villighet att gå ut ur komfortzonen för att utforska och lära sig nya färdigheter