Colección de citas famosas - Consulta de diccionarios - ¿Qué habilidades y destrezas necesita un ingeniero senior de Java?

¿Qué habilidades y destrezas necesita un ingeniero senior de Java?

Aspecto macro

Primero, JAVA.

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), debe realizar una investigación más profunda sobre JAVA. Debería obtener más información sobre JDBC, paquete IO, paquete Util, paquete de texto, JMS, EJB, RMI y subprocesos. Si es posible, espero que

examine todos los paquetes de JAVA y tenga una comprensión general de la API, para que pueda descubrir que muchas de las funciones que desea implementar se pueden lograr a través de la API de JAVA sin gastar demasiado en su propio tiempo.

En segundo lugar, el patrón de diseño.

De hecho, escribir código es muy fácil. Creo que sientes lo mismo. Pero cómo escribirlo 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

normalmente depende de algunos patrones de diseño. Por supuesto, la acumulación a largo plazo de experiencia en codificación le permitirá formar su propio estilo de codificación, siempre que lo haga con cuidado. Creo que su código también está en línea con la reutilización, la mantenibilidad y la escalabilidad del código.

Pero ya que nuestros predecesores nos han resumido su experiencia, ¿por qué no nos subimos a sus hombros?

En tercer lugar, XML.

Es casi imposible no utilizar XML en los sistemas actuales. XML es muy poderoso, puede realizar conversión de datos, configuración del sistema e incluso guardar los datos comerciales de su sistema. Por lo tanto, debes comprender

XML, incluida 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 configuración del sistema.

La función de la información es que debe utilizar estas API para analizar esta información de configuración y desarrollar un proyecto perfecto.

4. Ser competente en el uso de uno o dos marcos.

"El marco tendrá una gran cantidad de código reutilizable, buenas relaciones jerárquicas y lógica de control empresarial, y se basa en el marco.

El desarrollo puede ahorrarle muchos costos de desarrollo "Espero que puedas comprenderlo aquí y, lo que es más importante, espero que puedas comprender la idea del marco a través de su uso. Esto ampliará tus horizontes a la hora de desarrollar un proyecto como el tuyo.

Pensará en separar las declaraciones SQL de su código JAVA. Por ejemplo, considerará configurar su lógica de negocios en XML o base de datos, para que todo el proyecto pueda expandirse fácilmente.

5. Familiarizado con las bases de datos convencionales. De hecho, hay personas que se especializan en bases de datos en proyectos realmente grandes, pero muchos proyectos a menudo requieren que usted participe en el diseño de bases de datos y escritura SQL como ingeniero (senior). Por lo tanto, para

contribuir mejor al país, se recomienda que todos aprendan más sobre algunas bases de datos convencionales, como SQLSERVER, ORACLE, SQL multiconexión, procedimientos almacenados, activadores, etc. Si no ha recibido "capacitación"

Además, debe agregar algunos conocimientos sobre los principios de las bases de datos.

Competente en uno o dos servidores WEB.

Porque como ingeniero de JAVA, especialmente

Si quieres convertirte en un ingeniero de JAVA senior, inevitablemente implementarás tu proyecto en un servidor web, y solo tú eres competente en él. Un servidor web , puedes aprovecharlo al máximo.

Recursos, que muchas veces pueden ahorrar mucho tiempo y esfuerzo.

Siete, UML.

Definitivamente quieres convertirte en ingeniero senior, por lo que es necesario que comprendas o domines UML. Depende de qué tan decidido estés a ser ingeniero senior y gerente de proyectos. En equipos de desarrollo más formales

UML es una herramienta de comunicación para discutir proyectos. Si quieres ser ingeniero de software, al menos deberías poder entenderlo. Si desea convertirse en ingeniero senior, debería poder utilizarlo para describir su comprensión del proyecto, aunque esto no es obligatorio.

Pero esto es importante.

8. Analizar el problema desde un nivel alto:

Esto no es un punto de conocimiento ni se puede aprender a través de libros. Sólo menciono esto porque estoy más ansioso que tú. Espero que pronto te conviertas en un ingeniero de software senior y 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 observar los proyectos que está desarrollando desde sus perspectivas. Preferiblemente al inicio del proyecto.

Tienes en mente un análisis y diseño aproximado del proyecto, y luego lo comparas con ellos para encontrar diferencias y deficiencias en el pensamiento.

9.

En esta etapa, puedes estar expuesto a diferentes herramientas. Aunque todavía necesitas usar JB o IDEA, probablemente tengas razón.

ROSE, necesitan saber más juntos, porque van a dibujar UML. No te obsesiones con los editores HTML como Dreamweaver. Deje que los programadores junior escriban esas páginas JSP.

Micro aspectos

1. Parte principal de Java

Esta es la más básica. Para un desarrollador/diseñador senior de Java, es necesario dominar esta parte. Los puntos clave son los siguientes:

A. La idea de la programación orientada a objetos (encapsulando interfaces polimórficas heredadas)

B. Procesamiento de cadenas.

c. Paquete .java.lang, paquete java.util y otros paquetes comunes.

Manejo de excepciones D.java

2.Área avanzada de Java

A.Flujo de entrada y salida de Java

B.Java multi- tecnología de subprocesos

Planificación de redes C.Java

d.Java swing dance

Los dos últimos elementos son comprensibles y pueden estudiarse en profundidad si el proyecto los requiere. .

3. Habilidades básicas de front-end

* Desarrollo web HTML+CSS

* JavaScript

* Jquery

* Hack CSS de compatibilidad del navegador (comprender)

4. Utilice JSP+Servlet con habilidad para el desarrollo.

5.Patrones de diseño MVC, principios y marcos relacionados, como Struts.

6. Marco SSH

7. Conferencia sobre tecnología de almacenamiento en caché y cookies

8. Competente en el uso de múltiples herramientas de desarrollo Java (Eclipse/MyEclipse/JBuilder /JCreator/). intellijieda/Netbeans).

9. Competente en el uso de XML

JDOM w3c.dom SAX

10. Patrón de diseño Java

Modo fábrica, modo singleton= =

11. Mecanismo de reflexión de Java

Varios usos de la reflexión

12. Comprender o estar familiarizado con C, C++ y .NET.

13. Familiarizado con la configuración del JDK y las variables de entorno.

14.oracle es imprescindible, es mejor conocer uno más que los demás (mysql, sql server, access==).

Oracle: vistas, índices, procedimientos almacenados, disparadores, cursores, paquetes, funciones públicas = =

15. Principios de la base de datos

Principios de transacción, mecanismo de bloqueo, conexión de tabla, declaraciones de consulta complejas (experiencia laboral), ajuste de rendimiento, bloqueos de tabla y soluciones = =

16.JDBC, grupo de conexiones

17.Ajax, Ajax inverso

18.Protocolo HTTP, principios de solicitud y respuesta, estado HTTP (comprender el uso común) y principios HTTPS.

19. Familiarizado con los comandos básicos de Linux, ha utilizado sistemas Linux/Unix, puede escribir scripts de shell y puede implementar proyectos en Linux.

20. Comprender el script por lotes bat del sistema Windows.

21. Para entender HTML5, será mejor que lo aprendas.

22. Estar familiarizado con un framework JS, como Prototype.

23. Principios de J2EE Familiarizado con más de un contenedor web como Tomcat, JBoss, WebSphere y WebLogic ==.

24. Familiarizado con ant o maven

25. Familiarizado con un lenguaje de programación, como python, ruby.

26. Entender php/asp.

27. Comprender el protocolo y los principios de ftp.

28. Competente en el uso de pruebas de Junit y familiarizado con herramientas de prueba como Mockito.

29. Familiarizado con comandos comunes como javac, javadoc, nativo y nativo2ascii.

30. Familiarícese con los algoritmos de clasificación más utilizados, como la clasificación por burbujas, la clasificación rápida, etc. Es mejor que estudie algunos algoritmos usted mismo.

31. Entender Flex (está bien si no lo aprendes)

32. Entender el modelo de desarrollo ágil

33. flujo de trabajo, como OSworkflow, para comprender sus principios.

34. Haber utilizado VPN para entender sus principios.

35. Familiarizarse con las expresiones jstl y el.

36. Familiarizado con servicios web, WSDL y SOAP.

37. Procesamiento de imágenes, como carga de imágenes, vista previa y límite de tamaño.

38. Herramienta de control de versiones, SVN

39 Tecnología JSON, JSON+AJAX

40 Tecnología de paginación, es mejor que la experimente usted mismo, don. No sólo lo sé, principio.

41.Correo Java

42.Java lee y escribe tecnología TXT, Excel y JXL.

43 Principios de JVM, gestión de memoria de JVM, GC, grupo de pila de Java

44 Competente en el uso de las siguientes herramientas:

Software de Office, Word, Excel. , ppt espera.

Herramientas de desarrollo de bases de datos de desarrollo SQL

Outlook es utilizado por grandes empresas.

Editor UE

Consola del navegador, depuración

Control remoto SH/PUTTY

45 Herramienta de modelado UML Rational Rose espera.

46. Utilice log4j

47. Se utilizan API abiertas 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, utilizando herramientas de producción de informes, como xcelsius.

50. Para programar tareas, como Spring Batch, debe aprender a personalizar las tareas de procesamiento por lotes (no aplicable a herramientas de terceros).

51. Comprender la arquitectura uuid

B/S y c/s

53. Expresiones regulares

54. /p>

55. Planificación de recursos empresariales (Planificación de recursos empresariales)

56. Codificación UNICODE, solución de código confuso

57. Editor de red de código abierto, como ckEditor.

58. Principio binario

59. He utilizado y comprendido frameworks de foros de código abierto, como discuzz.

60.GWT, cerrar el cuadro

61. Comprender big data y computación en la nube

62. Tecnología de búsqueda en motores de búsqueda

63. Ingeniería de software, gestión de proyectos

Requisitos laborales

Educación y formación

Especialidad relacionada con la informática, título universitario o superior. Las certificaciones 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 y las herramientas de desarrollo de JAVA+ STRUTS; estar familiarizado con el desarrollo y diseño de al menos una base de datos; tener buena capacidad de aprendizaje, fuerte sentido de responsabilidad, 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 la contratación de Zhaopin, se dice que en junio de 2012, el nivel promedio de los ingenieros de Java ha alcanzado 6435. Según la participación del mercado de Android en Internet móvil, creo que el nivel salarial de esta profesión seguirá aumentando.

Perspectivas profesionales

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 orientada a objetos, segura, de arquitectura neutral, portátil y, lo más importante, es un lenguaje dinámico.

Según estadísticas de organizaciones estadísticas autorizadas, entre todas las demandas de talentos de desarrollo de software, la demanda de ingenieros de JAVA representa del 60% al 70% de la demanda total. Los ingenieros de JAVA tienen salarios relativamente altos. En términos generales, es normal que los ingenieros con 3 a 5 años de experiencia en desarrollo tengan un salario anual de 6,5438 millones de yuanes.

Dirección de desarrollo de JAVA

El primero es convertirse en gerente, como gerente de desarrollo de productos, gerente técnico, gerente de proyectos, etc., el segundo es su trabajo técnico, convirtiéndose en un senior; ingeniero de software, ingenieros de requisitos, etc.

Echemos un vistazo al salario relativamente alto de los ingenieros de Java de IDC. El salario mensual promedio de los ingenieros de software Java oscila entre 4.000 y 10.000 yuanes, muy por encima del salario mensual promedio de los recién graduados de 2.500 yuanes. En términos generales, un ingeniero de software Java senior con un año de experiencia laboral tiene un salario anual de entre 10.000 y 13.000 yuanes.

Dirección laboral de 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 dedicarse al diseño y desarrollo de software.