Si puedes retroceder en el tiempo y darte consejos justo antes de comenzar tu viaje de programación, ¿cuál sería?

  • Si comienza con C, no se avergüence o no se rinda cuando aprenda punteros y direcciones. Es normal, y el concepto es difícil de obtener.
  • No pierdas el tiempo cambiando entre demasiados idiomas. Aprenda un procedimiento y tal vez 2 orientados a objetos que cubren la mayoría de los nichos de software.
  • No realice cambios en el código y ejecútelo cada 10 segundos para ver si funciona. Intenta comprender por qué no funciona.
  • Haz proyectos personales, ya que eso es lo que más te enseña. Haz, no mires.
  • Intenta ingresar a programas de software junior, cursos universitarios de verano, hackatones y todos los eventos que puedas que coincidan con tus intereses. Esto lleva a conocer personas influyentes, al conocimiento y la experiencia.
  • No omita proyectos hasta que realmente haga algo útil, o hasta que aprenda algo nuevo.
  • Practica tanto como puedas, pero no dejes que tu vida social sufra con él. Salir con amigos y familiares. Las relaciones son importantes para las personas, y sin una mente sana, su programación apestará. Haga deporte o algo que libere el estrés.
  • Trate de evitar pensamientos negativos sobre sus capacidades. Nadie nació sabiendo todo. El conocimiento lleva tiempo. Disfruta de tu tiempo y hazlo a tu favor y desarrollo personal. No te estreses por las cosas, solo respira y comienza de nuevo.

Me diría a mí mismo:

¡Sé más eficiente! Intenta aprender algo nuevo todos los días. Y elija cuidadosamente una pila de idioma o tecnología, trabaje en ella hasta que domine todos los detalles de la técnica.

Presta más atención a los algoritmos y la estructura de datos. Tener una sólida comprensión de estos conocimientos.

El problema para mí es que cuando comencé mi viaje, era 1973. Era un niño de 11 años que intentaba tomar una clase en BASIC impartida por un profesor de matemáticas del Dartmouth College. El único consejo útil que podría darle a ese chico sería que no se molestara con la clase, sino que me dedicara a enseñarme a mí mismo. Terminé abandonando la clase y luego, cuando tenía 12 años, comencé a aprender por mi cuenta.

Si intentara decirle mucho más que eso, probablemente habría entrado por un oído y salido por el otro. Ahora, si me preguntaras qué me diría si pudiera volver a los puntos cuidadosamente seleccionados a lo largo de mi viaje, probablemente podría darte muchas más ideas. Habría podido entender de qué diablos estoy hablando.

Código todos los días.

Nunca pienses que lo sabes todo. Esfuérzate lo más posible.

Preocuparse por la programación, no por los lenguajes de programación.

La optimización no lo es todo.

trabajar para la optimización cuando sea posible.

No te lo tomes demasiado en serio.

tomar descansos cortos cada hora

Chico, esa es una buena pregunta! He pensado en eso mientras me aventuraba a ver la informática y la programación de manera diferente en los últimos 4 años. Sería difícil para mí entender este consejo cuando comencé, en 1981. No había muchas opciones, en términos de con qué idioma comenzar, dados los recursos financieros limitados que tenía y lo que estaba disponible, y poder ver una idea más poderosa en la programación hubiera sido difícil.

Creo que lo que habría comenzado sería: “Aprenda algunos modelos de computación tan pronto como pueda, con lo que me refiero a máquinas virtuales para lenguajes de programación”. También habría tratado de aclarar la confusión que mi yo más joven tenía sobre qué ” medios de comunicación “en relación con la informática. Esa fue una idea que se mencionó de vez en cuando.

Aunque no estaba usando un lenguaje de programación poderoso en ese momento, si hubiera encontrado algunas buenas fuentes para mi sugerencia, podría haber podido probar algunas de estas ideas en él. Sin embargo, dudo que hubiera seguido esa línea de pensamiento muy lejos, porque el hardware que estaba usando era muy lento, y tratar de construir algo así habría sido interesante, pero poco práctico. Hubiera tenido que esperar 8 años antes de tener acceso a un hardware lo suficientemente potente como para realmente hacer algo práctico con él, pero tal vez lo habría encontrado lo suficientemente interesante como para seguir adelante cuando surgiera la oportunidad.

Otra razón por la que doy esta sugerencia es que llegué a un punto en la escuela secundaria donde había pasado por algunas iteraciones sobre una idea de aplicación en la que había estado trabajando durante algunos años, y finalmente sentí que quería hacer un sistema interactivo de allí, donde quería eliminar las formas convencionales de entrada del usuario, y hacer que los usuarios trabajen con los elementos como objetos de primera clase, en una especie de su propio entorno de programación, pero no tenía la mejor idea de cómo hacerlo. He visto un deseo similar surgir entre algunos otros programadores de mi generación, donde habían hecho lo mismo que yo (habían pasado por algunas iteraciones de una idea), habían llegado al mismo deseo y habían alcanzado el mismo pared. Se requirió una comprensión diferente de lo que significa el procesamiento, y creo que esta sugerencia habría respondido.

Esa es una pregunta de búsqueda del alma. No creo que haya tomado malas decisiones, al menos no al principio. Lo que a veces no me agrada es que no me he mantenido al día con los nuevos desarrollos como debería. Esto tiene algo que ver con hacerse mayor, tener hijos, tener un trabajo que no me paga para programar pero que investiga sobre programación, pero aún así … en comparación con los estudiantes que sé, parece que sé mucho sobre idiomas que nunca usarán y saben mucho sobre idiomas que nunca he usado.

No entres en años de programación corporativa.

Comience su empresa AHORA. Falla, comienza otra.

Pero no entres en años de programación corporativa.

Nunca aprendas Python

¡Nunca aprendas HTML, deberías haber sabido esto, idiota! ¡Eres HORRIBLE en el arte y el diseño!

Aprenda Java, los fundamentos, luego conozca a este tipo llamado EternalBlueFlame. Pregúntale qué le pasa a tu código. Aprende trig.

Obtenga una mayor capacidad de atención, no se aburra.

Tenía que pensar más en serio sobre mi primer idioma.

Como he observado en estos años, su primer idioma se parece a su lengua materna. Es más conveniente que los otros.

Hmm … No hay muchos consejos para darme a mi hijo de 13 años con respecto a mi programación, pero podría decir:

  1. Aprenda Perl además de BASIC y lenguaje ensamblador. Pero solo daría este consejo porque creo que Perl es genial y está subestimado.
  2. Aprende un lenguaje de programación funcional puro. Pero lo aconsejaré porque siento que los lenguajes funcionales puros son un poco más adecuados para las personas con mentalidad matemática.
  1. Aprende python mientras estás en la universidad.
  2. Aprenda algoritmos antes de comenzar.
  3. Solicite trabajo para una startup en lugar de en una empresa corporativa.
  4. Haz más proyectos en el lateral. Siempre. Hacer. Más.

Hmm, escribí mi primera línea de código cuando tenía unos 7 años e intenté hacer mi primer juego alrededor de los 12, así que mi consejo para cualquiera de esas edades sería este:

“¡Oye imbécil! ¡Tal vez deberías dedicarte a la codificación! sí, definitivamente no esperes hasta que tengas treinta años para hacer esto ”

Mi segundo consejo sería:

“Dinero = pollitos, y codificación = dinero … ¡descifrarlo, tonto!

Mi consejo para mí sería aprender sobre las redes de Petri y usarlas para organizar mis programas de computadora.

More Interesting

¿Existe un período óptimo de tiempo ininterrumpido (sin distracciones) que los programadores necesitan para trabajar de manera efectiva? Por ejemplo, estiramientos de treinta minutos no funcionan para mí.

¿Qué tipo de mentores han tenido las personas en una carrera de ingeniería de software?

¿Cuál es el costo promedio por año, después de FICA, seguro de salud, espacio de oficina y salario, para un ingeniero de software en Silicon Valley?

¿Es común que se le pida que realice pruebas psicométricas para roles de ingeniería de software?

¿Qué software debo usar para hacer una aplicación?

¿Por qué los ingenieros y los PM están tan enamorados de los nombres de código del proyecto?

¿Cuál es el producto de Microsoft más subestimado?

En aplicaciones de misión crítica (o superior) y / o de alta seguridad, ¿el cliente / patrocinador siempre tiene la razón?

¿Existe algún software de reserva múltiple disponible que pueda integrarse en un sitio web y una aplicación? ¿Piensa en opciones como la reserva de evento a lugar / servicio?

Cómo lograr mi objetivo de ser un gran probador de software

¿Cuáles son los pros y los contras de tener reuniones diarias de scrum en la noche, al final del día?

¿Puedo ser ingeniero de software? Perdí toda mi esperanza al asistir a entrevistas y perdí 2 años.

¿Qué debo preparar para la presentación de ICP en China?

Al unirse a una nueva empresa como ingeniero de software, ¿cuál es el mejor tipo de proyecto para solicitar al principio?

¿Cómo publico mi propio patrón de diseño de software?