He respondido la misma pregunta aquí, la respuesta de Ratnakar Sadasyula a ¿Cuáles son las habilidades esenciales, técnicas y no técnicas, de un desarrollador Java EE o Enterprise Java? Reproduciendo la misma respuesta.
Si está buscando ser un Desarrollador JEE realmente efectivo, estas son las siguientes habilidades que recomendaría.
Técnico
- ¿Es fácil usar Python para desarrollar una aplicación web?
- ¿Cuál es la forma de encontrar la base de datos utilizada en la aplicación web?
- ¿Cuál es la ventaja de escribir una aplicación web con Node.js en EC2 frente a Python en Google App Engine?
- ¿Podría una sola persona programar una aplicación web como Instagram?
- Muchos de mis proyectos que son aplicaciones basadas en la web usan SiteMinder para seguridad y autenticación. Desde la perspectiva de un laico, ¿qué es SiteMinder?
- Conocimiento de los conceptos de POO.
- Conocimientos básicos de cómo funciona JVM y conceptos como hashing.
- Al menos un marco (Struts o Spring).
- JSP y un lenguaje de script (Javascript, / JQuery). Le aconsejaría que también controle los fundamentos de HTML / XHTML. Los clientes hoy en día son muy particulares sobre el diseño de la interfaz de usuario.
- EJB (el conocimiento de CORBA sería una ventaja).
- Al menos un servidor de aplicaciones (Weblogic / Websphere / JBoss) sobre el que debería tener algún conocimiento.
- Los servicios web, considerando que muchas organizaciones se están cambiando, como una mejor alternativa a los EJB.
- Una herramienta ORM como Hibernate.
- Conocimiento de una herramienta de gestión de configuración como CVS / SVN.
- Conocimiento de cualquier herramienta de construcción como ANT.
- Herramientas de prueba de unidades como JUnit.
- Buena idea sobre las herramientas de código abierto disponibles en la red.
- Conocimiento de patrones de diseño.
En general, un desarrollador JEE realmente bueno debería tener un conocimiento holístico de todo el proceso de desarrollo de aplicaciones. Los viejos tiempos, cuando los candidatos que sabían cómo programar Hello World en Java, fueron reclutados, se han ido.
No técnico
- Las habilidades de comunicación son imprescindibles, interactuará con los clientes, sus gerentes, el equipo de control de calidad y la comunicación efectiva será de gran ayuda, especialmente en un entorno en red.
- Buenas habilidades de presentación, estas serían útiles cuando buscas hacer un recorrido con el cliente o explicar una nueva herramienta al equipo.
Gracias por A2A.