Sí, siempre hay más que aprender, ya sea principiante o profesional con 20 años en el negocio de la programación. No hay un punto mágico en el que puedas dejar de estudiar y aprender.
Dicho esto, existen mínimos mínimos en lo que respecta al conocimiento de C ++; cuanto más avance más allá de esos mínimos, más probabilidades tendrá de ser contratado para su primer trabajo (y tener éxito en él). Dado que los programadores experimentados tienden a impacientarse con los inexpertos, poseer más conocimientos de C ++ probablemente hará que su experiencia en la oficina sea más fluida.
Habilidades Fundamentales
- ¿Vale la pena prepararse para la próxima entrevista de trabajo, en lugar de obtener una experiencia laboral de calidad con el puesto actual?
- Si tu jefe te pidiera que saltaras, ¿preguntarías qué tan alto? O preguntarías, ¿por qué quieres que salte?
- ¿Pagaría por los detalles del automóvil móvil?
- ¿Cuáles son las perspectivas de que un estudiante de Ingeniería Aeronáutica consiga un trabajo después de su licenciatura?
- ¿Cuáles son algunas de las ventajas de ser ingeniero civil?
Independientemente del idioma que esté aprendiendo, cada programador necesita conocer algunas habilidades fundamentales. Bases de datos, por ejemplo: Aprender alguna combinación de SQL, MySQL y NoSQL no puede dañar, ni saber tanto como sea posible sobre selecciones y uniones. Un programador sólido está suficientemente familiarizado con Linux y Windows para mostrar algunas habilidades administrativas y de línea de comandos, cuando sea necesario.
Otra cosa importante a saber es el control del código fuente. En estos días, la mayoría de las personas parecen preferir git, aunque todavía se ven otros como la subversión. Aprende todo lo que puedas; si lo contratan como programador de C ++, es muy probable que su nuevo empleador le pida que revise el código, y definitivamente querrá saber cómo hacerlo sin preguntar.
Específicos de lenguaje con C ++
Seamos realistas: C ++ no es un lenguaje fácil de aprender. Dominar los conceptos básicos de C ++ significa que ha desarrollado algunas habilidades sólidas.
Primero, aprenda los conceptos básicos de la programación orientada a objetos; También conocemos estructuras de datos y algoritmos por dentro y por fuera. Por ejemplo, sepa cómo crear una lista vinculada, aunque probablemente usará una que sea parte de una biblioteca existente.
Dominado esos? Aquí hay algunos artículos más:
- Aprenda qué son las variables de pila y cómo se pueden asignar los objetos en el montón; lleve esto al siguiente nivel y comprenda que cuando llama a new , generalmente almacenará un puntero al objeto en una variable; el objeto vive en el montón y la variable vive en la pila. Aprenda si estas variables están fuera de alcance y cuándo. ¿Porque es esto importante? Si devuelve la dirección de una variable local, va a (a) crear errores y (b) enojar a otros programadores.
- Aprenda cómo funcionan realmente las referencias y cómo son diferentes de los punteros. Comprenda cómo se pasan las variables en las funciones y acerca de pasar una estructura completa en lugar de pasar un puntero a una estructura en una función.
- Aprenda cómo se asignan las matrices con new y delete, y cómo crear una matriz que pueda devolver de una función de manera segura.
¿Tienes una idea de todo lo anterior? Lo estás haciendo bien. Aquí hay algunas cosas nuevas que aprender:
- Métodos virtuales
- Destructores virtuales
- Sobrecarga del operador
- Cómo funcionan las plantillas (funciones, clases e instanciación)
- Sintaxis correcta
- La biblioteca estándar, así como Boost (practíquelos a ambos)
Pase tiempo con código profesional como algunos de los proyectos C ++ de código abierto más grandes en GitHub. Esto le permitirá “aprender de los maestros”, por así decirlo.
Aquí hay una idea de cuántos desarrolladores senior ven a los desarrolladores de nivel de entrada: la mayoría no son pacientes con ellos. Esperan que los desarrolladores de nivel de entrada sean tan buenos en la codificación que pasarán rápidamente al nivel superior. Los desarrolladores de nivel superior no quieren sostener a los desarrolladores de nivel de entrada.
En otras palabras, si comienza un trabajo en C ++ y le pregunta a un desarrollador senior qué referencia tiene, el desarrollador de nivel senior se enojará. No es que sean personas enojadas en general; es solo que tienen un trabajo que hacer … y ese trabajo no es enseñar programación. Si bien no esperan que los desarrolladores de nivel de entrada tomen decisiones arquitectónicas, sí esperan que sean codificadores fuertes y competentes; También están impresionados cuando los desarrolladores de nivel básico aprenden rápidamente lo que necesitan saber y avanzan por su cuenta.
Conclusión
Dicen que el mejor momento para plantar un árbol fue hace 20 años; El segundo mejor momento es hoy. Lo mismo ocurre con la programación: aprende todo lo que puedas hoy, con la vista puesta en el futuro. Si bien C ++ no es algo que se pueda dominar en una semana, se necesita relativamente poco esfuerzo para comenzar a dominar sus componentes fundamentales.