Avhengig av rollen og industrien, kan en Java -utvikler kreve disse ferdighetene: Forståelse av objektorienterte programmeringskonsepter Forståelse av når du skal bruke designmønstre som singleton, fabrikk, fluevekt, byggherre, objektbasseng, iterator, strategi, besøkende, kompositt. Denne ferdigheten er spesielt viktig for senior Java-utviklere som må jobbe med arkitekturen til applikasjoner for å designe langsiktige løsninger Forståelse av klasselastningsprosessen og hvordan klasselaster fungerer Dyp forståelse av den nyanserte ytelsesverdenen, enten det er hukommelsesoverhead, beregningskompleksitet eller hastighet Kunnskap om når hukommelsen blir tildelt, fra hvilken kontekst og hvordan det påvirker heapfragmentering Kjennskap til de forskjellige søppelinnsamlingsalgoritmene, og hvordan du bruker profilerne Erfaring med JSP / Servlets, Web Frameworks som Struts / Spring og Service-Oriented Architecture / Web Services- SOAP / REST Evne til å bruke de mest moderne mønstrene og språkfunksjonene på eksisterende systemer Erfaring med å bruke teknologier i Java -økosystemet: stag, vår, Maven, Gradle, Ant, Junit, Spock og Hibernate, blant mange andre Kunnskap om vanskeligheter med SQL -spørsmål Evne til å lære nye teknologier og vilje til å gå ut av komfortsonen for å utforske og lære nye ferdigheter