¿Tienes algunos consejos para programadores jóvenes?

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.

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.

Un par de consejos que me han ayudado:

  • Comprenda el problema que se le pide que resuelva con su código.
  • Sé humilde, acepta tus errores, pero intenta realmente aprender de ellos.
  • ¡Prueba tu código! ¡Las pruebas unitarias son tu amigo! No codifique y espere que funcione. Solo porque se compila no significa que esté libre de errores. Ejecute diferentes casos de uso, ingrese valores inesperados para ver si algo se rompe.
  • Código defensivo. Prueba de éxito, no de errores. Esto puede parecer contrario a la intuición, pero si prueba explícitamente una condición de éxito, cualquier otra cosa es un fracaso, que puede manejar con elegancia. No tiene excusa para dejar que su aplicación “explote en vuelo”.
  • ¡Maneja tus errores! Ofrezca al usuario final (o usted mismo) algo eficiente para trabajar si hay un problema. El “error de tiempo de ejecución, línea 2468 en saveFile ()” no es fácil de usar. “No se puede escribir el archivo en la red. Haga clic aquí para ver información detallada del error” es mucho mejor y puede ahorrarle obtener un ticket de soporte.
  • Sé servicial y educado. Mantenga sus quejas a las cervezas después del trabajo.
  • Recuerde sus plazos y si algo más le está haciendo perder tiempo, llame a su jefe para establecer sus prioridades (¡por escrito!)

Me gustaría que siguiera algunos consejos diariamente para aumentar la productividad:

Trabajando juntos con compañeros : la colaboración entre pares ayuda a las personas a interactuar entre sí, resolver problemas juntos y dar rienda suelta a la creatividad para aprender y trabajar en equipo.

Habilidades blandas: las habilidades blandas incluyen la comunicación entre las personas para trabajar, trabajar en equipo y compartir ideas, comprender a otros compañeros de trabajo y ayudarse mutuamente.

Aprender a aprender : este es un paso muy importante para aprender a programar de manera eficiente a medida que la tecnología cambia y se actualiza día a día y nadie sabe quién necesita qué aprender mañana, por lo que debe aprender a aprender a actualizarse día a día.

Conocimientos completos de ingenieros: un mejor conocimiento del front-end y el back-end es importante para la colaboración con los compañeros de trabajo.

Tutoría: La tutoría puede desafiar a las personas y elevarlas más allá de sus límites, y trabajar con personas más experimentadas inevitablemente ayudará a los estudiantes a subir de nivel y aprender cosas nuevas rápidamente.

Holberton ofrece todas estas formas de impulsar la programación de los estudiantes en un corto período de tiempo. Es una de las escuelas progresivas que ofrece un enfoque innovador de la educación progresiva. Ofrece un programa de educación superior de dos años en San Francisco, para convertirse en un ingeniero de software y operaciones altamente calificado, a través del aprendizaje basado en proyectos y entre pares . El plan de estudios está diseñado para estudiantes inteligentes, apasionados, dedicados y de mente abierta. Es a la vez intenso y emocionante. No enfocamos a los estudiantes para que aprendan un lenguaje de programación seleccionado o un marco seleccionado, sino que los ayudamos a resolver problemas para que tengan éxito a lo largo de toda su carrera.

Sí, algunos consejos ……….

  1. comience su programa con hello world, ejecútelo y luego avance
  2. no pienses mucho solo
  3. tratar de dividir el problema en pequeños pedazos de código
  4. usted es un nuevo programador, así que no piense “¿Por qué viene este error?” todos han enfrentado ese problema
  5. Mientras ejecuta el programa si se produce algún error y no puede encontrarlo, comience a pensar línea por línea desde “main ()”
  6. La solución del 90% de errores está disponible en línea, pero puede ser que esté preguntando de manera incorrecta. así que trate de hacer una pregunta, ya que el nuevo programador también puede entender su problema.
  7. Antes de preguntarle a Poblem que se enfrenta a Google, es posible que la solución ya esté disponible.
  8. “Piensa dos veces el código una vez”: no recuerdo dónde lo leí, pero lo recordé y lo escribí

Feliz aprendizaje 🙂

  1. Lea el problema hasta que comprenda el requisito perfectamente.
  2. Identificar el valor límite de las entradas.
  3. preparar casos de prueba
  4. Código
  5. Aplicar los casos de prueba
  6. repita los pasos 4 y 5 hasta que pasen todos los casos de prueba
  7. Estás listo.

Aquí hay un video donde doy algunos consejos a los programadores jóvenes: