Hay algunas cosas que creo que casi todos los que buscan obtener un cierto nivel de experiencia en Java deberían saber (aparte de la sintaxis básica).
- Una buena comprensión de todos los conceptos básicos de OOP. Debe ser muy claro con su comprensión de los objetos y las clases y cómo descifrar su código de esa manera.
- Normas y prácticas de codificación. Esto es probablemente lo más importante que debe tener en cuenta al trabajar en cualquier proyecto en cualquier idioma. Para Java, puede comenzar a seguir los estándares de codificación de Google (aunque puede variar un poco con diferentes organizaciones): Google Java Style.
- Java Docs: una vez más, no es algo muy técnico, pero debería acostumbrarse a agregar Java Docs con su código.
- Enhebrado Casi todos los proyectos de tamaño intermedio requerirán múltiples subprocesos. Es un concepto fácil, pero imprescindible.
- Estructuras de datos básicas y clases proporcionadas por las API de Java. Como ya ha trabajado con algoritmos en Java, debe estar bastante familiarizado con todo eso, como Colas, Pilas, ConcurrentHashMap, StringBuilder, Pattern, etc.
- Familiaridad con las API de Java (que obtendrá con el tiempo).
- Patrones de diseño: Patrones de diseño: JavaCamp.org
- Luego vienen algunas cosas específicas que debes saber según tu campo de trabajo. Como Gradle – Automation Evolved, Spring – 1. Introducción a Spring Framework, etc. O algo así como Data Mining con Open Source Machine Learning Software en Java si está interesado en la IA.
- Uno de los conceptos más importantes es la prueba. Por lo tanto, debe tener un buen conocimiento de algunos marcos de prueba. JUnit es uno de los más utilizados. También necesitará saber acerca de al menos un marco de burla para burlarse de objetos como mockito – burla más simple y mejor – Google Project Hosting.
Creo que después de tener un buen conocimiento de las cosas mencionadas anteriormente, al menos puede estar seguro de asumir cualquier proyecto en Java. Tal vez si pudiera mencionar algún campo en particular en el que va a trabajar, alguien podría proporcionarle algunas cosas más específicas que debería saber.
- ¿Hay muchos despidos o despidos en Silicon Valley (de ingenieros de software)?
- ¿Cuáles son las aplicaciones de la ingeniería de software en nuestro entorno diario?
- ¿Cuáles son algunas historias de emprendedores tecnológicos (o ingenieros / desarrolladores de software) que obtuvieron malos resultados en la universidad, pero tuvieron éxito en el lugar de trabajo?
- ¿Hay alguna manera de evitar que alguien elimine una carpeta de un disco duro externo sin autenticación?
- ¿Cuánto dinero gana como ingeniero de software en Pakistán?