codecademy

¿Por qué no deberías aprender a programar con Codeacademy?

Por el título, probablemente pienses que tengo problemas con Codecademy. No es así.

En muchos sentidos, los admiro. Desde 2011, han introducido a millones de personas en el noble oficio del desarrollo de software y han lanzado las carreras de miles de desarrolladores. Ese número parece que se va a disparar con el lanzamiento de su primer curso de Java. Pero al mismo tiempo, su producto -y para ser más precisos, sus métodos de enseñanza- dejan mucho que desear, y están dejando a miles de personas frustradas e inseguras sobre el camino a seguir con sus habilidades de desarrollo formativo.

¿Qué tiene de malo Codecademy?

¿Y cómo puedes, como desarrollador de software, sortear estas imperfecciones para alcanzar tu máximo potencial de programación?

Primer Problema: No Enseña a la Mente

Ser un programador es más que simplemente ser capaz de regurgitar la sintaxis. Se trata de tener una mentalidad particular, en la que eres capaz de dividir sistemáticamente un problema en pasos individuales y lógicos, y luego recrearlo en un lenguaje que la computadora entienda.

Necesitas ser capaz de ver un problema a gran escala, y entender cómo cada paso que das afecta al resto del programa. Además, es imprescindible ser capaz de tolerar un alto nivel de frustración y de perseverar cuando te golpeas contra un muro mental. Tienes que poder investigar mensajes de error, y comunicar el problema a otros. En pocas palabras, necesitas ser capaz de pensar como un programador.

Codecademy no te enseña a pensar como un programador.

Más bien, te enseña lo básico de un cierto número de lenguajes de programación, sin ninguna instrucción real sobre cómo se deben aplicar a problemas de la vida real.

Entonces, ¿cómo puedes obtener esa experiencia tan valiosa?

Personalmente, soy un gran fan de Project Euler y de Daily programmer de SubReddit, que cuenta con suficientes rompecabezas de programación alucinantes para hundir los dientes de cualquiera. Soy un gran fan de este último, porque se te anima a compartir tu código para recibir comentarios de otros miembros de la comunidad.

El Daily Programmer subreddit, como su nombre indica, contiene rompecabezas diarios para todos los niveles de habilidad, desde principiantes absolutos hasta programadores de código robusto.

Problema dos: Parpadea y te lo perderás

Una de mis mayores frustraciones con el enfoque de Codecademy hacia la enseñanza es que se percibe como algo increíblemente transitorio. Aprendes algo, luego completas un desafío, y apenas vuelves a tratar ese tema de nuevo.

Parpadea y te lo perderás.

Es diferente al enfoque adoptado por Duolingo, por ejemplo, donde tienes que revisar y reforzar regularmente lo que has aprendido para poder progresar.

Por lo tanto, si quieres consolidar tu progreso, vas a tener que hacer alguna práctica deliberada fuera de Codecademy. Una de las mejores maneras de hacerlo es simplemente escribir código. Muchos programadores -y me incluyo en ese grupo- también confían en la toma de apuntes y el repaso regular con cartulinas.

Las tarjetas de papel son baratas y efectivas. De hecho, puedes comprar 1.000 en Amazon por menos de trece dólares.

Para aquellos con inclinación digital, también hay varias aplicaciones que puedes usar. Soy un gran fan de Anki , simplemente por lo personalizable que es. Cuenta con miles de tarjetas flash construidas por la comunidad y es extensible a través de su potente y bien documentada interfaz de programación de aplicaciones (API).

Para los usuarios móviles, también hay muchas aplicaciones de tarjetas flash para Android y para el iPhone. También puedes usar las hojas de Google para hacerlas.

Actualmente estoy usando CodeCode.Ninja. Este servicio de suscripción está diseñado pensando en los programadores, y puedes crear una base de conocimientos viva basada en tarjetas flash de todo lo que necesitas saber.

Lo que me gusta del enfoque adoptado por CodeCode.ninja es que para progresar a través de su juego, estás obligado a escribir deliberadamente la respuesta a cada tarjeta. Esto ayuda a fortalecer tu memoria muscular.

Problema tres: La sintaxis no está programada

Una vez más, Codecademy te enseñará la sintaxis de un lenguaje de programación, pero en su mayor parte no te dirá cómo aplicarlo.

El curso de introducción a JavaScript no enseña cómo incrustar un script en una página web para añadir interactividad a un HTML que, de otro modo, sería plano y estático. El curso de Java no te enseña cómo compilar tu código para ejecutarlo. Ni siquiera te dice que Java es un lenguaje compilado, o la diferencia entre un lenguaje compilado y un lenguaje interpretado.

Hay otras cosas que han pasado por alto. Codecademy no te enseña a escribir código limpio y estilizado para que sea legible y fácil de entender. No te enseña a escribir código autodocumentado. No te enseña sobre la administración de paquetes, y cómo usar el código de otras personas en tu propio código.

Esto es algo que sólo se puede solucionar dejando los refugios de Codecademy en la primera oportunidad posible. Escribiendo código y aprendiendo por tu cuenta.

Problema cuatro: Demasiada tarta, no hay suficientes verduras

La razón por la que Codecademy tiene éxito es porque toma la programación, y la transforma en piezas adictivas del tamaño de un bocado que son fáciles de lograr, y ofrecen retroalimentación instantánea. Es el dulce de la programación.

El problema es que, empezar a ser desarrollador a menudo significa que tienes que aprender sobre cosas que son importantes, pero que no son muy emocionantes, o para el caso, fáciles. Hay una gran parte engorrosa de la programación. No hay manera de evitar esto, aparte de ser disciplinado, y hacer tu propia investigación. Si no sabes lo que deberías estar buscando, considera pedir orientación a desarrolladores más consolidados.

Codecademy no es tan malo

Hay mucho que me gusta de Codecademy. Han introducido a miles en los fundamentos de la informática. Pero también hay mucho que mejorar.

¿Has usado Codecademy? ¿Te sirvió u obstaculizó?.

Te puede interesar:

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *