¿ Puede alguien realmente aprender a codificar?

En 2011, fui socio de la 33.ª empresa de más rápido crecimiento en Estados Unidos y la 3.ª empresa de tecnología de más rápido crecimiento. La empresa florecía, pero no pude encontrar desarrolladores calificados y asequibles para seguir el ritmo de nuestro crecimiento. Había una gran brecha entre lo que se enseñaba en el aula a los estudiantes de ciencias de la computación y lo que eran capaces de hacer al graduarse. Entonces, ¿alguien puede realmente aprender a programar?

En un caso, contraté a un "desarrollador" con una maestría en ciencias de la computación recién obtenida, le pagué una base de $ 120,000, solo para volver a capacitarlo. Me devané los sesos tratando de descubrir dónde podíamos encontrar talentos de desarrolladores efectivos y asequibles, y fue entonces cuando tuve una especie de epifanía: comencé un programa de capacitación interno que podría acelerar rápidamente a los graduados de informática y desarrolladores junior para brindarles habilidades prácticas de programación. .

Después de capacitar internamente a cientos de desarrolladores y ver su éxito, me pregunté: "Con la capacitación adecuada, ¿es necesaria la experiencia previa en programación?"

Decidí probar mi idea.

Para resumir, me tomó dos años desarrollar un sistema que efectivamente tomó a alguien con poca o ninguna experiencia en programación y lo capacitó para ser un desarrollador en cuestión de meses.

Desde 2012, he estado probando diferentes formas de ver cómo podría mejorar el sistema para educar de manera más eficiente y eficaz a aquellos a quienes les apasiona aprender a codificar, pero que carecen de una educación tradicional en informática.

Siga leyendo para obtener más información sobre algunas cosas asombrosas que he presenciado a lo largo de los años viendo a las personas aprender a codificar.

Aplica hoy

Cómo aprender a programar: lo que necesitas saber y las lecciones que aprendí

1. No es posible saber si alguien terminará siendo un gran desarrollador desde el principio.

Esto suena especialmente cierto si alguien tiene menos de cien horas de experiencia trabajando en codificación y algoritmos. Menciono esto porque muchas escuelas de codificación evalúan a los solicitantes en algoritmos y lo usan como un factor principal para determinar si el solicitante es aceptado o no en el programa.

  • En Coding Dojo tenemos algunas preguntas de algoritmos ligeros que hacemos como parte del proceso de solicitud, pero tomamos el desempeño del estudiante con cautela.

Dejame explicar.

A lo largo de mi carrera, he capacitado a LAMP, MEAN, Python/Django, iOS y Ruby on Rails para ejecutivos tecnológicos exitosos, emprendedores, desarrolladores con 10 a 15 años de experiencia y graduados en informática. También, un gran número de los que eran completamente nuevos en la programación.

Naturalmente, podría suponer que los desarrolladores con 10-15 años de experiencia, o aquellos con títulos en informática, se desempeñarían mucho mejor que aquellos que nunca programaron. Esto es cierto durante las primeras 6-7 semanas de nuestro bootcamp donde se observa el siguiente patrón general

Tenga en cuenta que este es el patrón general de mis alumnos, el viaje/progresión de aprendizaje de cada alumno es único.

Por el contrario, he observado que no es inusual que los estudiantes que tienen dificultades para aprender conceptos de programación al principio comiencen a comprender los conceptos de repente y se vuelvan realmente buenos. Llegan al punto de seguir el ritmo y trabajar junto a desarrolladores con 10-15 años de experiencia en el campo.

Esto fue bastante sorprendente para mí, especialmente cuando comencé a enseñar.

  • Observé que los estudiantes que originalmente estaban en el 10-15 por ciento inferior de mi clase, incapaces de escribir algoritmos básicos, de repente estaban trabajando en el nivel de rendimiento más alto de la clase.

Es cierto que cuando comencé a trabajar con algunos de estos estudiantes, ¡me preocupaba si la programación era un campo que deberían seguir! Me pregunté si debería hablar con ellos y ver si esto es realmente algo que quieren seguir haciendo, porque el riesgo de fallar parecía sustancial.

Me alegro de no haber dicho nada. Muchos de los de "bajo" desempeño terminaron siendo algunos de mis mejores estudiantes y se han convertido en desarrolladores muy exitosos.

  • Después de años de enseñanza, he tenido tiempo de probar cómo puedo acelerar estos momentos "ajá" donde los conceptos hacen clic.

Ahora, a la mayoría de los estudiantes sin experiencia en codificación les va extremadamente bien al final de nuestro programa de tres meses, y algunos se desempeñan tan bien como los desarrolladores experimentados que vinieron al Dojo queriendo reorganizarse en una pila web con la que no estaban familiarizados. antes de.

A continuación se muestra un gráfico genérico para ilustrar algunos de estos conceptos.

Una vez más, estoy generalizando algunos datos para enfatizar ciertos puntos y no diciendo que todos los novatos en codificación al principio lo hacen mejor que aquellos que tienen experiencia al final.

  • Lo que estoy señalando es que a veces tenemos "valores atípicos" que a menudo superan a los estudiantes experimentados, aunque inicialmente estaban en el 25 por ciento inferior de la clase.

Aprende a codificar: Coding Dojo Stats

  • Una cohorte reciente que enseñé en Coding Dojo tenía un 20 por ciento de graduados en informática y desarrolladores experimentados y un 80 por ciento de estudiantes con poca o ninguna experiencia en codificación.
  • Como era de esperar, durante el primer mes del bootcamp vi que aquellos con experiencia en desarrollo se desempeñaban mucho mejor que los estudiantes sin experiencia en codificación.
  • En promedio, los graduados/desarrolladores de informática progresaron entre un 20 y un 40 por ciento más rápido que aquellos sin experiencia.

Aprenda a codificar: Coding Dojo bootcamp estadísticas de progreso

  • Durante la mitad del segundo mes, alrededor del 60 por ciento de los estudiantes que nunca programaron antes comenzaron a desempeñarse a un nivel comparable al progreso que estaban logrando nuestros graduados/desarrolladores de informática, y alrededor del 10 por ciento de los estudiantes incluso comenzaron a superar el progreso de los que tienen experiencia.
  • Al final del programa de tres meses, casi todos eran comparables.
  • Ahora que el programa está terminado, si me pidiera que identificara a los principales desarrolladores que contrataría como gerente de contratación, mis mejores opciones pueden parecer sorprendentes. Especialmente si solo conociste a estos desarrolladores al comienzo de su viaje de software.
  • Mis tres selecciones serían estudiantes que no tenían ninguna experiencia en programación antes del programa pero que ahora se están desempeñando muy bien, siendo mi próxima opción el que tiene un título en informática.

Ahora, no estoy diciendo que aquellos con títulos en informática o experiencia previa en desarrollo no se desempeñen tan bien. Esas experiencias definitivamente ayudan, pero me he dado cuenta de que la experiencia previa no necesariamente se correlaciona con qué tan bueno podría ser un desarrollador.

2. Cualquiera puede aprender a codificar, aunque no esperes un progreso lineal.

Cualquiera puede aprender a programar con persistencia, los profesores adecuados y un entorno de aprendizaje óptimo.

Si bien la codificación se puede aprender solo examinando docenas, si no cientos, de tutoriales, tomará mucho más tiempo. También puede ser ineficaz ya que alguien nuevo en la codificación no sabría qué información es relevante.

  • De hecho, en el entorno adecuado, el aprendizaje puede acelerarse en un factor de 20 a 100.

He aquí un ejemplo de mi propia vida.

“Cuando tenía 14 años, me mudé a los Estados Unidos con mi familia de Corea. Al crecer, estudié inglés durante unos años. Sin embargo, cuando llegué a los Estados Unidos, ¡no estaba preparado y no sabía hablar el idioma en absoluto! Estaba frustrado y me sentía aislado. Aunque estudié inglés durante algunos años, no me preparó lo suficiente cuando me colocaron en un entorno inmersivo de habla inglesa.

Aunque estuve estudiando durante muchas horas, tuve problemas para cumplir con todas las tareas asignadas, prepararme para los exámenes y establecer amistades. Esto fue extremadamente difícil, y hubo muchos días en los que sentí que no se estaba progresando en aprender a hablar inglés. Incluso al final de mi primer semestre, sentía que no estaba llegando a ningún lado y no tenía idea de lo que decían mis compañeros o maestros.

Sin embargo, algo sorprendente sucedió durante las vacaciones de verano. (Tenga en cuenta que no estudié mucho durante ese tiempo). Sin embargo, cuando llegué a la escuela, ¡de repente pude entender todo lo que decían mis maestros y compañeros!

Reflexionando, tuve momentos cruciales de 'ajá', donde ciertos conceptos simplemente hicieron clic. Prácticamente de la noche a la mañana, ya no tenía problemas con la clase y pude seguir el ritmo de mis compañeros.

Aprender a codificar es muy parecido a aprender un nuevo idioma. A menudo consiste en varios momentos 'ajá' en los que las ganancias en el aprendizaje aumentan sustancialmente. De manera similar, el aprendizaje se acelera cuando alguien se encuentra en un entorno inmersivo.

3. Aprender a codificar es un trabajo en progreso

Otra lección que mira hacia atrás es que cuando se trata de aprender a codificar, el crecimiento y la progresión definitivamente no son lineales, donde mejora gradualmente cada día que trabaja/aprende.

De hecho, es más como esto:

Muchas veces, incluso puede parecer que, a pesar del trabajo realizado, no estás mejorando. La clave es seguir persiguiendo tus objetivos y nunca rendirte. Dada la persistencia y la pasión, cualquiera puede tener un momento "ajá" para llevarlo al siguiente nivel.

Por otro lado, si no te mantienes persistente y si no estás realmente “sumergido”, tu progreso se estancará.

Aprendiendo a codificar: mis pensamientos finales

En resumen, según mi experiencia enseñando programación a miles de programadores, he visto de primera mano que cualquiera puede aprender a programar, independientemente de su nivel de aptitud inicial.

Por supuesto, algunos pueden aprender más rápido o alcanzar un mayor nivel de competencia que otros, pero con los maestros y el entorno adecuados, todos los que tengan la pasión y la dedicación para dedicar horas pueden aprender a codificar.

El hecho de que alguien sea el doble de capaz que otro, no significa que siempre será el doble de capaz. A menudo, hay quienes parecen tener un desempeño inferior y luego sorprenden a todos al tener varios momentos "ajá", que a su vez terminan como un desempeño superior.

  • El potencial humano es ilimitado y no debemos juzgar a la persona en función de dónde se encuentra actualmente, sino que debemos tener en cuenta el potencial de cada persona y alentarlos a continuar en su viaje de aprendizaje, especialmente si les apasiona aprender y mejorar. .

Para obtener más información sobre cómo aprender a codificar, consulte Coding Dojo y cómo pueden impulsar su carrera en programación.

¿Puedo aprender informática por mi cuenta?

Si eres un ingeniero autodidacta o un graduado de bootcamp, debes aprender informática. Afortunadamente, puedes obtener una educación en informática de clase mundial sin invertir años y una pequeña fortuna en un programa de grado ??. Hay muchos recursos disponibles, pero algunos son mejores que otros.

¿Todo el mundo puede aprender informática?

Cualquiera puede hacerlo, es parte de nuestras capacidades humanas, pero hay que aprenderlo. Durante los últimos dos años de enseñanza, he sido testigo de las dificultades de varios estudiantes en el proceso y de algunos temas comunes que surgen en sus luchas.

¿Alguien puede ser bueno en informática?

Sí, la informática puede ser difícil de aprender. El campo requiere una comprensión profunda de temas difíciles como tecnología informática, software y algoritmos estadísticos. Sin embargo, con suficiente tiempo y motivación, cualquiera puede tener éxito en un campo desafiante como la informática.

¿Es la informática fácil de aprender?

Aprender la disciplina de las Ciencias de la Computación es una tarea ardua y difícil para la mayoría de los estudiantes. Sin embargo, si está dispuesto a invertir el tiempo y aprender habilidades serias de administración del tiempo, la mayoría de los estudiantes pueden aprender con éxito la disciplina y seguir carreras exitosas en los campos de la informática.

Video: can anyone learn computer science

Ir arriba