¿Cuál es la mejor manera de aprender a programar mientras trabaja a tiempo completo, como cursos en Internet, libros de autoaprendizaje, clases, etc.?

EDITE de 2,5 años en el futuro : desde que escribí esto, hemos introducido nuevos cursos en Thinkful, el Flexible Web Development Bootcamp y Full Time Web Development Bootcamp . Recogen todo lo bueno de los cursos que menciono a continuación, especialmente la mentoría 1 a 1 y el apoyo de la comunidad, y lo convierten en un campo de entrenamiento que garantiza la inserción laboral.

Nuestro objetivo es ayudarte a aprender a codificar mientras trabajas a tiempo completo. Obtiene las herramientas que necesita para obtener un trabajo como desarrollador de software sin renunciar a su trabajo.

En Thinkful, hemos visto a docenas de estudiantes que hacen malabarismos con el trabajo de tiempo completo mientras toman nuestros cursos en línea de desarrollo web de 12 semanas, Ruby, Python e iOS. Es totalmente posible, pero tendrá que hacer un trabajo serio para luchar contra el cerebro de lagarto (Tranquilidad del cerebro de lagarto) y esforzarse para sumergirse en material difícil en su tiempo libre en lugar de relajarse.

No es fácil, pero vale la pena: las recompensas son enormes, tanto personales como profesionales. Independientemente del camino de aprendizaje que tome, le prometo que quedará enganchado desde el momento en que se asoma por detrás de la cortina y comience a ver cómo sus ideas cobran vida en la pantalla.

Aprendiendo materiales

En cuanto a los contenidos y recursos de aprendizaje reales:

No hay escasez de excelentes recursos educativos de programación en línea gratuitos (y relativamente baratos). En Thinkful (Conviértete en un desarrollador web | Thinkful), siempre nos ha impresionado la profundidad y el enfoque de:

  1. CodeSchool
  2. Codecademia
  3. Tutsplus

Además, la escuela Flatiron amablemente con código abierto su “Pre-Work” para estudiantes nuevos en su campamento intensivo: una colección de excelentes recursos de Internet para inspirarte y ayudarte a ponerte en marcha, desde configurar una cuenta de Github hasta dominar la línea de comandos.

Crea un plan de aprendizaje.

Independientemente del camino y los recursos que elija, hemos encontrado que las cosas más importantes a tener en cuenta para la programación autodirigida incluyen:

(1) Motivación:

Como muchas de las otras respuestas han señalado, es clave tener algunas metas en mente para ayudarlo a recordar por qué decidió hacer esto en primer lugar. Cuando te estás rascando la cabeza a las 2 AM tratando de descubrir por qué un maldito elemento HTML no flota adecuadamente, te rendirás rápidamente si no te recuerdas a ti mismo que estás progresando progresivamente hacia una meta emocionante.

En Thinkful, hemos visto mucho éxito con el aprendizaje basado en proyectos, y si son problemas que usted mismo establece (por ejemplo, un proyecto paralelo emocionante que ha querido construir) o que pide prestado a otros (por ejemplo, recreación). un sitio o una aplicación que te encanta entender cómo se construyó), será mucho más fácil seguir conectándote si sabes que te estás acercando a darte cuenta de algo que es emocionante para ti.

Además, el trabajo basado en proyectos te obliga a pensar críticamente sobre cómo atacar problemas complejos. Lo antes posible, desea configurarse para pensar como un programador. ¿Cómo puedo dividir este problema en tareas discretas? ¿Hay una manera más rápida y fácil de reescribir ese bit de código? ¿Con qué problemas puedo encontrar este código inicial a medida que profundizo en otros elementos del proyecto?

(2) Flexibilidad:

Dado que está trabajando a tiempo completo, tendrá que dejar espacio para la vida para que se ajuste en algún lugar entre el trabajo y la codificación. Las rutinas son muy importantes, pero también es esencial estructurar su plan de aprendizaje para que pueda tomarse una o dos noches de descanso cuando lo necesite. Además, debe estar preparado para tomar un descanso en sus estudios de desarrollador si encuentra un parche de “tiempo de crisis” en el trabajo. El agotamiento es algo real, y no desea que su aprendizaje y su trabajo a tiempo completo sufran.

(3) Apoyo:

Como han señalado otros carteles, la tutoría, ya sea formal o informal, es una manera asombrosa de mantenerse enfocado y evitar el agotamiento. Si tienes la suerte de tener algunos amigos desarrolladores, sobornándolos para que te ayuden de la manera que mejor te parezca. Pero si no es así, hay varias maneras de encontrar mentores que pueden ayudarlo a superar los puntos inevitablemente “atascados” que golpeará a medida que aumenta la complejidad de los desafíos que enfrenta.

Para el registro, “atascarse” es absolutamente crucial cuando se aprende a codificar, permítase sudar un poco mientras trata de resolver problemas que parecen estar más allá de su conjunto de habilidades. La inmensa satisfacción que viene después de resolver finalmente un problema después de horas de contemplación lo ayudará a comprender por qué los programadores están dispuestos a quedarse tan tarde jugando con sus editores de texto.

Thinkful creó un equipo de grandes mentores, pero otros sitios como iMentor y Tutorspree también pueden conectarlo con personas brillantes que pueden ayudarlo a guiarlo cuando necesite ayuda externa.

Google es invaluable también. Si continúa cometiendo un error, copie y pegue el código o el mensaje de error en google y es probable que encuentre a alguien que ya lo haya hecho antes, ya sea una publicación en Stack Overflow o en otro lugar.

Además, considere asistir a una reunión de tecnología local y pedir audazmente a un desarrollador que se comprometa a ayudarlo (por dinero o, con suerte, por satisfacción altruista). Si son buenos, los desarrolladores son aprendices de por vida, y apreciarán tu iniciativa.

Si está buscando más orientación sobre qué recursos retirar o cuál podría ser el mejor lugar para comenzar teniendo en cuenta sus objetivos únicos, no dude en comunicarse conmigo en [email protected]

Un poco sobre mí, para el contexto: comencé a aprender a codificar en la escuela secundaria, cuando me presentaron la calculadora TI-83, que te permitía escribir juegos y ecuaciones en código. El año pasado, lancé Thinkful con mi cofundador, Dan Friedman, para ayudar a acelerar el aprendizaje autodirigido para programadores aspirantes con tutoría y planes de estudio personalizados que se adaptan a sus objetivos de aprendizaje únicos. Hemos visto a muchos desarrolladores aprender a codificar con éxito mientras administraban un concierto de tiempo completo. Si desea hablar con alguno de nuestros antiguos alumnos acerca de cómo lo hicieron funcionar, no dude en enviarme un correo electrónico y configuraremos algo.

Recomiendo Codeacademy Code Year. Lo completé en 2012. Me ayudó a pasar de n00b a alguien que puede crear una aplicación web decente (Instacurate).

Escribí un largo artículo sobre mi búsqueda, con todos sus desafíos y frustraciones ( http://www.davidbauer.ch/2013/01 …).

La versión tl; dr de dicho artículo es una lista de diez aprendizajes, que estoy cruzando aquí.

  1. Establecer un objetivo y hablar de ello. Necesitarás la presión.
  2. Recomiendo Codecademy como plataforma de aprendizaje. CodeYear 2013 acaba de comenzar. No hay mejor momento para empezar que ahora.
  3. Una vez que la euforia ha terminado, se pone muy difícil. Pero la diversión estará de vuelta.
  4. Permítase un descanso de unas semanas después de fracasar por primera vez.
  5. Obtén una cuenta en Github. Sea solo como una afirmación irónica primero.
  6. Realice su primer proyecto personal tan pronto como se sienta lo suficientemente cómodo como para aplicar un poco de creatividad.
  7. Encuentre un programador experimentado al que pueda pedir ayuda cuando esté atascado.
  8. Y entonces todo se junta. A partir de ahí, el cielo es el límite (bueno, digamos algo celestial).
  9. No te fijes en el valor periodístico. Pronto se pondrá de manifiesto.
  10. Ser capaz de codificar es una USP para periodistas y le permite pensar más allá de los formatos existentes.

Si bien los aprendizajes 9 y 10 están dirigidos a periodistas, creo que puedes aplicarlos fácilmente a cualquier profesión en la que estés.

En Bloc, nuestro gran objetivo es el aprendizaje acelerado, y nos damos cuenta de que la mayoría de las personas no pueden hacer su trabajo o reubicarse. Ofrecemos un programa de aprendizaje en línea de 12 semanas y 100% en el que su mentor asignado personalmente se reunirá con usted con la frecuencia necesaria para convertirlo en un desarrollador web.

Nuestros exalumnos han ido a conseguir trabajos, a convertirse en autónomos, a iniciar incubadoras, a lanzar negocios exitosos y mucho más.

No es fácil, pero tener un guía humano hace que el mundo sea una diferencia.