¿Es normal sentirse perdido, a la hora de programar?

No es de extrañar que te sientas perdido. Al principio del proceso de aprender algo, es algo bastante normal a menos que sea lo suficientemente similar a otra cosa que hayas hecho para ayudarte.

Ahora, en cuanto a las cosas en Google: en realidad, esto es algo que hacen todos los programadores. No lo sabemos todo, no podemos recordar todo lo que ya hemos hecho y, a veces, hay nuevas formas de hacer las cosas que hemos hecho anteriormente. Estaría más preocupado por ti si no estuvieras buscando cosas cuando no estabas seguro de ti mismo.

Llevo más de 40 años programando profesionalmente y haciendo proyectos personales por más tiempo. Todavía busco cosas a diario. De hecho, una de mis habilidades es la capacidad de encontrar y asimilar rápidamente información relevante. He tenido personas que comentaron sobre mi capacidad para aprender cosas nuevas (“Ian aprende por un proceso de ósmosis”) y he tenido personas que se preguntan cómo diablos encontré el único párrafo de información útil en un documento de varias páginas.

Muy a menudo, la educación se confunde con la memorización de hechos, reglas, algoritmos, etc. Lo que deberíamos estar enseñando es cómo encontrar esas cosas y usarlas. Prefiero trabajar con un programador que puede descubrir cómo hacer algo rápidamente que alguien que sabe X, Y y Z hacia adelante y hacia atrás, pero que no tiene idea de cómo hacer A, B y C, y puede ‘ t aprenderlos cuando sea necesario. El primero podrá hacer el trabajo actual y luego pasar al siguiente. Este último podría terminar el trabajo actual más rápido, pero luego serán inútiles cuando se enfrenten a algo nuevo.

La programación puede ser frustrante. La documentación puede faltar, ser engañosa o inútil. Las bibliotecas pueden tener restricciones extrañas, pueden no funcionar como se espera. Puedes hacer errores tipográficos que hacen que el código haga lo incorrecto porque está usando la variable incorrecta. Puede pasar días buscando un error en su código, solo para descubrir que en realidad es un problema en el código de otra persona y esa persona se niega a reconocerlo o solucionarlo.

Tomar descansos. Trabaja en otro proyecto por un tiempo o, si puedes, haz algo completamente diferente; lee un libro, practica un deporte, pasea. Haga preguntas o incluso vea si puede encontrar a alguien más para consultar su código. A veces, todo lo que necesita es explicar lo que está tratando de hacer para que el error se aclare. He dejado a otros desarrolladores totalmente confundidos porque interrumpí mi explicación a la mitad porque tuve un momento de “¡Ajá!”.

Sí, completamente. Aprende a abrazarlo. Si no te sientes al menos un poco perdido, entonces no estás aprendiendo. Y eso es triste.

Asegúrese de aprender algo nuevo, todos los días.

Te puedes perder, claro. Pero el truco es entender por qué se está perdiendo y poder encontrar una solución. La razón habitual por la que uno se perdería en el desarrollo es si el desarrollador no se toma el tiempo para comprender completamente el problema y la forma de aplicar una solución adecuada.

Es por eso que a menudo leerá que debe tomarse el tiempo para tomar notas, dibujar diagramas y diseñar una solución antes de seguir adelante. Además, divida sus tareas en partes manejables para no abrumarse.

Si eres uno de esos programadores que a menudo se encuentran en agujeros de conejo. O intente varias soluciones simplemente porque las otras eran demasiado difíciles, entonces necesita disminuir la velocidad y analizar su enfoque.

Necesitas mejorar tu pensamiento analítico. Toma tu tiempo. Dibuja una solución. Y desglosa las tareas en partes más pequeñas que se pueden entender fácilmente.

Espero que esto ayude

Sí. La montaña rusa emocional puede ser la parte más difícil para un principiante.

Comienzas a mirar algo, tu diseño es brillante y genial y … rápidamente te das cuenta de lo inadecuadas que son tus habilidades.

Así que vas a buscar cosas en google, stackoverflow, quora, preguntar, tamizar a través de foros, etc.

A continuación, intentas implementar cosas y maldices violentamente porque las cosas no funcionan.

De vuelta a la investigación, y pieza por pieza, las cosas empiezan a funcionar.

No olvide realizar la prueba todo el tiempo, encuentre problemas a la izquierda y a la derecha y vuelva a utilizar el “cerebro externo”, también conocido como la red.

Después de pasar por esta iteración varias veces, las cosas comienzan a caer en su lugar, los errores encontrados se vuelven más complejos pero los resuelves.

Y justo cuando tu pecho se está hinchando de orgullo por tus logros … comienzas el próximo proyecto. Vuelva al inicio, (con suerte) recoja $ 4k.

LARGOS tramos de sentirse inadecuado y frustrado, seguidos de breves ráfagas de felicidad mental. Pero todo el tiempo aprendiendo más y más y más. La próxima vez, se sentirá frustrado por problemas más complicados, tendrá más dificultades para obtener respuestas …

Pero esa es la parte importante: preguntar es esencial. No está mal, todo lo contrario. Habrán suficientes cosas que nadie podrá responder por ti. Y tendrás que resolverlo tú mismo.

Lo único que un programador NO debe hacer, es darse por vencido debido a la frustración. Incluso si te apetece 9 de cada 10 días.

Rebobinando un poco la grabación de su respuesta, mirando el mundo real: no puede darse por vencido cuando las cosas no funcionan o cuando se siente perdido. Es normal sentirse perdido, porque hay demasiada complejidad en la actualidad … Más que nunca. El truco para manejar toda esta complejidad, es hacer varias cosas:

  1. Comprender el poder del ciclo Leer-Buscar-Preguntar : lea los errores que está recibiendo. Búsquelos en libros, google, refiérase al código heredado, localícelo y repárelo. Si no puede, pregunte a las personas de su equipo que hayan enfrentado errores similares anteriormente, estarán encantados de ayudarle. Con el poder de su persistencia y Google a mano, puede hacer prácticamente cualquier cosa que desee.
  2. No se sienta abrumado ni asustado, y simplemente acepte que sentirse perdido y / o enfrentar muchos errores, es normal hoy en día. Veo a la mayoría de mis colegas en el trabajo ejecutando depuradores o buscando en Google el 90% del tiempo.

Los sistemas actuales son mucho más complejos que los sistemas “similares” de hace 5 años. Las cosas están más modularizadas, y requieren más esfuerzo para configurarlas y “ejecutarlas”, es un pequeño precio que pagamos por todo lo que podemos obtener, más abstracción, más confiabilidad, más modularidad, etc., etc.

No te sientas demasiado perdido, en vez de eso, siéntete feliz de que tu trabajo sea domesticar esta jungla y encontrar tu camino, y no hay nada más emocionante que eso.

Esa es una imagen de una de mis instancias de Chrome. No he estado en el trabajo ni siquiera por 15 minutos y ya tengo muchas pestañas abiertas. Antes del final del día por lo general solo puedo ver el Favicon debido a Google tantas cosas durante la programación.

Algunos amigos y yo siempre bromeamos con que un título de CS es realmente solo un grado en cómo resolver problemas de Google de manera eficiente.

Así que no te sientas mal por googlear algo. Es un mejor uso de su tiempo para buscar algo en Google y obtener una respuesta / explicación correcta en lugar de tropezar por una hora o más tratando de averiguarlo usted mismo.

En cuanto a frustrarme y abandonar tu (s) proyecto (s), me parece que no lo planeaste lo suficientemente bien, lo que causó la frustración. Se ha dicho muchas veces (especialmente en Quora) que una pluma y un papel (o una pizarra y un marcador) son la mejor herramienta para los programadores. Usalos, usalos a ellos. Esto también lo ayudará a no sentirse perdido todo el tiempo, le ayudará a organizar su proyecto. Si te quedas atascado en algo, vuelve a mirar la tabla de tu proyecto y elige otra cosa en la que puedas trabajar mientras haces una lluvia de ideas sobre cómo resolver tus otros problemas.

¡Tenía exactamente el mismo sentimiento y me rendí en muchos de mis proyectos de ‘quiero terminar’! Supongo que es una falta de experiencia que compartimos. Busqué en Google soluciones, encontré una, descubrí que no funciona con mi lib \ framework u otra dependencia en particular. Entonces me desesperaría, haría preguntas sobre Stackoverflow …

Sucedió tantas veces que creí que soy un mal programador, y lo dejé por ahora. Supongo que tienes que seguir empujando! Los programadores más experimentados dirían zen la verdad: “siempre te sentirás perdido de vez en cuando, porque hay infinitos problemas que debes resolver”.

Estoy de acuerdo con ellos. Nosotros, programadores, hacemos cosas muy complejas: inventamos cosas y tenemos que saltar a través de los aros (también conocidos como desafíos).

¡Dése una palmada en la espalda por hacer la actividad mental más compleja y automatizar la vida de las personas! Sí, es normal sentirse perdido!

Cuando pienso en algunas máquinas analíticas que ejecuta el Pentágono o la CIA para predecir y prevenir futuros delitos, quiero quitarme el sombrero a los creadores, los geeks del aprendizaje automático. ¡Me asombra pensar lo complejas que son esas máquinas de análisis predictivo!

¿Qué tal si equipos de desarrolladores se sienten perdidos por un proyecto? ¡Sospecho que les pasa a ellos también!

Si es normal Incluso después de pasar la mayor parte de mi vida programando, me siento perdido a veces. Para poner las cosas en perspectiva, he estado programando desde que tenía 7 años, y profesionalmente desde hace 16 años. Usar Google para ayudar a resolver problemas es normal en estos días. Todos mis amigos programadores lo hacen. Con la cantidad de tecnología disponible y la forma en que está utilizando esa tecnología puede llevarlo por un camino en el que es muy difícil diagnosticar problemas. Es por eso que los sitios como stackoverflow son tan populares.

Perdido como incapaz de resolver un problema?
Perdido como incapaz de resolver un cierto error?

Eso le sucede a casi todos los programadores y es por eso que la programación es una carrera interesante. Es un reto.

No te sientas mal y prueba más y más. Si googlear no te ayudó, prueba StackOverflow, Quora, gente experimentada que te rodea.

Todo tiene solución. Pon eso en mente.

¡Oye! ¡Absolutamente! Recomiendo revisar el Modelo Dreyfus para entender en qué nivel se encuentra. Recuerdo cuando comencé a aprender a codificar y todo se sentía como una tontería pura. El secreto (si puede llamarlo así) es elegir un camino de aprendizaje y seguirlo.

Con respecto al modelo de Dreyfus, escribí una publicación en el blog que recopilaba recursos gratuitos y geniales aquí: Una guía para el aprendizaje de desarrollo web gratuito basada en el modelo de Dreyfus

¡Mantente en ello y mantente fuerte!

“Ciertas cosas no funcionan, las busco en Google y me siento mal después, porque eso no es lo que se supone que hace un programador, ¿verdad?”

Los programadores aprenden constantemente en el curso de sus trabajos, y Google es la fuente principal de ese aprendizaje. Programo profesionalmente y tengo desde hace muchos años. Ayer pasé tres horas de mi día actualizando a Rails 5.0: estaba atascado porque había una dependencia circular. No podía actualizar las cosas porque dependían de que otras cosas se actualizaran primero, y así sucesivamente, hasta que volviera a ser lo original que estaba intentando actualizar. Fue exasperante.

Lo descubrí al final con un montón de googlear. La próxima vez que suceda esto, sabré exactamente qué hacer y por qué, pero pasaré la misma cantidad de tiempo buscando en Google porque habrá un nuevo problema en otro lugar que tendré que resolver.

Estar perdido en el bosque es parte del trabajo. Si no está aprendiendo algo nuevo … si todo su proyecto es algo que puede hacer sin consultar a Internet para obtener ayuda … esto no se denomina “programación”; esto se denomina “estancamiento de la carrera” y si dura más de una semana Necesito un nuevo trabajo o un proyecto de hobby.

La frustración es normal, tomar descansos de los proyectos que te enfurecen es normal.

Renunciar al proyecto por completo es la única forma de “perder”.

Ciertas cosas no funcionan, las busco en Google y me siento mal después, porque eso no es lo que se supone que hace un programador, ¿verdad?

He estado trabajando en informática desde 1994.

Stackoverflow es uno de los sitios más visitados en todas las computadoras a las que tengo acceso. Estaba entrevistando para un trabajo en el 2005 y una de las preguntas que me hizo el tipo fue “si se topa con un problema que no puede resolver, ¿qué haría?” “Stackoverflow” estaba fuera de mi boca antes de que él terminamos la pregunta y terminamos en un completo descarrilamiento de conversación de 30 minutos sobre cómo es un total de tiempo (lo que hoy llamamos un clickhole).

¿Es lo que se supone que hace un programador? No tengo ni una puta idea. Es lo que hace este programador de forma regular y frecuente, Absolutamente.

tl; dr: absolutamente. Hay mil razones para frustrarse al programar, muchas de ellas válidas. Pero si te sientes frustrado porque piensas que no deberías estar buscando cosas, esa no es una de ellas.

Primero, sí, puedes sentirte perdido, tengo esa sensación de vez en cuando, a veces sucede cuando alguien me distrae, otras cuando sucede cuando intento pensar cómo escribir una parte del programa y otras veces pasa sin motivo.

En general, cuando sucede, tomo un descanso de 5 minutos para volver a encaminar mis pensamientos.

En segundo lugar, la búsqueda en Google no está mal, busco en Google muchas veces cuando estoy escribiendo un programa, solo estaría mal si está buscando el proyecto ya terminado.

En tercer lugar, siempre intente terminar los proyectos que comienza, incluso si tiene que tomarse un descanso porque se siente frustrado, siempre debe intentar regresar al proyecto y finalizarlo.

Eso es totalmente normal. Tengo este tipo de fase a veces durante la programación o planificación.

Pero aquí hay algo que puedo decirte, no te rindas, solo toma un descanso.

Sin computadora. Sin código. Hable con amigos sobre cosas diferentes o un día y vuelva al proyecto. La fotografía será una de las opciones que tienes para tomar un descanso. Simplemente relajarse y concentrarse en las fotos es la mejor manera de perder la sensación de estar perdido.

Buena suerte

Daniel

Gracias por a2a

Es totalmente normal.

Piénselo de esta manera … ¿se sentiría cómodo si su médico buscara en Google alguna interacción con medicamentos antes de suscribirle un nuevo medicamento?

Lo haría … me mostraría que el doctor no pretende ser una enciclopedia.

Me enfrenté a ese tipo de situación muchas veces cuando estaba resolviendo los problemas del concurso en el rango de hacker

Pero al fin encontré una solución para eso. Solo cambia tu mente de lo que estás haciendo y escucha tu canción favorita que siempre aumenta tu energía o habla con un amigo.

Al día siguiente cuando veas el mismo problema puedes resolverlo.