¿Qué habilidades y técnicas debe poseer un ingeniero senior de Java?
Aspectos macro
1.
Si quieres convertirte en ingeniero JAVA (senior), debes aprender JAVA. Es posible que el programador medio sólo necesite conocer algunas estructuras de sintaxis de JAVA para afrontarlo. Pero para convertirse en ingeniero JAVA (senior), es necesario realizar un estudio más profundo de JAVA. Debería estudiar más sobre JDBC, paquete IO, paquete Util, paquete de texto, JMS, EJB, RMI y subprocesos. Si es posible, espero que
navegue por todos los paquetes de JAVA y conozca la API general, para que pueda descubrir que muchas de las funciones que desea lograr se pueden lograr a través de la API de JAVA, por lo que no No tienes que hacerlo tú mismo. Se necesita demasiada capacidad mental.
2. Patrón de diseño.
De hecho, escribir código es muy fácil. Creo que sientes lo mismo. Pero escribir bien es más difícil. La palabra "bueno" incluye la reutilización, mantenibilidad, escalabilidad del código, etc. Cómo escribir un buen código
a menudo requiere la ayuda de algunos patrones de diseño. Por supuesto, la acumulación de experiencia en codificación a largo plazo le permitirá formar su propio estilo de codificación siempre que trabaje duro. Creo que su código también está más en línea con la reutilización, la mantenibilidad y la escalabilidad del código.
Pero dado que nuestros predecesores nos han resumido su experiencia, ¿por qué no nos subimos a los hombros de nuestros predecesores y avanzamos?
3.
Es casi imposible no utilizar XML en los sistemas actuales. XML es muy poderoso. Puede convertir datos, configurar el sistema e incluso guardar los datos comerciales de su sistema. Por lo tanto debes entender
XML, incluyendo su sintaxis y estructura. También debe dominar el uso de algunas API para analizar XML, como JDOM, SAX, etc., porque en nuestros proyectos generales, XML a menudo desempeña el papel de información de configuración del sistema y necesita Utilice estas API para analizar esta información de configuración y desarrollar proyectos perfectos.
4. Ser competente en el uso de uno o dos marcos.
"Los frameworks tendrán una gran cantidad de código reutilizable, buenas relaciones jerárquicas y lógica de control empresarial. El desarrollo basado en frameworks
le permite ahorrar muchos costos de desarrollo". Espero que puedas dominar esto y, lo que es más importante, espero que puedas comprender la idea del marco mediante el uso del marco. De esta manera, tendrá una mente más amplia al desarrollar un proyecto. Por ejemplo, puede pensar en separar las declaraciones SQL de su código JAVA, o puede considerar configurar su lógica de negocios en XML o una base de datos. ampliarse fácilmente.
5. Familiarizado con las bases de datos convencionales. De hecho, los proyectos realmente grandes cuentan con personas que se especializan en bases de datos, pero muchos proyectos a menudo requieren que usted, como ingeniero (senior), también participe en el diseño de la base de datos y la escritura de SQL. Por lo tanto, para
contribuir mejor al país, se recomienda que aprenda más sobre algunas bases de datos convencionales, como SQLSERVER, ORACLE, SQL multiconexión, procedimientos almacenados y activadores. Si no tiene experiencia "científica", también debe agregar algunos conocimientos sobre los principios de las bases de datos.
6. Ser competente en uno o dos servidores WEB.
Porque como ingeniero de JAVA, especialmente si desea convertirse en un ingeniero de JAVA senior, inevitablemente tendrá que implementar su proyecto en un servidor web, y solo si domina un servidor web, podrá maximizar el uso. de sus recursos, lo que a menudo puede ahorrar mucho tiempo y energía.
7.
Definitivamente quieres convertirte en ingeniero senior, por lo que es necesario que comprendas o seas competente o competente en UML, dependiendo de qué tan decidido estés a convertirte en ingeniero senior y gerente de proyectos. En un equipo de desarrollo más formal
, UML es una herramienta de comunicación para discutir proyectos. Si quieres ser ingeniero de software, al menos debes poder entenderlo. , debe poder aprobarlo para describir su comprensión del proyecto; aunque esto no es obligatorio,
es importante.
8. Analice el problema desde una perspectiva elevada:
Esto no es un punto de conocimiento ni se puede aprender a través de libros.
Solo menciono esto porque estoy más ansioso que tú. Quiero que te conviertas en un ingeniero de software senior más rápido, no en un ingeniero de software común y corriente.
Espero que pueda aprender más de sus analistas de sistemas, analistas de requisitos y diseñadores de sistemas en el trabajo, y ver los proyectos que está desarrollando desde sus perspectivas. Es mejor tener en mente un análisis y diseño aproximado del proyecto al comienzo del proyecto y luego compararlo con ellos para encontrar las diferencias y pensar en las deficiencias.
9. Herramientas.
Es posible que esté expuesto a diferentes herramientas en esta etapa. Aunque aún necesita usar JB o IDEA, es posible que necesite saber más sobre
ROSE y Together, porque es necesario. Dibujar UML.
Ya no te obsesiones con editores HTML como Dreamweaver. Deja que los programadores junior escriban esas páginas JSP
Micro aspectos
Parte principal de Java
Esto es. el más básico. Para un desarrollador/diseñador senior de Java, debe dominar esta parte. Los contenidos clave son los siguientes:
a. )
b. Procesamiento de cadenas
paquete c.java.lang, paquete java.util y otros paquetes comunes
manejo de excepciones d.java
2.Parte avanzada de Java
a.Flujo de E/S de Java
b.Tecnología de subprocesos múltiples de Java
c.Programación de red Java p >
d.Java Swing
Puedes comprender los dos últimos y puedes estudiarlos en profundidad si el proyecto lo requiere
3. Habilidades básicas de front-end<. /p>
* Desarrollo web HTML + CSS
* JavaScript
* Jquery
* Compatibilidad del navegador CSS hack (comprender)
4. Úselo hábilmente para el desarrollo de JSP + Servlet
5.Patrones de diseño MVC, principios y marcos relacionados, como Struts
Marco 6.SSH
7. Sesión de tecnología de almacenamiento en caché y cookies
8. Competente en el uso de más de una herramienta de desarrollo Java (Eclipse/MyEclipse/Jbuilder/Jcreator/IntelliJIEDA/NetBeans)
9. usando XML
JDOM w3c.dom SAX
10.Patrón de diseño Java
Modo fábrica, modo singleton==
11.Java mecanismo de reflexión
Varios usos de la reflexión
12 Comprender o estar familiarizado con C, C++, .NET
13 Familiarizado con la configuración de JDK y las variables de entorno<. /p>
14. Base de datos Debes aprender Oracle, y lo mejor es saber más de uno de los demás (mysql, sql server, access==)
Oracle: vistas, índices, almacenados. procedimientos, disparadores, cursores, paquetes, funciones de uso común== p>
15. Principios de la base de datos
Principios de transacciones, mecanismos de bloqueo, conexiones de tablas, declaraciones de consultas complejas (experiencia laboral), rendimiento. ajuste, bloqueos de tablas y soluciones ==
16.JDBC, grupo de conexiones
17.Ajax, Ajax inverso
18.Protocolo HTTP, los principios de solicitud y respuesta, estado HTTP (comprende los más utilizados), principio HTTPS
19 Familiarizado con los comandos básicos de Linux, ha usado sistemas Linux/Unix, puede escribir scripts de shell y puede implementar proyectos en Linux
20. Comprender el script por lotes del sistema Windows
p>
21. Comprender HTML5, es mejor haberlo estudiado
22. Marco JS, como Prototype
23 Estar familiarizado con los principios de J2EE y estar familiarizado con más de un contenedor web como Tomcat, JBoss, websphere, weblogic==
24. con ant o maven
25. Familiarizado con un lenguaje de scripting, como python, ruby
26. Comprender php/asp
27. y principios
28. Competente en el uso de pruebas Junit, familiarizado con herramientas de prueba como Mockito
29 Familiarizado con javac, javadoc y comandos comunes como nativo, nativo2ascii
.30. Familiarícese con los algoritmos de clasificación de uso común, como la clasificación por burbujas, la clasificación rápida, etc. Es mejor que estudie algunos algoritmos usted mismo.
31. Entender Flex (no importa si no lo aprendes)
32. Entender el modelo de desarrollo ágil
33. al menos un flujo de trabajo, como OSworkflow, comprende los principios
34 Ha utilizado VPN para comprender sus principios
35 Familiarizado con las expresiones jstl y el
<. p>36. Familiarizado con servicios web, WSDL, SOAP37. Procesamiento de imágenes, como carga de imágenes, vista previa, límite de tamaño, etc.
38. SVN
39, tecnología JSON, JSON +AJAX
40 Tecnología de paginación, es mejor haberla implementado usted mismo, no solo para usarla, sino para conocer los principios
41.Java Mail
42.Java lectura y escritura de txt, excel, tecnología JXL
43 Principios de JVM, gestión de memoria JVM, GC, grupo de pila de Java<. /p>
44. Competente en el uso de las siguientes herramientas:
software office Office, word, excel, ppt, etc.
plsql, sqldevelop herramientas de desarrollo de bases de datos
Outlook es utilizado por grandes empresas
editor ue
Consola del navegador, depuración
SHH/PUTTY remoto
45. Herramienta de modelado UML Rational Rose, etc.
46. Uso de log4j
47 API abiertas utilizadas como Baidu, Tencent Street View, Sina Weibo, etc.
48. Tecnología de página estática (página pseudoestática)
49. Tecnología de informes, herramientas de producción de informes utilizadas, como Crystal Easy.
50 Tareas programadas, como Spring Batch, aprenda a personalizar tareas por lotes (no aplicable a herramientas de terceros)
51. Comprender uuid.
52. Arquitectura .b/s y c/s
53. Expresiones regulares
54. Comprensión de jndi jms
55.ERP
56. .UNICODE Codificación, resolución de código confuso
57. Editor de red de código abierto, como ckEditor
58. Principio binario
59. marco del foro de origen, como discuzz
60.GWT, marco de cierre
61 Comprender big data, computación en la nube
tecnología de búsqueda de motores de búsqueda
62. p>
63 .Ingeniería de software, gestión de proyectos
Requisitos ocupacionales
Educación y capacitación
Especialidades relacionadas con la informática, título universitario o superior. Los certificados profesionales relevantes incluyen: certificación Sun Certified Java Programmer (SCJP) y Sun Certified Java Developer (SCJD).
Experiencia laboral
Tener ciertas capacidades de análisis y diseño de software; estar familiarizado con Java, Servlet, JSP, EJB y otras tecnologías de desarrollo; ser competente en el uso de herramientas de desarrollo Java como Eclipse o; jbuilder; estar familiarizado con la arquitectura JAVA+STRUTS y las herramientas de desarrollo; estar familiarizado con el desarrollo y diseño de al menos una base de datos; tener buena capacidad de aprendizaje, un fuerte sentido de responsabilidad laboral, buenas habilidades de comunicación y espíritu de trabajo en equipo.
Referencia salarial
Según el salario de los ingenieros de Java de Shanghai en Zhaopin Recruitment, al 13 de junio de 2012, el nivel promedio de los ingenieros de Java ha alcanzado 6435. Teniendo en cuenta la cuota actual del mercado de Android en Internet móvil, se cree que el nivel salarial de esta profesión seguirá aumentando.
Perspectivas laborales
Java es actualmente el lenguaje de programación informática más popular del mundo. Es un lenguaje de programación orientado a objetos que puede escribir software de aplicación multiplataforma. Esto se puede resumir en que JAVA tiene sus propias ventajas únicas: el lenguaje es simple, es una aplicación distribuida, segura y orientada a objetos, la arquitectura es neutral y portátil y, lo más importante, es un lenguaje dinámico.
Según estadísticas de organizaciones estadísticas autorizadas, entre las demandas de todos los talentos de desarrollo de software, la demanda de ingenieros de JAVA representa entre el 60% y el 70% de la demanda total. El salario de los ingenieros de JAVA es relativamente alto. En términos generales, es un nivel salarial normal para ingenieros con 3 a 5 años de experiencia en desarrollo tener un salario anual de 100.000 yuanes.
Dirección de desarrollo de JAVA
La primera es convertirse en gerente, como gerente de desarrollo de producto, gerente técnico, gerente de proyectos, etc.; la segunda es su trayectoria de trabajo técnico, convirtiéndose en un; ingeniero de software senior, ingenieros de requisitos, etc.
Echemos un vistazo al salario relativamente alto de los ingenieros de Java de IDC. El rango salarial mensual general de los ingenieros de software Java es de 4.000 a 10.000 yuanes, lo que es mucho más alto que el salario mensual promedio de 2.500 yuanes para los recién graduados. En términos generales, el salario de un ingeniero de software Java senior con un año de experiencia laboral ronda entre 100.000 y 130.000 por año.
Dirección laboral JAVA: puede participar en el desarrollo de sitios web JSP, programación Java, desarrollo de juegos Java, programación de escritorio Java y otros trabajos relacionados con la programación en lenguaje Java. Puede ingresar a empresas profesionales de desarrollo de software en telecomunicaciones, banca y seguros para participar en trabajos de diseño y desarrollo de software.