Cómo progresar y distinguirme como programador adolescente.

¿Cómo puedes progresar como adolescente en la programación?

Aquí algunos principios y conceptos básicos para tener éxito en la programación.

1. Aprender haciendo.

  • Predecir lo que sucederá cuando su código se ejecute es, quizás, la esencia de la programación. La mejor manera de descubrir qué sucederá cuando se modifique un fragmento de código es ejecutarlo antes y después de ese cambio, y comparar los resultados.
  • Aprender haciendo también te ayudará a perfeccionar tus habilidades de resolución de problemas. Si puede ejecutar el código que está estudiando en cada paso de un tutorial, puede adivinar fácilmente cómo una modificación cambiará su comportamiento y luego verifique si fue correcto. Predecir el comportamiento de su lenguaje es la esencia de la programación: usted decide qué quiere que haga su programa, escriba el código que predice que tendrá ese resultado y luego ejecútelo para ver si tenía razón.

2. Practica consistentemente.

  • Ya sabes que la práctica frecuente es esencial para cultivar cualquier habilidad nueva. Pero, ¿sabía que es aún más importante si lo nuevo que está aprendiendo implica software? Debido a que los lenguajes de programación y las herramientas que los rodean se mejoran constantemente, parte de su tiempo de estudio se destinará simplemente a mantenerse al día con su nuevo lenguaje y las novedades y desarrollos del ecosistema.
  • Además, practique constantemente usando solo una versión principal de su nuevo idioma hasta que tenga confianza en su comprensión de sus conceptos básicos. Las mejores prácticas para realizar una tarea determinada a menudo cambian a medida que se agregan nuevas características de idioma. Esto significa que si saltas entre las versiones principales de un idioma, tendrás que procesar consejos contradictorios sobre cuándo usar las diversas funciones del idioma, ¡así como también intentar aprenderlas! Si bien es posible terminar con fluidez en el idioma incluso si estudias muchas versiones diferentes de él y sus herramientas al principio, la complejidad añadida retardará tu progreso.

3. Comience con lo básico.

Dejar que un niño intente andar en una motocicleta antes de que puedan mantener el equilibrio en una bicicleta es simplemente prepararlos para el fracaso. De manera similar, saltar a tareas que requieren habilidades que aún no ha desarrollado es una excelente manera de prepararse para una experiencia extremadamente frustrante en un nuevo idioma.

  • Si está aprendiendo de un libro o tutorial, elija uno que esté escrito para estudiantes en o por debajo de su propio nivel de experiencia. Cuando eres nuevo en la programación, la cantidad de material nuevo puede parecer abrumadora. Pero aprender idiomas subsiguientes será más sencillo, porque ya comprenderá los conceptos básicos como asignación de variables, comparación y flujo de control.
  • Antes de intentar escribir una aplicación completa desde cero, comience con los conceptos básicos familiarizándose con el lenguaje, el administrador de paquetes y los complementos de editor y las herramientas de prueba que necesitará.

4. Respeta las diferencias lingüísticas.

  • Muchos idiomas tienen patrones idiomáticos de cómo las personas codifican en ellos. Aunque es posible forzar los modismos de su idioma antiguo en el código en su nuevo idioma, debe tratar de aprender a tener un estilo de codificación más flexible. Escribir código con la “naturaleza” de su nuevo idioma facilitará a otros leer, criticar y ayudarlo a mejorar.
  • Puede aprender las expresiones idiomáticas de su nuevo idioma leyendo el popular código de código abierto escrito en él, y explorar sus filosofías leyendo publicaciones de blog y artículos de expertos. A medida que avanza, considere pedirle a un programador más experto que revise su código y ofrezca comentarios sobre lo fácil que es leer.
  • Si una característica única o un idioma de su nuevo idioma no tiene sentido para usted, no tenga miedo de preguntar al respecto. Obtendrá las mejores respuestas preguntando respetuosamente y sin juicio. “Soy nuevo en este lenguaje y noté que todos parecen hacer X en lugar de Y. ¿Dónde podría aprender la historia detrás de ese patrón?” probablemente te conseguirá una anécdota histórica fascinante, mientras que “X no tiene sentido, deberías hacer Y en su lugar” es probable que provoque una respuesta igualmente intolerante.

5. Construye algo que ames.

  • No tiene que construir el mismo proyecto de juguete como un libro o tutorial solo porque un experto lo sugirió. Si estás creando un código solo para aprender un idioma, podría ser cualquier cosa. Al elegir un proyecto que le interese y deleite, puede motivarlo para que dedique más tiempo a su aprendizaje, imagine y haga mejores preguntas, y continúe avanzando cuando encuentre desafíos.

(Izquierda: Jack Dorsey , CEO de Twitter y Square, Tiger Shen , ingeniero de software autodidacta de 16 años en Square)

En primer lugar, felicidades por ser un apasionado de la programación tan temprano en el juego. Mirando hacia atrás ahora, desearía haber descubierto la codificación en mi adolescencia y más tarde en la vida.

Si aún no has visto esta historia, echa un vistazo a la historia de Tiger Shen, quien obtuvo una pasantía de medio tiempo mientras estaba en la escuela secundaria con una startup llamada Caviar a los 16 años, lo que lo llevó a trabajar con Jack Dorsey en Square.

Realmente te recomiendo que consultes su publicación en el blog donde comparte cómo aprendió Ruby On Rails al seguir el Tutorial de Michael Hartl’s Rails 5 veces, hasta que se sintió cómodo creando una aplicación web.

Luego envió un correo electrónico frío a más de 100 empresas locales y pudo obtener una oferta de pasantía a tiempo parcial con Caviar.

Convirtió su pasantía en una oferta de tiempo completo justo antes de que Caviar fuera adquirida por Square, por lo que a los 16 años estaba trabajando para una de las empresas más novedosas en tecnología.

Luego se unió al equipo de pagos en Braintree, la subsidiaria de PayPal, desarrollando la infraestructura de pago que utilizan los gigantes tecnológicos.

Hizo todo esto antes de cumplir los 18 años sin un título formal de CS.

Ahora si estuviera en tus zapatos aquí es lo que haría:

Intentaría crear algunos proyectos (construir su cartera) y luego contactar con empresas locales (ya sea para reunirse o enviar un correo electrónico a los fundadores) para tratar de obtener una pasantía a tiempo parcial.

Déjame explicarte por qué obtener una pasantía es crucial para tu progresión.

  1. Primero, trabajará en la solución de problemas del mundo real en la producción. Hay una gran diferencia entre piratear un proyecto y trabajar en una aplicación web que está siendo utilizada por los usuarios. Te expones a tantos nuevos retos que te ayudarán a mejorar como ingeniero junior.
  2. En segundo lugar, trabajará codo con codo con los ingenieros. Hay un dicho que dice que eres el promedio de las 5 personas que te rodean. Si se rodea de ingenieros, obtendrá una gran cantidad de flujos de trabajo de programación, mejores prácticas y herramientas (Github, Heroku / AWS, pruebas, etc.) de personas que han estado haciendo esto durante más tiempo que usted.
  3. Tercero, tener una pasantía a tiempo parcial abrirá puertas y dará lugar a futuras oportunidades a tiempo completo.

Ahora el camino de cada persona es diferente, pero sin lugar a dudas, construir cosas que te apasionen y conectar con otros ingenieros te proporcionará una plataforma de lanzamiento increíble en el mundo del software.

Proyectos paralelos

Independientemente de la edad que tenga, los programadores siempre pueden beneficiarse de la construcción de proyectos paralelos. Piense en algunas aplicaciones que serían divertidas de construir. Las listas de tareas pendientes suelen ser buenos proyectos paralelos, ya que son fáciles de entender y se pueden construir en una variedad de marcos: iOS, Android, aplicaciones web y aplicaciones de escritorio. Aprendes algo de diseño de interfaz de usuario, bases de datos y programación orientada a objetos. ¡Pero siéntete libre de elegir cualquier tipo de proyecto que te interese!

Encontrar un mentor

Comuníquese con algunos mentores potenciales que pueden revisar su código y darle comentarios. La respuesta de Artur Meyster a ¿Cómo puedo progresar y distinguirme como programador adolescente? Es una gran respuesta. Si obtiene una pasantía, trabajará con programadores sénior que pueden darle consejos y un camino claro para convertirse en un mejor programador.

También puede intentar comunicarse con profesores de informática en una universidad local cercana a usted. Envíeles un correo electrónico y hágales saber que le gustaría trabajar gratis con ellos. Si tiene una buena actitud, es posible que le permitan investigar un poco bajo la supervisión de uno de sus estudiantes graduados.

Comencé a programar cuando tenía alrededor de 16. Todavía era la hora de los disquetes. Sugeriré desarrollar aplicaciones, juegos, gráficos agradables o videos interactivos, algo que te emocione. Para ti debería ser como tocar la guitarra o jugar basket ball o cualquier juego ahora.

Codifique mucho, lea el código de otras personas, haga ingeniería inversa, aprenda a romper el código de otras personas. Intente ingresar al sistema operativo (su propia máquina) o intente cargar el sistema operativo personalizado en su teléfono o playstation o cualquier otra cosa. Explora tanto como sea posible. Debería ser divertido. No obtendrá este tiempo una vez que ingrese en un entorno de programación profesional.

Crea algo de valor.

Estoy en el proceso de hacerme un nombre para mí y para mi compañía.

Inicio | United Living Construct

¡El amor para que seas parte de eso!

AHORA al punto, con todas las grandes historias de éxito, literalmente todas tienen una cosa en común, agregaron valor. Todas las personas de las que he aprendido, ya sea en persona o en línea, dicen que para ganar influencia necesitas agregar valor.

La verdadera medida de la propia destreza es la cantidad que le han dado al mundo. Bill Gates es enormemente influyente, y por una buena razón, él (y otros por supuesto) creó la plataforma informática más universal. Incluso con los dispositivos móviles en aumento, todavía hay una fuerte presencia de Windows.

Encuentra algo que TÚ personalmente puedas hacer que agregue valor. es decir

  • Crea una aplicación que cambie la forma en que actualmente hacemos las cosas.
  • Haz un sitio web para que la gente vaya.
  • Programa un videojuego para una pequeña empresa.
  • Haga todas estas cosas probono o por una pequeña tarifa para simplemente tener la oportunidad de usar sus habilidades de una manera más profesional.

La gente todavía no te conoce. ¡Es solo cuestión de tiempo para que crezca y agregue más valor al mundo! #hacer un cambio

-Dustin

¿QUÉ SUCEDE SI RESPONDO A UNA PREGUNTA?

Le he preguntado a tantos programadores, tanto en línea como a los más cercanos a mí, acerca de cómo convertirse realmente en un buen programador. ¡Todo lo que me dijeron es ir y descargar vedios, libros, sentarse y codificar! Esa programación no es por hablar, sino por hacer. Cuanto más lo haces, más lo sabes. Elige cualquier lenguaje de programación de tu interés y aprende.
Esa es una respuesta rápida … ¡Pero la mejor respuesta, tienes que hacerlo tú mismo!

¿Has oído hablar de Aaron Swartz? ¿No? Entonces deberías aprender sobre él. Era un joven adolescente cuando comenzó a hacerse un nombre por sí mismo. Participe en la comunidad de código abierto y cree productos para que otros programadores los utilicen. También recomendaría Hackathons ya que tienen muchas personas que pueden aumentar su red y sus habilidades.

Mantente activo en github con algún proyecto de código abierto que te interese. Contribuye y aprende. La nueva entrevista de trabajo está revisando su trabajo real en github. La gente lo contratará directamente desde allí. También aprendes cómo piensan y trabajan los programadores de alto nivel, y puedes progresar extremadamente rápido al abreviar tu código de aprendizaje sobre lo que hace al código bueno / grande. Escriba algunas aplicaciones, ya sea en la web, por teléfono, etc. Cuando comencé, escribí artículos cuando era estudiante de secundaria en diferentes revistas. Fue a principios de los 80, así que era mucho más fácil en aquel entonces, pero me dio algo único en mis primeras entrevistas. También realicé muchas consultas ya que las computadoras eran bastante nuevas para la mayoría de las empresas. Los grupos de reuniones locales también son una excelente manera de obtener contactos.

Fuente abierta. Te da un nombre entre los programadores, la red equivale a puestos de trabajo. Dale algo que puedas mostrar a la universidad y a los empleadores durante cualquier entrevista.