Cómo subir de nivel como programador

Con solo 4560 puntos de experiencia más, serás un programador de paladín de nivel 2.

En serio, “subes de nivel” con la experiencia. Pero estás en la escuela, lo que significa que en realidad sabes menos de lo que crees. Si bien puede escribir código en varios idiomas, usar algunos marcos y trabajar en proyectos, los proyectos académicos no son lo mismo que el desarrollo de software del mundo real.

Tener proyectos fuera de la escuela ayuda pero hay una diferencia entre las cosas que escribes para ti mismo sin comentarios y trabajar dentro de un equipo de desarrolladores con diferentes niveles de experiencia para extraer conocimiento, técnicas, experiencia y comentarios.

Todo lo que puedes hacer ahora es escribir código. Retarte a ti mismo. Aprenda sobre el campo o las industrias en las que planea ingresar. Adelántate al juego. Pero comprenda que cuando se gradúe, será un programador de nivel de entrada. No serás un Code Zen Master listo para que el mundo se doblegue a tus pies. Su título no superará los 20 años de experiencia en el desarrollo de software duramente adquirida por la persona que cree que es más inteligente que porque tiene un pedazo de papel.

Sigue aplicándote a ti mismo. Encuentre un mentor fuera de la escuela para aprender. Si su escuela ofrece prácticas profesionales o educación cooperativa, aprovéchela. Aprenderá rápidamente las cosas que no sabe y cuánto tendrá que aprender incluso después de graduarse.

Entonces, está bien! Puedes programar muy bien. Y confía en el marco para el idioma que elija. También tienes muchos proyectos en fila. ¡Bravo! Ya estás en camino de convertirte en un gran programador. Los proyectos son las cosas por excelencia para mejorar su programación.

Las cosas que puede hacer para mejorar su programación incluyen:

  • Obtenga información sobre la depuración en el idioma que elija. Hay muchas bibliotecas para depurar en cada idioma. (Yo uso pdb para python)
  • Aprenda sobre un buen perfilador para el idioma que elija. Esto puede ayudarlo a descubrir diferentes cuellos de botella en su aplicación.
  • Aprenda sobre los patrones de diseño que prevalecen en su lenguaje de programación preferido, como el patrón MVC en el desarrollo web. Los patrones de diseño lo ayudarán mucho con el diseño de grandes aplicaciones.
  • Aprenda sobre un buen marco de prueba en su idioma preferido. Las pruebas de Beacause son la principal diferencia entre un proyecto de pasatiempo y un proyecto empresarial escalable y mantenible.

Además de estos, ¡necesitará saber absolutamente todas las ventajas de su lenguaje de programación preferido!

Diviértete codificando!

More Interesting

¿Qué es la arquitectura orientada a servicios? ¿Cómo es eso diferente de la virtualización?

¿Qué aprendiste de la experiencia en ingeniería de software o al desarrollar proyectos de código abierto?

¿Qué lenguajes de programación debe saber un desarrollador de software?

¿Cuáles son algunos recursos, preferiblemente libros, que podría recomendar para comenzar a aprender compiladores?

¿Cuál es el propósito del aseguramiento de la calidad del software y qué importancia tiene en cada negocio?

Soy un desarrollador de software que trabaja en una empresa decente. Un año después de obtener mi maestría en Ciencias de la Computación, he perdido completamente el interés en el campo. ¿Cómo puedo cambiar radicalmente mi carrera profesional para hacerme más feliz?

¿Por qué los desarrolladores de software con autorizaciones Top Secret DOD y Polygraph ganan tanto dinero?

¿Por qué es importante la prueba de software?

¿Habrá alguna vez un motor de software / juego que elimine / minimice el efecto de cuello de botella de la CPU en los juegos?

Cómo crear un nuevo software yo mismo

Si te dejara probando un software durante dos horas, ¿qué me tendrías que mostrar cuando regrese?

¿Puede un ingeniero de software sobrevivir sin usar la recursividad? Siempre tiendo a usar iteración (para o mientras bucle) en lugar de recursión. ¿Puedo obtener siempre usando la iteración en lugar de la recursividad?

¿Alguien puede desarrollar habilidades para resolver problemas (Matemáticas / Algoritmos / Programación) o son las heredadas?

¿Cuál es su sistema operativo de elección para fines de desarrollo?

¿Qué deben saber todos los ingenieros de software integrados?