¿Cómo puede un programador de Java alcanzar un salario anual de 1 millón y convertirse en un arquitecto de primer nivel en solo 3 años?

Prefacio

Como todos sabemos, Java es uno de los lenguajes de programación de red más utilizados.

Es simple, orientado a objetos, estable, independiente de la plataforma, explicativo, multiproceso y dinámico.

El programador promedio de JAVA puede ser capaz de manejarlo solo si conoce alguna estructura gramatical de JAVA. Pero no es fácil convertirse en un ingeniero JAVA (senior), entonces, ¿qué es un ingeniero JAVA senior calificado (senior o gerencial)? Preste atención a la cuenta pública: Kylin cambia el error, ¡y también puede recibir un mapa mental detallado de la tecnología central de Java !

Así que hoy enumeraré los siguientes puntos para mis amigos:

Nota: El siguiente contenido no es obligatorio ni obligatorio, parte del contenido ya pertenece al contenido más profundo, solo entiéndalo.

1. Macroscópicamente

1. La amplitud de la tecnología

Al menos debe ser competente en múltiples tecnologías de código abierto y haber estudiado el código fuente de struts spring.

2. Experiencia en proyectos

He seguido varios proyectos grandes de principio a fin, el principio se refiere a la etapa de demanda, incluida la investigación de la demanda.

El final se refiere a después de la entrega en línea, incluida la fase de mantenimiento.

3. Experiencia en arquitectura

Tener experiencia en la arquitectura y desarrollo de sistemas distribuidos. Tiene una amplia experiencia en la optimización estructural de sistemas cruzados y en los indicadores de rendimiento del almacenamiento de datos. Qué almacenamiento en caché, la segmentación vertical de la base de datos, la abstracción y la segmentación horizontal del negocio, todo esto debería ser familiar.

4. Sector industrial

Como mínimo, debe ser competente en uno o dos negocios. La denominada competencia es, por ejemplo, en el negocio de valores financieros, esperando al menos la mitad del analista financiero. Si está en el negocio de la energía, debe esperar al menos a la mitad de un ingeniero de energía.

5. Cultivo personal

Hay algunas ideas únicas propias, que otros no escucharán.

En segundo lugar, a nivel micro

1. Competente en análisis y diseño orientado a objetos (OOA / OOD), modo de participación (GOF, J2EEDP) y modo integrado. Debe tener un buen conocimiento de UML, especialmente de clase, objeto, interacción y diagramas establecidos.

2. Aprenda los conceptos básicos del lenguaje JAVA y sus bibliotecas de clases principales (colecciones, serialización, flujos, redes, subprocesos múltiples, reflexión, eventos, manejo, NIO, localización y otros).

3. Comprender el mecanismo de trabajo básico de JVM, cargadores de clases, reflexión de clases y recolección de basura. Debería poder descompilar un archivo de clase y comprender algunas instrucciones básicas de ensamblaje.

4. Si va a escribir programas cliente, necesita aprender los subprogramas WEB, debe dominar las ideas y métodos de diseño de GUI, así como SWING, AWT, SWT de los programas de escritorio.

También debe comprender el patrón del componente JAVABEAN de los widgets de la interfaz de usuario. JAVABEANS también se utiliza en JSP para separar la lógica empresarial de la capa de presentación.

5. Aprenda la tecnología de base de datos Java, como JDBCAPI y utilice al menos una arquitectura de persistencia / ORM, como Hibernate, JDO, CocoBase, TopLink, InsideLiberator (software de fábrica rojo JDO doméstico) o iBatis.

6. Debe comprender el significado de la falta de coincidencia de impedancia de la relación del objeto y cómo afecta la interacción del objeto comercial con la base de datos relacional y sus resultados operativos, y también debe dominar la aplicación de diferentes productos de base de datos, como como racle, mysql, mssqlserver.

7. Aprenda el modelo de seguridad de la caja de arena de JAVA (cargadores de clases, verificación de código de bytes, administradores, políticas y permisos, firma de código, firmas digitales, criptografía, certificación, Kerberos y otros) y diferentes API de seguridad / autenticación, como JAAS (JavaAuthentication and AuthorizationService), JCE (JavaCryptographyExtension), JSSE (JavaSecureSocketExtension) y JGSS (JavaGeneralSecurityService).

8. Familiarizado con los marcos web convencionales, como JSF, Struts, Tapestry, Cocoon, WebWork y sus modos relacionados, como MVC / MODEL2.

9. Aprenda Servlets, JSP y JSTL (StandardTagLibraries) y TagLibraries opcionales de terceros.

10. Aprenda a usar y administrar servidores WEB, como tomcat, resin y Jrun, y sepa cómo extender y mantener programas WEB basados ​​en ellos.

11. Aprenda objetos distribuidos y API remotas, como RMI y RMI / IIOP.

12. Domine varios estándares de tecnología de middleware populares e impleméntelos en combinación con java, como Tuxedo, CROBA y, por supuesto, javaEE.

13. Aprender al menos un tipo de XMLAPI, como JAXP (JavaAPIforXMLProcessing), JDOM (JavaforXMLDocumentObjectModel), DOM4J o JAXR (JavaAPIforXMLRegistries).

14. Aprenda un marco de aplicación ligero, como Spring, PicoContainer, Avalon y su estilo IoC / DI (establecedor, constructor, inyección de interfaz).

15. Aprenda a usar JAVAAPI y herramientas para construir WebService.

例如 JAX-RPC (JavaAPIforXML / RPC), SAAJ (SOAPwithAttachmentsAPIforJava), JAXB (JavaArchitectureforXMLBinding) , JAXM (JavaAPIforXMLMessaging) , JAXR (JavaAPIforXMLRegistries) , JWWebServices

16. Familiarizado con diferentes tecnologías J2EE, como JNDI (JavaNamingandDirectoryInterface), JMS (JavaMessageService), JTA / JTS (JavaTransactionAPI / JavaTransactionService), JMX (JavaManagementeXtensions) y JavaMail.

17. Aprenda JavaBeans (EJB) de nivel empresarial y sus diferentes modos de componentes:

Stateless / StatefulSessionBeans, EntityBeans (incluidos Bean-ManagedPersistence [BMP] o Container-ManagedPersistence [CMP] y su EJB-QL) o Message-DrivenBeans (MDB).

18. Aprenda a administrar y configurar un servidor de aplicaciones J2EE, como WebLogic, JBoss, etc., y utilice sus servicios adicionales, como clases de clúster, grupos de conexiones y soporte de procesamiento distribuido. También debe comprender cómo empaquetar y configurar aplicaciones en él y poder monitorear y ajustar su rendimiento.

19. Familiarizado con diferentes API útiles y marcos de trabajo para servirle. Por ejemplo, Log4J (registro / seguimiento), Quartz (programación), JGroups (comunicación de grupo de red), JCache (caché distribuida), Lucene (búsqueda de texto completo), JakartaCommons, etc.

20. Familiarizado con la programación orientada a aspectos y la programación orientada a atributos (ambas abreviadas como AOP), así como sus especificaciones e implementación JAVA convencionales. Por ejemplo, AspectJ y AspectWerkz.

21. Si va a estar acoplado a un sistema antiguo o una plataforma nativa, necesita aprender JNI (JavaNativeInterface) y JCA (JavaConnectorArchitecture).

22. Familiarizado con la tecnología JINI y sus sistemas distribuidos relacionados, como dominar CROBA.

23. JavaCommunityProcess (JCP) y sus diferentes JavaSpecificationRequests (JSRs), como Portlets (168), JOLAP (69), DataMiningAPI (73), etc.

24. Familiarizado con JAVAIDE como sunOne, netBeans, IntelliJIDEA o Eclipse. (Algunas personas prefieren VI o EMACS para escribir archivos. Lo que sea que use :)

25. JAVA (para ser precisos, alguna configuración) es detallado, requiere mucho código manual (como EJB), por lo que necesita estar familiarizado con las herramientas de generación de código, como XDoclet.

26. Familiarizarse con un sistema de pruebas unitarias (JNunit) y aprender diferentes herramientas de generación y despliegue (Ant, Maven).

27. Ser capaz de comprender y operar y configurar con soltura diferentes sistemas operativos, como GNU / linux, sunsolaris, macOS, etc., como desarrollador de software multiplataforma.

28. Familiarizado con algunos procesos de ingeniería de software que se utilizan a menudo en el desarrollo de JAVA. Por ejemplo, RUP (Rational Unified Process) y metodologías ágiles.

29. Manténgase al día con el ritmo del desarrollo de Java, como el estudio en profundidad de javaME y la aplicación de varias especificaciones y tecnologías nuevas de Java, como la nueva tecnología de cliente web enriquecido.

30. Cierta comprensión del código abierto, porque al menos muchas tecnologías de Java están directamente impulsadas por el código abierto, como la tecnología java3D.

Tres, aprendizaje de la tecnología de la arquitectura

1. Desarrollo del equipo

Técnicas y habilidades de aprendizaje resumidas por un programador Java altamente remunerado con 25K o más

2. Combate real del centro comercial B2C

Técnicas y habilidades de aprendizaje resumidas por un programador Java altamente remunerado con 25K o más

 

3. Tema del arquitecto Gong Ji

Técnicas y habilidades de aprendizaje resumidas por un programador Java altamente remunerado con 25K o más

4. Tema sobre arquitectura de microservicios

Técnicas y habilidades de aprendizaje resumidas por un programador Java altamente remunerado con 25K o más

 

5. Tema sobre el marco de código abierto

Técnicas y habilidades de aprendizaje resumidas por un programador Java altamente remunerado con 25K o más

6. Temas sobre arquitectura de alto rendimiento

Técnicas y habilidades de aprendizaje resumidas por un programador Java altamente remunerado con 25K o más

Preste atención a la cuenta pública: Kylin cambia el error y recibe y obtiene los materiales, el código fuente, las notas y los videos de la arquitectura avanzada Java anterior. Dubbo, Redis, patrones de diseño, Netty, zookeeper, Spring Cloud, distribuido, alta concurrencia y otras tecnologías de arquitectura. Finalmente, cualquiera a quien le guste puede obtener una buena oferta ~

Supongo que te gusta

Origin blog.csdn.net/QLCZ0809/article/details/112500108
Recomendado
Clasificación