Técnicas para aumentar la lógica en la programación [cerrado]


21

Estoy en la programación desde los últimos 3 años. Pero parece que estoy perdido en eso. No puedo ser bueno a pesar de que codifico todos los días.

supongamos que resuelvo un problema, me desviaré de una solución a otra e implementaré alguna otra solución. No puedo concentrarme mucho. Tengo muchos defectos para el código que escribo. Me da miedo el código. No sé por qué si no lo termino a tiempo, mi jefe me despedirá, etc. Me gusta la codificación, pero no todo el tiempo. ¿Cómo aumentar la paciencia?

Siempre me pregunto cómo puedo convertirme en el mejor programador como muchos programadores excepcionales. Sé que esto suena subjetivo, pero creo que ayudará a la comunidad de programadores a ser buenos, especialmente para programadores promedio como yo o principiantes.


8
Es común sentirse de esta manera. No todos nosotros escribiremos compiladores o seremos programadores hardcore. No tengo entrenamiento formal en programación, pero la resolución de problemas es clave. Con el cambio rápido de la tecnología, es muy difícil mantenerse fuera del agua. Me esfuerzo por la mejora continua. Ese es mi objetivo. Entiende que esta profesión es muy diferente, esfuérzate por hacerlo lo mejor posible y sigue avanzando. Siempre tomo un tiempo cada semana para aprender o entender algo nuevo. Mientras mantengas esa actitud, mejorarás.
Jon Raynor

"Me da miedo el código ... si no lo termino a tiempo, mi jefe me despedirá, etc." - Ese no es un gran ambiente para disfrutar y, por lo tanto, mejorar en la programación.
Paul D. Waite

@ PaulD.Waite Cierto, no es genial, pero es muy común.
Pramesh Bajracharya

Respuestas:


12

Yo personalmente sugeriría comenzar con obstáculos más pequeños; Intente realizar la codificación en fragmentos más pequeños y obtener más en las victorias intermedias. Parece que te abrumas o aburres si algo dura demasiado o no muestra progreso. Puedo decir definitivamente que he estado en el mismo bote.

Piense en ello como abordar un sándwich: no se come todo de una sola vez, se descompone. Haga lo mismo con sus proyectos, tareas, etc. Dependiendo del nivel en el que se encuentre, puede pedirle a su supervisor / gerente que lo desglose por usted. Si eres responsable de tu propia carga de trabajo, establece pequeñas líneas de meta para ti que sean realizables (no establezcas una meta que nunca alcanzarás, esto solo te desanima y te pone en una posición indeseable). es decir, "Para el mediodía quiero tener esta clase definida", "Para el 2 quiero que se implemente esta interfaz", etc.

Mi compañía es conocida por comenzar y avanzar en un proyecto, lo que me permite llegar a la marca del 90% y luego deslizar la alfombra debajo de mí para pasar a la "próxima gran cosa". Empiezo a desanimarme porque nunca hago nada, y me pone en un "colapso" (si quieres). Finalmente retrocedí y les dije que no iba a seguir adelante hasta que termine lo que casi he terminado. Esto hizo maravillas por mi estima, moral y energía (aunque no puedo decir lo mismo de mis empleadores: encogerse de hombros :)


7

Mi sugerencia sería conseguir un mentor.

Cuando obtenga un nuevo proyecto, decida el camino que va a tomar: cómo se ve el diseño general; qué algoritmos vas a usar; ¿Cómo planeas desarrollarlo para que puedas probar temprano y con frecuencia? etcétera.

Lleve estos planes a su mentor y hable con él / ella. Si ven que estás en el camino equivocado o te has perdido algo importante, revisa tus planes y vuelve a intentarlo.

Ahora que tiene un plan aprobado, sígalo. No cambie sus planes a menos que ocurra algo completamente desastroso, y luego vuelva a revisar sus planes, obtener la aprobación y reiniciar. De lo contrario, cumpla con su plan y haga exactamente lo que ha decidido hacer. Consulte con su mentor a intervalos regulares para validar su implementación, y asegúrese de escribir y usar pruebas en el camino.

Si ha hecho todo lo anterior con éxito, habrá entregado un proyecto a tiempo y con los resultados correctos. Si desea regresar y refactorizar alguna parte del proyecto, tiene todas las pruebas que construyó, así como una copia de trabajo del programa desde el cual construir.

Me parece que estás demasiado disperso y te falta concentración. Quizás si puede arreglar esas áreas y trabajar con alguien a quien respeta, pronto se encaminará.

La mejor de las suertes para ti.


6

Creo que estoy exactamente en la misma posición que tú y no es agradable estar allí. Puede ser desmoralizante y, para ser sincero, bastante deprimente a veces. Sin embargo, como con cualquier cosa, creo que hay ciertas cosas que puede hacer para ayudar a aliviar esto y así avanzar a una carrera laboral más saludable y feliz.

  1. Tienes que querer cambiar y mejorar. Si se siente así, pero no está preparado para trabajar duro para mejorar sus habilidades, entonces no hay nadie que pueda hacer ninguna herramienta / proceso por usted.

  2. Algunas personas son naturalmente brillantes. Algunas personas trabajan duro para ser brillantes. La mayoría de las personas solo trabajan duro para esforzarse por ser brillantes. Si no tiene talento natural (programación o no), el trabajo duro puede llevarlo allí. Solo el nivel de trabajo duro variará. Nada es imposible.

  3. Acepte sus deficiencias y busque mejorar. Uno de los mayores obstáculos que veo son las personas que tienen miedo de aceptar que su camino no es un buen camino y, por lo tanto, nunca buscan consejos o discuten otras formas de hacer las cosas. Por lo tanto, nunca aprenden mejores prácticas y continúan cometiendo los mismos errores una y otra vez.

  4. Pide consejo a aquellos que consideres buenos programadores. Nunca tengas miedo de hablar y pedir consejo a tus colegas. Sin embargo, siempre tome sus consejos al pie de la letra y decida si está de acuerdo con ellos o no. No importa cuán brillante sea alguien, siempre hay muchas formas de programar un ciclo.

  5. Leer leer leer. Leer grupos de noticias. Publique preguntas en sitios como este (bien hecho). Compre libros que haya escuchado que son buenos, o solicite recomendaciones de lo contrario.

  6. Explique los principios de diseño en pequeños pasos y luego siéntete orgulloso de lo que has hecho. Si está orgulloso de lo que codifica, es menos probable que haya espacio para errores y errores.

  7. Abierto para sugerencias y ayuda. Cerrado al pensamiento unidimensional. Estar abierto a muchas posibilidades y métodos. Esté atento a aquellos que piensan que hay una manera para todo. Un poco como 4.

  8. Ser un programador brillante no es lo mismo que ser un empleado brillante. Si lo único que desea es ser un programador brillante, para ser sincero, es posible que nunca llegue allí. Sin embargo, todos tienen la capacidad, creo, de ser un empleado y una persona brillantes. Trabaja en cosas que puedan ayudarte a llegar allí.


Gran respuesta. Parece que estos puntos provienen de un gran mentor. ¡¡Notar me Senpai!! _ / _
Pramesh Bajracharya

4

Si después de 3 años de codificación diaria, está luchando con lo básico, debe considerar seriamente la posibilidad de que esta no sea la profesión adecuada para usted.

Esto no es algo malo. La programación no es para todos, encuentra lo que eres bueno y haz eso, en lugar de forzarte a ti mismo algo que no es natural.

Si lo que dices es cierto ... nunca serás un "programador excepcional". Eso está bien, solo acéptalo.


Comentaristas: los comentarios están destinados a buscar aclaraciones, no a una discusión extensa. Si tienes tu propia solución, deja una respuesta. Si cree que esta respuesta es buena, vote por ella. Si no crees que sea bueno, vota abajo. Si desea discutir esta pregunta con otras personas, utilice el chat . Consulte las preguntas frecuentes para obtener más información.

Vamos, nadie se vuelve "excepcional" en tres años.
JacquesB

3

Intenta meterte en un estado mental de Flujo . Ese es el factor más importante que he visto para ser un buen desarrollador. Para hacer esto, debe asumir desafíos que sabe que puede hacer, pero que son difíciles. Necesitas encontrar el nivel correcto de desafío para meterte en él; entonces puede aumentarlo gradualmente a medida que mejora. Tener tareas que son demasiado fáciles o demasiado difíciles será perjudicial.


3

Rómpelo en trozos pequeños.
Permítanme demostrar usando un sándwich PB&J.

Averigua el proceso básico general.

1 - Get Ingredients
2 - Combine Ingredients
3 - Cut Sandwich
4 - Serve Sandwich

Luego rompe cada uno de estos

**Get Ingredients**
1 - Validate/Create PB
1.1 - Validate/Create Jelly
1.2 - Validate/Create Bread
2 - Move PB To assembly area
...

repita el proceso de descomposición hasta que comprenda completamente la lógica involucrada.

Esto hará que sea más fácil de comprender. Y más fácil de identificar procesos comunes. Antes de comenzar a codificar, asegúrese de tener la lógica ya resuelta. Cometer errores no solo está bien, se espera. Encontrarlos antes de implementarlos es mucho más fácil de corregir.

A menudo, la lógica es la parte más difícil de la programación. Es por eso que no todos quieren hacerlo. Si no disfruta de la lógica pero le encanta el diseño de interfaz de usuario, hay roles que se especializan en eso, donde es posible que disfrute más. No hay nada de malo en ello. Personalmente prefiero la lógica a la interfaz de usuario. También hay otros roles si la lógica no está donde quieres estar para averiguar dónde quieres estar.


2

He tenido este tipo de problema antes. Sucedió justo antes de que me agotara y no pude programar a un nivel productivo durante casi un año después (y solo tenía 19 años en ese momento).

De todos modos, mirando hacia atrás, el problema que tuve fue la falta de dirección y gestión. Trabajaría en implementar algo durante un mes o dos y luego, cuando estaba casi listo, de repente debe hacerse de una manera completamente diferente. Esto fue un gran golpe para mi autoestima, ya que estoy muy orgulloso de cada línea de código que escribo. Además, la administración consistió principalmente en un par de horas de discusión sobre cómo debería funcionar algo y luego un par de días sin discutir nada. Algo de esto también fue culpa mía, por supuesto. Esto también se vio agravado por el hecho de que en algún momento el trabajo se volvió extremadamente tedioso y sentí que solo estaba escribiendo código y en realidad no era creativo en absoluto.

Reglas generales:

  1. Si siente que hay una falta de dirección, hágala saber. Pídale a su superior más estructura sobre hacia dónde van las cosas.
  2. Si tiene que eliminar código todo el tiempo (y no de una buena manera como la refactorización), pregúntese seriamente por qué no hay un plan más completo construido antes de implementar
  3. Si se encuentra en un inicio súper pequeño y funciona como un desarrollador "líder", cuando claramente no tiene experiencia para ello, trague su orgullo y dígale a su gerente que realmente es más un desarrollador junior.
  4. El tedio generalmente se produce por la apariencia de que no se realiza ningún trabajo. Tome sus tareas en bocados más pequeños y realice un seguimiento de su progreso. Esto ayudará a sentir que estás haciendo algo
  5. Si todo lo demás falla, es posible que desee comenzar a aplicar en otro lugar, especialmente si a su gerente no parece importarle que se dirija a un agotamiento

-1

Encuentra un juego de lógica inductivo como Zendo y juégalo en tu tiempo libre. Seriamente. La lógica inductiva es el corazón de la depuración.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.