Aprender a programar no es sencillo, nadie dijo que lo fuera y sin embargo cada año tiene a miles de adeptos que cambiamos de carrera para comenzar a escribir líneas de código y resolver problemas porque realmente nos gusta hacerlo.
Mi nombre es Angie y pertenezco al team Platzi en el área de Success, mi equipo te ayuda con todas las dudas que tengas respecto a la plataforma y también soy programadora Backend en el lenguaje de Ruby.
Varios estudiantes me han preguntado, ¿cómo aprendí a programar o cuáles son lo métodos que uso para hacerlo?, así que deseo contarles en este blog las técnicas que me han funcionado.
Esto se trata de tener dos personas realizando el mismo ejercicio o trabajo con un solo computador, uno es la que escribe el código (driver), la otra es la que le dicta lo que debe escribir (navigator) y a la vez es quién revisa las líneas de código que escribe el driver, está técnica es usada en grandes compañías como Google donde en sus cubículos se pueden ver solo un computador para dos personas.
Está técnica tiene pros y contras,
Prepárate para programar: 10 Libros de programación de básico hasta avanzado
Es una de mis favoritas ya que la mayoría de las veces los programadores estamos solos con el código y por más “debugger” que hagas no encuentras la solución al error, así que está técnica lo que hace es que puedas tomar cualquier ser inanimado y trates de explicarle tu código línea por línea, así mientras vas explicando paso por paso, ves con “otros ojos” tu código en el cuál llevas horas y muy posiblemente encuentras la respuesta ya que lo estás explicando paso por paso, de esta manera lo estás describiendo mucho mejor.
Este es una error que aún sigo cometiendo ya que no leo la documentación y la vida de los programadores sería más sencilla si siempre que sale una actualización de un lenguaje nos remontaramos a leerla en sus páginas oficiales, allí se encuentran muchas de las respuestas a nuestras dudas, tanto en la ejecución del lenguaje como en mantenernos actualizados y no hay nada mejor para un profesional y la empresa donde trabaja que saber lo último que se ha escrito sobre el tema.
Está es una excelente técnica para aprender buenas prácticas, depurar código y aprender mucho de los demás, por eso es necesario pertenecer a una comunidad como Platzi donde miles de estudiantes desean conocer código y ayudar a corregirlo, este método se trata que una persona con más experiencia te ayude a depurar tu código, diciéndote donde puedes mejorar, corregir y ayudarte con un feedback que lo que va a hacer es que escribas código mucho mejor para la próxima vez, mejores cada día más y aprendas a aceptar las correcciones que te hacen viéndola como una manera de mejora siempre.
Antes de preguntarle a alguien lo primero que debes hacer es buscar la respuesta y por muy básico que esto sea, conozco personas que no intentan buscar sino que van de una vez a preguntarle a alguna persona y puede que esta se encuentre ocupada o que no tenga la misma disponibilidad todo los días, por eso te recomiendo buscar, en internet están todas las respuestas así te acostumbras a hacerlo siempre, uno de los lugares donde yo encuentro las respuestas es StackOverFlow que es donde todos los programadores suben sus preguntas y donde también responden, lo mejor es que busques en inglés, esto hace que mejores tu conocimiento en este idioma y que tengas las respuestas más actualizadas, otra opción que tengo es buscar en Youtube, soy demasiado gráfica y me gusta ver como los demás realizan los procedimientos.
Esta técnica es la más importante, los programadores tendemos a estar en el computador mucho tiempo ya que nos encanta encontrar la solución a todos los errores que se van presentando y por eso podemos pasar horas con los ojos en el monitor pero esto es contraproducente, primero por salud (debemos descansar) y segundo porque de tanto ver el código se nos pasan detalles para poder solucionar el error, lo mejor que te recomiendo en este caso es que sepas hacer pausas, que sepas cuando no puedes más y levantarte de tu silla, a mi me funcionaba salir a caminar, sentir el aire o dormir un rato y aveces me levantaba o soñaba con la respuesta, lo mejor que puede pasar en estos casos es que cuando vuelvas a sentarte con tu código veas ese punto y coma que te faltaba o ese corchete que no estaba cerrando la línea.
Espero que estos métodos te sirvan en tu carrera como programador, hay muchas técnicas más pero estás son las que yo pongo en práctica a la hora de escribir alguna línea y las que me han ayudado a aprender desde cero hasta tener un nivel Junior y conseguir un empleo.
Cuéntame, ¿cuáles son las técnicas que usas?, me gustaría saber de otros métodos de aprendizaje, además conocer en cuál método te gustaría participar, ¿tal vez pair programming o te gusta “debuggear” código y estar en un grupo de code review?
Te recomendamos ver el siguiente video sobre los errores al ser junior.
Buen post! La técnica que yo aplico es la de Entender y Seguir, yo me la inventé y conciste en entender la lógica del programa y de cada clase y no tener dudas y recién avanzar a la siguiente clase o a otra parte del código. Si tienes dudas o hay algo que no entiendes no avanzo/sigo hasta entender!
Esta es la mejor de todas, sino entiendes no debes continuar, muchas gracias.
Me funciona igual, si no entiendo algo no sigo por que seguramente aquello que no entendí es la base para lo que sigue. 😃
Hola! hago lo mismo, no continuo hasta comprender la clase o el código, pero también les quiero contar que en una ocasión, no pude entender una clase, sentí mucha frustración, pero al ver la nueva clase pude aprender algo nuevo que me permitió destrabar y resolver el problema de la clase anterior, fue como liberar una piedra en el zapato! jajaja estaba tan feliz!
Mi técnica a la hora de aprender algo nuevo se basa en no caer en la incertidumbre, si no entiendo algo a la primera no pasa nada, sé que eventualmente lo voy a entender y sólo considero que aprendí, cuando soy capaz de crear algo distinto a lo que acabo de aprender a hacer utilizando las mismas herramientas
Excelente enfoque. Me quedo con esta.
Lindo post! Las más que uso son buscar mi problema en google o stack overflow. Si no las encuentro ahí, voy a grupos de fb y discord de programadores!
La técnica del pato de hule es la que más aplico y no sabía que se llamaba así. Muy buen post.
Me gustó mucho la del pato de hule, siempre e hecho algo parecido y me a funcionado, pero no sabía que se llamaba de esa manera.
Muchas gracias Angie por el post
La técnica del Patito de Hule es ampliamente usada en la industria de software.
Wikipedia lo dice increíble: “Muchos programadores han tenido la experiencia de explicar un problema de programación a alguien más, posiblemente a alguien que no sabe nada sobre programación, y encontrar la solución en el proceso de explicar el problema. Al comparar lo que supuestamente hace el código con lo que hace en realidad, cualquier incongruencia resulta evidente. Usando un objeto inanimado, el programador puede tratar de lograr el mismo efecto sin tener que hablar con otra persona.” Y es muy cierto.
Un punto medio son chatbots que te permiten interactuar con el patito de goma y que te responda, como el de https://rubberduckdebugging.com/
jajajaja la del pato de hule la aprendí de Óscar Barajas en uno de sus lives 😂
Muy buena 👍🏻✨
Enamorarse de un lenguaje o odiarlo… Me pasa con PHP
Bueno algo que yo hago particularmente cuando no encuentro el error en el codigo es tomar un descanso por que me estreso en buscar el error pero no lo encuentro.
Y si me ha dado resultado.
Gracias por el post!
Angie, en tu recomendación No. 4 mencionaste una comunidad de Platzi que está ayudando a revisar el código de otras personas.
Me puedes indicar cómo puedo formar parte de esa comunidad?
Saludos,
Nelson
Hola Nelson, mira en Platzi tenemos nuestra comunidad en Facebook https://m.facebook.com/groups/872874032743480?view=permalink&id=3279649205399272&anchor_composer=false&ref=m_notif¬if_t=group_highlights
Gracias, inmediatamente me voy a inscribir.
Puedes usar los Foros de Platzi u ocupar la sección de preguntas de cada clase (si es algo de una clase que no te sirve). Siempre la comunidad está activa ayudando y es más efectivo que por Facebook y tiene más contexto.
Pero, eso si, no esperes que te hagan una auditoría del código, pues nadie te va a ayudar con algo así, es un trabajo profesional. Cosas puntuales, errores que no puedes pillar, resultados inesperados en ciertos bloques de código y cosas similares son las que la comunidad está con ganas de ayudar y lo hará.
Hola, para aplicar estas técnicas para aprender a programar, que curso me recomiendan mas?
1.-Curso de Programación Básica 2014
2.-Curso Gratis de Programación Básica
Los dos se parecen pero no tienen el mismo contenido, no sé si el 2 es una actualización del 1 o son diferentes. También la duración del contenido es diferente el 1 es de 19 horas y el 2 de 11 horas.
Saludos y gracias por la orientación.
Te recomiendo el curso de programación básica y la Escuela de desarrollo Web.
¿Me puedes pasar el enlace del curso de programación básica 2014? La verdad no lo encuentro!
avanegaspinto
Gracias!
jcamilomolinar
Es:
https://platzi.com/clases/programacion-basica-2014/
Hola RiBlan
El Curso Gratis de Programación Básica es una mejora sustancial del curso anterior de 2014. Está mejor estructurado, es más enfocado (por eso es más corto) y tiene un contenido más fácil de abordar y tiene todo el respaldo de la comunidad para resolver tus dudas y problemas.
A leer más la documentación. La técnica del pato de hule es muy interesante y veo que a muchos, incluyéndome, les pareció la mejor. Práctica, práctica y más práctica. Gracias por el aporte.
Es una técnica muy muy usada al desarrollar software. Hasta existen chatbots que interactúan contigo como si fueran el rubber duck como el de https://rubberduckdebugging.com/
Muy buena info, gracias por compartirlo!
Pato de Hule por Siempre!!!
Gracias, me va a servir para comenzar a ocupar técnicas. Soy programador Noob, a veces me cuesta encontrar el problema.
Me alegra que te haya servido 😃😃
Para mi la técnica que mejores resultados me da es reescribir el código varias veces hasta asimilar su funcionamiento y por supuesto combinarlo con la depuración es esencial.
Me encanto la técnica del pato de hule xD. Yo lo que suelo hacer es leer la documentación & buscar en StackOverFlow.
Muy buen blog !
Estoy en el momento que me intereso más por la documentación. Hasta este punto en la escuela y trabajo he tenido problemas y se ha extendido el desarrollo de algo simple, todo; por no leer la documentación 😂💔
Que buen post, aplico varias de estás técnicas de las que más aplico es Buscar la respuesta y esto es gracias a que soy una persona bastante ‘terca’ y siempre busco por todos lados antes de preguntarle a uno de mis colegas. Me parece interesante la técnica de Pair Programming, ya la he aplicado yo siendo el driver pero, no tenía idea de que fuera una técnica para aprender a programar y menos que fuera tan efectiva. Gracias por la información.
El punto importante de este ultimo es ir ya con ideas junto al programador, no esperes que el te lo resuelva todo, porque seria muy incomodo para ambos.
Es correcto tu último punto, ir con ideas puesto que si nos dice todo nuestro amigo no aprenderemos
Muy buenas técnicas, yo con el tiempo de experiencia que tengo quiere destacar 4 principalmente, en el punto 2 hace referencia a la técnica del Pato de Hule, yo uso esta pero con algún compañero en el cual le cuento el problema a solucionar y de uno u otra forma al comunicarlo a un compañero, organizo mis ideas y en la mayoría de los casos logro dar solución al problema, la otra técnica 3. Lee la documentación y 5. Buscar la respuesta que es leer la documentación y ver las respuestas en StackOverFlow es de gran ayuda y por ultimo 6. Toma un descanso es suprema mente importante mas que todo cuando estoy muy presionado con varias tareas que debo resolver en un tiempo corto.
Es correcto, hablar con otro compañero ayuda mucho, aveces ellos nos ayudan con sus comentarios, con la técnica del Pato de Hule tu encuentras la solución y eso hace que la aprendas de una vez.
Exceletente post, aplicare las que mas pueda, muchas gracias
Esta info me llega justo en el momento para reflexionar, estoy en proceso de aprendizaje y estoy cometiendo muchos de los errores mencionados, gracias por esta guía para retomar el camino.
Interesante lo del pato de hule! La aplicare!! Cuando me trabo con algo, siempre busco la solución x todo internet!
Excelente post, la tecnica que ocupo para aprender de lenguajes es no quedarme solo con lo que aprendi en un lugar si no que buscar mas informacion similar de otros lugares, ya que distintos puntos de vista o enseñanzas, me han ayudado mucho a entender como por ejemplo si no entendi en algun video, tan solo busco un libro, blog o foro que me ayude de guia
excelente blog muchas gracias (:
Muy buenas las recomendaciones. Recientemente comencé a aprender así que me son de mucha ayuda. Gracias por el aporte.
Me encantó el post! Debería empezar usar la del pato de hule, es muy ingeniosa!
Gracias!!!
Su post me encantó y reoriento. Me hizo énfasis en algunos aspectos, gracias.
Me sentí identificado porque, la mayoría de las veces no leo la documentación. Ni se diga cuando cometo un error.
Ya somos dos pero hay que leerla jajaja
Muchas gracias, algunas ya las aplico en mi día a día, pero otras no y tener ese conocimiento extra me ayudara a pensar o a plantearme algunas cosas nuevas a la hora de aprender.✔✌
me encanto el del pato de hule, lo hago todo el tiempo, pero no sabia que tenia ese nombre
El de Pair Programming no lo conocía, creo que tiene más peso los Contras cuando la persona que menos conoce de X tema, no es de los que aplica el punto 5, solo esperar que les digan que comando o instrucción escribir y que funcione sin preguntarse el porqué o para que, el del patito de Hule es de lo mejor 🤣🤣
Angie muchas gracias! es muy util la información ya que estoy empezando desde cero a programar y no sabía que técnicas emplear pues no me a sido fácil aprender pero no me voy a rendir porque nunca hay que parar de aprender
Nunca te rindas! Ánimo.
Me sirve mucho la de tomarme un descanso. Muchas veces la solución a un bug aparece al despertar o tomar un ducha jajaja
Siii también al tomar una ducha salen las respuestas.
Excelente… para mi la Técnica del Pato de Hule es la que hasta ahora me ha funcionado mejor.
Esto me pasa muy seguido: a veces me levantaba o soñaba con la respuesta, lo mejor que puede pasar en estos casos es que cuando vuelvas a sentarte con tu código veas ese punto y coma que te faltaba o ese corchete que no estaba cerrando la línea.
Genial!! muy interesante y este blog dice toda la verdad y lo que todo programador debería leer.
Gracias!! 😃
Excelente post, conocía todas las técnicas excepto la primera, y me ha sorpendido. Es interesante pero actualmente no puedo aplicarla, aunque las demás si las aplico. Mi técnica principal es ir comentando las partes del código que son difíciles de comprender o qué sé que me voy a olvidar, junto a ir entendiendo todo lo que estoy escribiendo. Si veo que no comprendo del todo lo que estoy haciendo, me tomo un descanso de 15 minutos, repasar y repasar lo que sea necesario hasta comprender.
PD: Tampoco hay que abusar de los comentarios, creo qé es importante saber cuando sí y cuando no poner un comentario.
Muy buen post, en lo personal realizo varias, la del patito me encanta y la combino con “Divide and conquer”, es decir dividir tu código en partes y probar cada una para saber en dónde estás fallando y enfocarte en ese fragmento.
Q buen aporte, a muchas personas les ayudara ❤️
Buen post, sigo aprendiendo del mundo de la programación. 😃
Que gusto Angie que perteneces al team Platzi en el área de Success y sobre todo que estes involucrada con el backend, Felicitaciones!
En el transitar en este mundo hay tareas que no se pueden pasar por alto:
1- Contextualizar el problema
2- Plantear en Pseudocódigo la(s) solución(es)
3- Escribir el Código como un poema,
y menos si tu profesor te dice que bajes el código, que lo copies y que jueges con él. No se trata de formar programadores copy & paste, al contrario.
Oye muchas gracias por esos tips pseudocódigo es una técnica demasiado importante, ¿podrías explicarme sobre escribir el código como un poema?
Un abrazo.
Cuando escribimos código intentamos establecer la armonía entre lo que creemos, lo que pensamos y como vamos a llegar a los sentimientos de ese usuario (final u otro coder) que consumirá nuestro poema…
Saludos Angie,
Técnica del Pato de Hule yo sin saber xD hago esto siempre q termino una clase, me explico a mi mismo el codigo desde 0 hasta el final, para entender mejor
el debugger es para los programadores, el speller es para los escribas. Por favor, el artículo es útil, pero mejor si no tiene errores gramaticales y de sintaxis. O en todo caso, ponelo en Github y todos (o yo) lo corrijo. Gracias por tu tiempo y mejor karma!
Muy buen artículo, gracias por compartirlo. Además, cerrar con el video de Freddy es cerrar con broche de oro. Me sirvió muchísimo. 💚