104

¿Cómo puedo resolver mis dudas de programación?

59044Puntos

hace 4 años

Programar es una de las habilidades que más le pueden dar valor a tu perfil profesional, no importa a lo que te dediques. También puede resultar frustrante por su grado de abstracción y curva de aprendizaje bastante pronunciada cuando recién comienzas. Aún así, la recompensa vale todo ese esfuerzo.

Seguramente te has enfrentado a situaciones donde algo no funciona a pesar de que seguiste al pie de la letra tu curso en Platzi, luego de clonar un repositorio en Github o hacer alguna instalación en la terminal. Puedes tener la certeza de que no has sido la única persona, ni serás la última que pase por ahí…

Así que te compartiré algunas de las técnicas y recursos que he utilizado para nunca parar de aprender en este camino. Pero ten siempre presente lo siguiente: piensa en la generalidad de tu proyecto, las probabilidades de que alguien esté haciendo exactamente lo mismo que tú son muy bajas.


“El patito de hule”

Esta técnica supone que antes de darte por vencida o debes contarle estas 3 preguntas y responderlas de la forma más específica posible a un patito de hule o cualquier objeto inanimado:
¿Qué es lo que quiero lograr?
¿Qué he intentado hasta ahora?
¿Qué resultados estoy teniendo?

Vayamos por partes con un ejemplo sencillo donde respondemos a estas preguntas en forma clara:

  • Estoy intentando instalar plotly en mi computadora a través de pip desde la consola CMD de Windows 10 es más específico que decir Quiero instalar plotly.
  • Utilicé el comando python -m pip3 install --user plotly es mejor que Usé el comando de instalación.
  • El resultado que obtienes generalmente es un error, este hay que saberlo identificar y generalmente son bastante descriptivos. Como el que no debes usa pip3 y sino solo pip.

Realizar estos pasos es efectivo, pues tomas un problema inicial desde otra perspectiva e incluso puedes realizar esta técnica con otra persona.

Intenta de nuevo, no te rindas

Esta puede ser una de las partes que más frustración genera, pues cada vez que revisamos nuestro código encontramos menos diferencias. Suele ser lo más común cuando tenemos un error de sintaxis, olvidamos especificar una variable o importar una librería.

La revisión de código debe ser hecha con tranquilidad, mente relajada y mucha atención al detalle.

Toma un descanso

Trabajar más horas no significa ser más productiva, incluso la frustración puede llegar a generarte un dolor de cabeza, ofuscar tu mente y deseos desistir o peor aún generar un sesgo inconsciente de que nunca lograrás hallar una solución.

Levántate para estirar las piernas, camina un poco, realiza otra actividad que no involucre programar como meditación o toma una siesta para que tu mente descanse. Una pausa activa es una excelente opción para continuar con tu código más adelante.

Buscar en internet

Por básico que suene no debes subestimar esta poderosa práctica y si bien dicen que todos los caminos llevan a Roma apuesto a que querrás el mejor.

Haz búsquedas con términos concretos y específicos; si se trata de un error toma solo la parte que corresponde al mismo en lugar de incluir la ubicación y nombre de tus archivos. Por ejemplo, es mejor buscar el error y su referencia cómo python dictionary int object not iterable.

Documentación oficial

Cuando te digan “revisa en la documentación” no lo tomes a mal, seguramente es porque ahí encontrarás la respuesta a tus inquietudes. También es probable que ya hayas visitado documentaciones, te sientas más perdido que antes y es completamente normal.

Lee documentaciones requiere de paciencia y práctica para irse familiarizando. Hay documentaciones que pueden tener una interfaz gráfica muy amigable, otras que te indicarán cómo leerla o dar tus primeros pasos. Lo importante es animarse a dar el primer paso.

Con el paso del tiempo no solo resolverás tu duda, sino que tendrás aprendizaje directamente de tu fuente de la verdad y podrás comprender mejor aquellas tecnologías que utilizas.

Lee también: ¿Cuánto tiempo toma aprender Python?

Referencia en libros y blogposts

En programación hay libros para todos, desde conceptos básicos y fundamentales hasta temas más específicos y avanzados. Así que lo primero es identificar el punto que quieres resolver, a medida que leas libros de programación identificarás editoriales de preferencia, autores y podrás interpretarlos. Recuerda siempre verificar las versiones a las que hacen referencia en el libro.

8 Libros de programación para principiantes.

Por otro lado, muchos desarrolladores crean contenido, incluso en Platzi puedes encontrar recomendaciones o formas de complementar tus proyectos con implementaciones a través del blog y los tutoriales creados por estudiantes en los cursos. Otros sitios especializados para consulta son Medium y DEV.to

Comunidades online

Algo que jamás debes hacer es ingresar, pedir ayuda y esperar a que esta sea resuelta a menos que solo busques frustración. Una comunidad se versa en la colaboración, así que cuanto más contribuyas en ayudar a otros será en la medida en que también aprendas y resuelvas tus dudas.

Seguramente has visitado Stack Overflow por lo menos una vez en tu vida para encontrar solución a una duda o problema y este se ha convertido en el sitio por excelencia para los desarrolladores. Solo recuerda aplicar las buenas prácticas ya mencionadas: preguntas claras, concretas y delimitadas a lo que otras personas conozcan.

Reddit es un espacio que me gusta porque está estructurado en subreddits o secciones especializadas en algo específico. Puedes encontrar comunidades por lenguaje, propósito específico como aprendizaje o compartir proyectos.

Otras plataformas que te pueden ayudar a hacer comunidad son grupos de Facebook, plataformas como Meetup y Eventbrite para asistir a eventos de comunidades especializadas en un lenguaje, tecnología o área de conocimiento particular.

Ten presente que cada comunidad puede tener sus propias reglas y código de conducta a seguir para poder participar en las mismas.

Chats online

Las comunidades generalmente tienen sus canales de chat online, ya sea en IRC, Slack, Discord, Telegram u alguna otra herramienta.

También tienen sus reglas a seguir, la comunicación puede ser más dinámica pero la paciencia premia. Recuerda que todos pueden estar ocupados en algo (trabajo, estudio, múltiples conversaciones, diferencia de huso horario, etc.), así que hacer las preguntas correctas de la forma correcta te dará una respuesta satisfactoria.

Conoce: Cómo crear una cuenta en Discord

Mentores

Un mentor es alguien que te ayudará a resolver dudas de forma voluntaria (no está obligado), mas no a hacer las cosas por ti. Aunque tengas su orientación debes hacerte responsable de tu aprendizaje, expresarle cuales son tus expectativas, ser respetuoso, abrirte al feedback, conocer las limitaciones de tu mentor (conocimiento, tiempo, etc.) y ser flexible.

Dentro de nuestra comunidad en Facebook puedes apoyarte del sistema de mentores, un espacio donde también tú puedes aportar a otros con tus conocimientos ¡Anímate!

Recomendaciones

Por último quiero compartirte algunos consejos:

  • Se paciente, a veces una respuesta puede demorar según hayas formulado tu pregunta.
  • No compartas código utilizando capturas de pantalla, mejor apóyate en herramientas como Gist, Pastebin o similares para - compartir tu código.
  • Agradece la ayuda que recibas por mínima que sea
  • Investiga por tu cuenta antes de pedir ayuda a otros pues el tiempo de los demás es muy valioso.
  • ¡Aprende inglés ya! Así podrás recurrir a la mayoría de los recursos disponibles.

Listo, ahora estás preparada para poder buscar información que resuelva tus dudas de forma individual o con ayuda de otros. Me encantaría que en los comentarios compartas cuales opciones son las que más te han sido de utilidad.

Héctor Daniel
Héctor Daniel
Terranigma

59044Puntos

hace 4 años

Todas sus entradas
Escribe tu comentario
+ 2
Ordenar por:
12
21358Puntos
4 años

Muy buen aporte, aunque me parece que la comunidad que se crea alrededor de un curso podría mejorar sobre todo en el foro de preguntas y respuestas:

  • Si pudieren etiquetar a los usuarios.
  • Así como tambien seria util que si un usuario ha terminado un algún curso se le pudieren notificarán las nuevas preguntas que realizan en el mismo
  • Podrían generarse badges o insignias para los usuarios que mas aporten respuestas en un curso, algo así como lo que en una hackathon denominaron “Platzi Gurus”
  • Hacer integraciones con comunidades externas a Plazi y que son especializadas en un lenguaje específico.

En fin, son algunas de las ideas que se me ocurren, alguna que ustedes puedan aportar?

5
20281Puntos
4 años

¡Súper el aporte! Algo que en lo personal me ha hecho falta es un sistema de notificaciones más específico que, por ejemplo, me permita saber cuando alguien respondió a mi pregunta.

8
19434Puntos
4 años

Otra cosa que también ayuda son los #retos que hacen, porque de esa manera, los interesados podemos ir probando lo que hemos aprendido, intentando resolver problemas puntuales.

6
22512Puntos
4 años

La idea de la comunidad y el mentor es lo mejor. Yo en Twitter he encontrado personas que no conozco pero si les hago una pregunta ellos se toman el tiempo para responderme.

5
14106Puntos
4 años

Gracias por los consejos, ahora comencé a unirme a un par de comunidades de Reddit. Estoy muy entusiasmado, hace 2 meses que comencé ye estoy muy contento con mi progreso.

4
20281Puntos
4 años

Hola, soy estudiante de gastronomía y nuevo en Platzi. Hasta ahora he tomado algunos cursos de temas conocidos y me gustaría saber si el primer paso para empezar a programar sería tomar “Fundamentos de la programación” o algún curso básico de un lenguaje específico… Veo que siempre estás aportando y me gustaría tener más claro qué hacer. De antemano gracias.

2
59044Puntos
4 años

La ruta de Fundamentos de Programación te va a dar las bases para abordar cualquier lenguaje 😃
Sugiero que inicies por aquí.

3
8750Puntos
4 años

Lo que te recomiendo es que tomes un curso de Fundamentos de programación, para luego pasar al lenguaje de tu preferencia, una vez que domines a la perfección la lógica necesaria y conceptos básicos de la programación. Aun si consideras que ya tienes unos conocimientos previos toma un curso básico siempre es bueno hacer un repaso previo

4
20538Puntos
4 años

Te recomiendo que si tomes la ruta de Fundamentos de Programación para que al tomar un curso más robusto tengas una base de conocimiento y puedas comprender mejor los temas. Estoy tomando la carrera de Javascript, y he visto muchas preguntas que me parecen “obvias” y que lo comprendí de haber tomado antes esa ruta.

Los cursos que considero que a mi me ayudaron a robustecer mis bases en programación:

  • Fundamentos de Ingeniería de Software
  • Curso de Programación Estructurada
  • Programación Orientada a Objetos
  • Curso de Pensamiento Lógico
  • Curso de Programación Básica
  • Introducción a C (este es un poco denso pero no imposible)
1
5747Puntos
4 años

Todas las tres respuestas son verdaderamente acertadas, inicia lo mas pronto!!

3
25206Puntos
4 años

Héctor @Terranigma muy útil tu nota!!! pude llegar a los grupos de télegram que aún no tenía y encontré nuevos recursos para consultar y compartir 😉 +1

1
59044Puntos
4 años

Muchas gracias por tu comentario, recuerda compartir este blogpost con más personas a las que podría serles de utilidad.

3
2365Puntos
4 años

Muchas gracias por este post. Me has subido de nuevo los ánimos para seguir aprendiendo a programar.

3
20580Puntos
4 años

Muchas gracias, ya envie mi solicitud al grupo de Facebook, no estaba enterado de que existía.

3
13936Puntos
4 años

Excelenete post , muchas gracias amigo!

3
11780Puntos
4 años

StackOverFlow siempre me ha ayudado 😄 😄

3
39241Puntos
4 años

Muy buena guía, gracias por los consejos.

3
6084Puntos
4 años

Que blog tan bueno, gracias. Soy nuevo y no sabía que tenían grupos en Telegram, de hecho no sabía nada de lo que está escrito en este blog jajajajaja …y te quedó super completo Brother… gracias de nuevo.

3
1352Puntos
4 años

Buen tema, gracias por compartir tu conocimiento.

2
19404Puntos
4 años

Voy lento, me cuesta mucho aprender a programar claro esta. Pero la comunidad de platzi siempre me contesta rapidisimo y con muy buena onda, asi cualquiera se entusiasma

2
23016Puntos
4 años

Muchas gracias por las recomendaciones!

2
15700Puntos
4 años

Excelente aporte. Soy nuevo y me estoy empapando de como funciona esta comunidad.

2
4540Puntos
4 años

Me alegra saber que mucho de esto ya lo aplico.

2
6357Puntos
4 años

Gracias por las recomendaciones. Creo que falto, practicar. Todo lo que aprendas, llevarlo a la practica.

2
4231Puntos
4 años

Excelente esta publicacion, la unica tecnica que no he implementado es la del pato de hule, pero si lo ves tiene bastante sentido la implementare y de todas las que mas me ha funcionado es la pausa activa, la recomiendo altamente, un saludo a toda la comunidad

2
9666Puntos
4 años

Gracias. Por muchos mas de estos post.

2
1368Puntos
4 años

Es alentador leer a gente que ha podido superar los tropiezos y retos que hay cuando uno quiere aprender o retomar algún lenguaje de programación. Llevo poco tiempo utilizando platzi y veo que la COMUNIDAD es lo que hace fuerte este proyecto. Gracias a todos los que aportan!!! leerlos también aporta conocimiento!

2
4 años

Si, resulta bastante molesto y llega a frustrar un poco no encontrar respuestas de una manera directa, pero por otro lado creo que es lo bonito de programar. Te obliga de una manera a buscar información, leer y tomarte tu tiempo para lograr aprender.

2
66634Puntos
4 años

“Seguramente te has enfrentado a situaciones donde algo no funciona a pesar de que seguiste al pie de la letra tu curso en Platzi”, a lo que añadiría “y te dieron ganas de golpear la pantalla, prenderle fuego al teclado y maldecir a los dioses de la programación”…

…perdón… si, si estoy bien [sorbito de agua] 😅

1
2893Puntos
4 años

Esto ayuda muchísimo a las personas que recién están comenzando a programar como yo 😄

1
5747Puntos
4 años

Muy buen post, gracias por compartir.
Por otra parte, me uno a la sugerencia que lei unos aportes mas abajo, ya lo había pensado realmente, y es que seria fascinante que se pudiéramos saber cuando fue contestada una pregunta