Pensando en mi propia vida como programador, comencé a los 15 años … era, por supuesto, un mundo muy diferente en aquel entonces, las computadoras eran muy raras, extremadamente caras y difíciles de acceder, por lo que había una emoción especial en todo esto, y no sé si ese tipo de emoción aún existe para jóvenes programadores de hoy.
De todos modos, aquí están mis consejos:
Primero y * lo más importante, asegúrate de que te encanta programar tanto que lo harías incluso si nadie te pagara. Si no, no serás feliz programando para toda una carrera. He tenido buenos amigos programadores que entraron en el campo porque paga bien y los niveles de empleo son altos, pero no tenían ese “amor especial” por la programación, eran lo suficientemente inteligentes como para hacerlo, pero se agotarían después de 10 o así que años y luego ganas de hacer otra cosa para ganarse la vida. Dicen que los grandes programadores nacen, no se hacen, y he descubierto que esto es muy cierto a lo largo de los años. ¡Si “sientes” la programación en tu sangre, entonces hazlo! Si no lo hace, podría ser mejor tener una carrera haciendo algo que lo entusiasme y / o le interese más.
Aprenda cómo la computadora / dispositivo para el que está programando funciona “bajo el capó”. El mejor código puede ser escrito por alguien que entienda la máquina en la que se ejecutará su código; un código mejor que el escrito por alguien que no entiende la máquina y simplemente lo considera un “recuadro negro”. Por lo menos, aprenda la “teoría” de cómo funcionan las computadoras en su nivel más bajo: la CPU, la ALU, los registros, el árbol del reloj, las memorias volátiles y no volátiles, etc., etc. Aunque muchos argumentarán que esto No es necesario en estos días (y admito que puedes programar sin conocimiento de la máquina subyacente). Puedo afirmar, a partir de décadas de observación y experiencia, que hay matices en la programación que solo se pueden dominar si entiendes la máquina que existe. debajo de las API, bibliotecas, máquinas virtuales, intérpretes, etc.
- ¿Cómo manejaría una situación en la que un cliente no estuvo de acuerdo con su enfoque sobre un servicio por el que le paga y luego se quejó de los resultados?
- Cómo recuperar mi curiosidad por la física
- ¿Cuál es el mejor consejo para controlar tu temperamento cuando tus hijos pequeños te llevan al límite?
- ¿Qué consejo común se da a los estudiantes de secundaria que no se debe seguir?
- Cómo lidiar con los ataques de pánico
Juega y aprende al menos un lenguaje ensamblador. No hay mejor manera de comprender de primera mano cómo funciona realmente un dispositivo informático que programarlo en lenguaje ensamblador. Domine el lenguaje ensamblador y luego todos los idiomas de nivel superior que aprenda después de eso serán mucho más fáciles de dominar: es un camino mucho más fácil que pasar años con lenguajes de alto nivel y luego tratar de aprender ensamblaje. Los programadores de lenguaje ensamblador pueden hacer * lo que quieran * con sus dispositivos informáticos: no hay restricciones ni límites como los que existen en muchos idiomas de nivel superior, es el lenguaje más poderoso disponible. Período.
No se preocupe demasiado por los “académicos” de la ingeniería de software. ¡Esto * no * significa que no obtenga un título en informática! Aprenderá muchas cosas buenas para obtener su título de CS, junto con un buen sentido de logro. Significa que gran parte de las “palabras de moda” y los conceptos “académicos” de ingeniería de software tienen poca o ninguna relación con su código de “vida real”. Si está destinado a convertirse en un gran programador, naturalmente desarrollará métodos efectivos para crear código que mejor se adapte a la forma en que funciona su cerebro. Nuevamente, muchos discutirían y estarían en desacuerdo conmigo, pero el hecho es que los mejores programadores realmente no necesitan metodologías formales, ni programan de una manera “estándar” como se supone que todos los demás programadores deben hacer “. académicamente correcto “. Historia real: casi no fui aceptado en la universidad donde obtuve mi título de CS (por cierto, me convertí en un graduado summa cum laude de esa universidad) porque la “prueba de aptitud de programación” que me dieron (prueba diseñada por IBM) demostró que no tenía las “habilidades naturales” correctas que los escritores de pruebas debían tener un buen programador. No importa que ya hubiera estado programando con éxito durante 10 años en ese momento. Lo disputé y finalmente obtuve una exención, y luego pasé a ser ahora lo que otros consideran uno de los mejores en mi campo de programación. Demasiado para los expertos académicos.
Los otros carteles a esta pregunta también han hecho buenos puntos. Como sus respuestas cubrieron algo de lo que yo también te diría, considera mi respuesta además de la suya.