¿Qué tan profundo es Java?

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).

  1. 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.
  2. 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.
  3. Java Docs: una vez más, no es algo muy técnico, pero debería acostumbrarse a agregar Java Docs con su código.
  4. Enhebrado Casi todos los proyectos de tamaño intermedio requerirán múltiples subprocesos. Es un concepto fácil, pero imprescindible.
  5. 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.
  6. Familiaridad con las API de Java (que obtendrá con el tiempo).
  7. Patrones de diseño: Patrones de diseño: JavaCamp.org
  8. 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.
  9. 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.

¡Java es el único lenguaje con el que puedes construir TIME MACHINE!

Es una broma.
Es bueno que hayas terminado el programa de estudios. Le darán una buena visión general de la sintaxis, pero para escribir un buen programa necesita comprender varios paradigmas de diseño / arquitectura de software y usarlos en el programa. Una tarea se puede implementar de varias maneras en cualquier idioma, pero elegir cuál es una parte difícil.
Ese conocimiento proviene de la experiencia. Intente dominar la sintaxis / API del lenguaje Java en su campo, intente comprender la esencia de la implementación de Java. Le dará más información sobre lo que puede lograr mejor en Java que cualquier otro lenguaje.

La página en vnu.edu.vn es una buena manera de comenzar.

Bjarne Stroustrup, el diseñador de C ++, se califica a sí mismo 7/10 por C ++.
Si el desarrollador de un idioma le da a él este puntaje, deberíamos tener una idea de cuánto sabemos sobre un idioma.

No solo Java, sino que todos los lenguajes de programación son enormes. Un curso de 21 horas definitivamente te enseñará la sintaxis, pero esa es una parte vital pero muy pequeña de la programación.

El documento que ha señalado tiene más conceptos de programación. Depende de cuán profundamente aprendas esos conceptos.

More Interesting

Para los ingenieros de software que no fueron a la universidad o abandonaron, ¿cómo obtuvieron su primer trabajo?

Cómo encontrar programadores talentosos

¿Cómo lo aprenden la mayoría de los ingenieros de software autodidactas?

¿Cuáles son los principales idiomas que un ingeniero de software necesita saber?

¿Cuál es la mejor ciudad del mundo para vivir y trabajar como ingeniero de software?

¿Cuáles son los atributos que hacen un gran programador?

¿Los ingenieros de Amazon, Yahoo, Apple o Facebook usan la búsqueda web de Google para resolver problemas?

¿Cómo es la pasantía en Apple como ingeniero de software?

¿Qué es esencial para convertirse en un ingeniero de software profesional?

¿Cómo es el día típico de un programador profesional trabajando en una empresa de TI (horario de trabajo probable, tareas diarias, rutina, etc.)?

Como ingeniero de software, ¿puedo trabajar en línea haciendo diferentes softwares y programas para empresas multinacionales y ganar por encima del promedio?

¿Cómo es trabajar en Netflix como ingeniero de software a partir de 2014?

¿Es cierto que algunos desarrolladores profesionales pueden llegar a dominar cualquier lenguaje de programación en solo 48 horas?

¿Debo aceptar un rol de ingeniero senior como un nuevo graduado?

Soy un ingeniero de software de la India y he pasado mis últimos 15 años en el extranjero en varios países. ¿Qué lugar en la India es mejor para que un NRI como yo se establezca al regresar a la India con un trabajo decente?