Videos para aprender a programar

No, de verdad… no mames.

Los vídeos son un buen medio de enseñanza para ciertos temas, aprender SEO, Marketing de contenidos, social media, idiomas, e incluso aprender habilidades de gestión de personal. Vídeos que transmitan el conocimiento practico de un scrum master o un proyect manager. No se puede negar la realidad de que los vídeo son un medio para aprender. pero no para aprender programación como tal. Puedes enseñar los conceptos básicos de un lenguaje, e incluso en un vídeo bien echo puedes explicar como resolver un problema con un algoritmo especifico.  ¿Por que no? tal vez en  10 minutos de vídeo puedes explicar  el algoritmo de max min con poda alfa beta aplicado a juegos de mesa como el ajedrez.

Específicamente los vídeos que me cagan son los vídeos que duran una hora donde un wey intenta programar algo relativamente pequeño y en una parte del vídeo muestra su pantalla y en una esquinita el screencast de el hablando. También odio los vídeos que son en vivo, y mas aun los vídeos donde el presentador pretende tener una interacción con el espectador en vivo para resolver dudas.

Hace mas de 7 años que no veo vídeos para aprender a programar, en realidad nunca pude ver uno completo y nunca conocí a alguien que aprendiera viendo vídeos (conozco 2, pero también estudiaron ing en sistemas). Los vídeos que en su momento llegue a ver fueron los de “mejorandola”  o “video2brain” aunque ubico mas plataformas como “Khan Academy” o  “Lynda”.

Y de los vídeos que vi e hice el esfuerzo por ver durante mas de 15 minutos  me tope con que el presentador a veces redundaba demasiado en cosas técnicas, o se distraía hablando de esta  X o Y tecnología sin tocar nada técnico o contado historias. Y entonces uno comprende que si tiene tantas visitas  en realidad  es por que es un “rockstar”, tiene una actitud de  “soy bien chido y la educación formal es una mierda”  y tal vez estoy metiendo a todos en el mismo saco por  lo que vi  de Freddy Vega y uno que otro de sus socio. Y llegando a este punto aprovecho para decir, no desconfió de sus habilidades como programadores, y no dudo que puedan enseñar buenas cosas sobre seo, emprendurismo y otras cosas en vídeos, livestreams, clases virtuales…(wathever).


Yo he estado del lado de la persona que contrata para una empresa y no me e fijado nunca en el titulo académico y mucho menos en  cosas como “tome un curso de 60 horas de ruby on rails en la plataforma tal”, la verdad  me es tan irrelevante como quien trae en su curriculum certificado “Microsoft Certified Master  .NET” 

Me fijo principalmente en  como resuelven  algunos problemas, si busco un junior le pongo problemas de lógica (a veces sin programación) si busco SQl y trae en su curriculum un certificado de “Amo y señor de SQL Server ”  lo quiebro (literalmente, lo quiebro) preguntándole como se hace  un MIN() o MAX() con pura álgebra relacional. si necesito un frontend  le pido consumir X apis y mostrarme en pantalla el resultado.  si necesito a alguien intermedio o senior  me encanta tronarlos… y es realmente fácil.

Preguntar como se hace un  Fibonacci recursivo es  genial, 4 de cada 5 que e entrevistado no pueden, preguntar como eliminas un nodo de una lista enlazada en una dirección en tiempo constante y un puntero… de verdad, se dan de topes contra la cabeza.

Me da igual si la persona tiene 19 años y aun no entra a la universidad, o si tiene 10 años de experiencia. 10 años de experiencia concatenando valores en un campo de la base de datos para luego separarlos con split  son 10 años de experiencia haciendo las cosas mal aunque la aplicación funcione. (las dos mejores contrataciones fueron dos chicos de 19 brillantes, que no aprendieron a programar con vídeos, aprendieron escribiendo código una y otra vez bajo el mando de alguien que les decía “si, resuelve el problema pero tu algoritmo tiene 5 anidaciones de whiles cuando podrías hacerlo así, hazlo a hacer”)

También me da igual si la persona resuelve el problema o no, observando que hace mientras lo resuelve y su actitud  si no lo resuelve te da una pista de que tan buen candidato es.

No dudo que aventarte 10 horas de vídeo te de el conocimiento para hacer un twitter con php (o cualquier lenguaje) o que te permita diseñar las 4 pantallas de tu app de  uber de enchiladas. y la verdad es que en algunos casos no importa si tienes el conocimiento real o no, como lo escribí en “iniciar una startup es 99% suerte 1% conocimiento tecnico”

Tampoco dudo que poner en el curriculum “hice un curso en vídeo de 20 horas de Java” haga que te contraten. es mas seguro que te contratan si el resto de los candidatos no tienen ni eso, pero no es una buena contratación y amo este vídeo del negas que resume el por que te contrataron.

Si vas a aprender  a programar (y no quieres ir a la universidad), yo recomiendo plataformas como https://www.codecademy.com/es por que literalmente te ponen a escribir código, y después  ejecutan ese código sobre una serie de pruebas unitarias y si el código no es optimo no pasa todas las pruebas. Y esto es lo mas importante, desde que comienzas te están obligando a pensar en como le hago para bajar el tiempo de  ejecución para que pase la prueba.

Si vas a consumir vídeo para aprender, que sean vídeos concretos (y cortos) de donde al menos se esforzaron en mostrar gráficamente que esta ocurriendo en el algoritmo y no vídeos donde la persona esta programando y ver como se equivoca,  borra el código y se enreda con las palabras.  Yo no puedo recomendar plataformas de vídeo, ya no tengo necesidad de aprender de 0 a programar. Si alguien quiere compartir una buena plataforma de vídeo en los comentarios  adelante.

 

PD: me encanta esta publicación “como identificar un buen ingeniero de software”

¿Qué es lo que más te preocupa cuando recibes o revisas el código de otra persona?

La mayoría se va con la finta y da una respuesta relacionada a problemas de estilo, como el nombre de las variables, la indentación o el número de comentarios en el código. ¡BEEEEP! Prueba no superada.

La respuesta correcta debe tratarse sobre temas de fondo: aversión por aplicaciones con poca cohesión, algoritmos lentos, código potencialmente inseguro o que no haya implementado patrones de diseño. ESO es lo que estamos buscando: ingenieros de software, no críticos de estilo.

Martin Quinta

Crecí con una computadora desde el kinder. Empece a programar a los 14 y hoy, mas de una década después… realmente odio estar frente a una computadora. Pero programar es en lo que soy bueno, por lo tanto me desahogo en este blog mientras bebo cerveza artesanal y pienso en un mundo bonito donde Java no existe.

Facebook Twitter LinkedIn  

Entradas relacionadas:

Leave a Reply

Your email address will not be published. Required fields are marked *