¿Cómo puedo sentirme más seguro acerca de mis habilidades de programación? [cerrado]

37

La programación no es ajena a mí. Primero comencé a hacer marcado (HTML, ahora, por favor, no se rían de mí) cuando tenía 12 años y un poco de BASIC cuando tenía 13 años (sabía mucho sobre diagramas de flujo, pseudocódigos en este punto), pero luego fui amonestado La biología en la escuela secundaria y, por lo tanto, se perdió el conocimiento de programación "real" de lenguajes como C, Java, etc. Tomé CS para mi UG BE (similar a BS, pero mucho más teórico). Aprendí C y C ++ (en menor medida) por mi cuenta (mi profesor era un dolor total y la clase estaba llena de deportistas de código (que ya lo habían aprendido en la escuela y, por lo tanto, no prestaron atención a la clase y no lo hicieron). dejar que los mortales menores como yo presten atención a la clase)) y podrían preparar un increíble programa de adición o multiplicación (que ahora incluso los jardineros de niños más pequeños)

Mi principal problema es que siempre me he sentido inadecuado y estrangulado por mis habilidades de programación limitadas y menospreciado por los deportistas de código (créanme, me he encontrado con este sitio hace mucho tiempo, pero ahora podría reunir el coraje para publicar realmente una pregunta) y en ocasiones he estado deprimido por dicha incapacidad. La mayoría de la gente dice que la programación no se trata necesariamente del lenguaje sino del estado mental que tiene la persona y las técnicas que emplea para resolver problemas / problemas. Estoy de acuerdo con tales sentimientos, pero ¿puedo alguna vez adquirir ese "estado mental", y si es así, cómo debo abordar la "Programación / Codificación", y si hay alguna forma establecida y los pasos que uno debe seguir para alcanzar el "Zen"? de codificación ". ¿Cómo lo hago? Además, no estaría de más si algún Santo quisiera orientar esta pieza oprimida de $ #! ^.

PD: Siempre estaría agradecido con cualquier persona que considere que vale la pena su tiempo, y como beneficio adicional nombraría mi primer software que envío después de ellos. (Si alguna vez llego a enviar uno, es decir,)

TL; DR: Nunca aprendí realmente "Programación / Codificación", no puedo resolver problemas incluso si lo intento. ¡Ayuadame!

Ameen
fuente
22
No te desanimes tanto. Nadie salió de la programación del útero. Cuanto más codifique, más pensará en el código. Diviértete con eso.
Steven Evers
99
Si está pensando "Hm, el error probablemente está en mi código, no en el compilador", está en camino de pensar como un programador (bueno, como la mayoría de los programadores).
gablin
55
@SnOrfus: Nadie excepto Jon Skeet;)
back2dos
44
de un novato a otro: ¡la práctica es la clave!
Chani
1
@Snorfus apuesto a que algunas personas lo hicieron! : P
Mark C

Respuestas:

26

Yo diría que la mejor manera es simplemente pasar más tiempo en ello (buscar la regla de las 10000 horas). Encuentra algo que quieras hacer y prepárate para hacerlo. Elige algo que esté más allá de tu capacidad actual, pero que no esté tan lejos que no puedas terminar en un tiempo razonable. Si realmente lo disfrutas, te encontrarás repitiendo esto hasta que seas realmente bueno en eso. Si no lo disfrutas, entonces quizás no sea lo correcto para ti. Sin embargo, intenta desafiarte a ti mismo, probablemente lo disfrutarás.

WhiteFang34
fuente
La sugerencia de la regla de las 10000 horas parece justa. Realmente intrigante, pero qué idioma debería elegir, que seguiría siendo relevante y ofrece la misma flexibilidad de los nuevos lenguajes (por ejemplo: si aprendiera Java en profundidad con todos los conceptos, podría migrar a Scala, Processing, Clojure, etc con bastante facilidad).
Ameen
11
Ameen: No te preocupes por otros idiomas. Aprende uno. Continúe más tarde, después de haber puesto 10,000 horas en Java. La vida es larga, hay muchos idiomas, no los aprenderás todos. Los nuevos se inventan todo el tiempo. Aprende una cosa ahora. Preocuparse por el futuro después de eso.
S.Lott
2
"pasar más tiempo" de manera vaga no es efectivo.
Rein Henrichs el
1
También una buena estrategia es aprender un lenguaje de programación orientado a objetos y aprender un lenguaje de programación funcional. Aprenda un idioma de tipo estático y un idioma de tipo dinámico. Serás un desarrollador completo.
Quirón el
1
@BSeven Debe ver el ensayo de Peter Norvig sobre "Aprender a programar en 10 años" es similar a esto y arroja mucha luz sobre algunos problemas importantes que enfrentan los recién llegados a la programación.
Ameen
16

Cosas de la nave . Es la única forma. Haz las cosas. En el trabajo, sus propios proyectos, proyectos de código abierto. Comienza a enviar cosas. Pueden ser cosas muy pequeñas, como una corrección de errores o una característica mínima comercializable. Simplemente comienza a enviar cosas . Nada es más satisfactorio o crea confianza que el éxito.

Editar: deberías leer Enviarlo . Es genial.

Edite de nuevo: la experiencia de hacer otra cosa que no sea enviar es simplemente una experiencia fallida He visto muchos desarrolladores "senior" cuya experiencia principal no fue enviar cosas (y encontrar excusas para no enviarlas). Los verdaderos artistas se envían .

Rein Henrichs
fuente
12

'problema', 'inadecuado', 'estrangulado', 'habilidades limitadas de X', 'menospreciado', 'deprimido', 'incapacidad' en una oración, todo dirigido hacia usted mismo me sugiere algunas heridas no curadas del pasado que todavía duelen tú. Si encuentra formas de superarlos, sería muy fácil dominar la programación o cualquier arte / oficio de este tipo. Quizás leer sobre la resiliencia de otras personas ayudaría aquí. Todos pasan por momentos dolorosos en sus vidas. Si esas heridas / heridas no se curan, sus éxitos no habrían llegado. Cura tu herida / s primero. La programación puede esperar para más tarde.

En cuanto a las habilidades de programación, cómo aprendo un nuevo idioma y empiezo a pensar como otros que ya programan en ese idioma es, primero, leer todo lo que pueda tener relacionado con ese idioma. Luego, cuando haya leído lo suficiente, comience a escribir pequeños programas.

vpit3833
fuente
2
En este mismo sentido, si desea ver a alguien que tuvo el mismo problema y una comunidad reunida en torno a él y sus problemas, asegúrese de leer este hilo de Hacker News .
Wes Baker,
3
+1 por la sugerencia de leer sobre documentación y tutoriales. Y en cuanto a la primera parte, estoy de acuerdo en que muchas heridas no están curadas. (¿Qué está haciendo un psicólogo en este sitio?) Pero desafortunadamente algunas heridas no pueden curarse tan fácilmente como otras. Pero he llegado a un acuerdo con ellos y, francamente, ya no son tan dolorosos como solían ser. Y estar inactivo solo me empuja hacia tales pensamientos negativos y la única forma de hacerlo es manteniéndome ocupado por Coding, etc. Muchas gracias por sus sugerencias, y usted, mi amigo, me ha dejado perplejo con sus habilidades psíquicas.
Ameen
@Wes Baker: Muchas gracias por ese hilo de Hacker News. Ciertamente puedo relacionarme con los pensamientos del OP (aunque no lo he tenido tan mal). Creo que tengo un conocimiento bastante decente sobre sistemas operativos, arquitectura de computadoras, algoritmos, estructuras de datos, redes de computadoras, criptografía, almacenamiento de datos, etc. (aunque necesito repasarlos). Como dije, conozco todas estas materias desde un punto de vista teórico, y en realidad no he hecho cosas prácticas al respecto. Sin duda, hojeará ese hilo, muchos consejos increíbles allí también. Tyvm!
Ameen
@Ameen Por 'todo', no me limito a documentos y tutoriales. Código que otros han escrito, los modismos que han usado, errores, excepciones, etc. que otros han enfrentado y sus soluciones, etc. No soy un psíquico o psicólogo de ninguna manera.
vpit3833
9

Algunas cosas que necesitará para comenzar realmente:

Perseverancia: convertirse en un buen programador lleva tiempo una práctica. Tendrá que escribir muchos códigos incorrectos antes de escribir cualquier código bueno, muchos códigos incorrectos. Afortunadamente, tiene recursos como este sitio para ayudarlo. ¡Mientras se mantenga comprometido con aprender a programar, podrá armar juegos y utilidades simples en poco tiempo!

Objetivos: establece algunos objetivos para ti mismo. Digamos que aprenda cómo usar STL en C ++ en dos semanas. Mira qué bien te va. Si toma más tiempo, haga un seguimiento de cuánto tiempo más, lo ayudará a mejorar en el futuro. Aprendí este truco de un compañero de trabajo; Podía estimar, hasta el día, cuánto tiempo le tomaría casi cualquier tarea. Hacer esto me ha ayudado a controlar cuánto tiempo paso en proyectos personales, y me ayuda a evitar que se salgan de control (gestión del alcance lo llaman).

Curiosidad: tienes que estar interesado y comprometido. Si no eres el tipo de persona que no aborda los problemas con el deseo de encontrar la solución, comenzar la programación será difícil al principio, y la depuración puede ser una pesadilla. Pero no tiene por qué ser así. Si tiene un problema, pregunte en sitios como este, busque su error en Google. Si no puede encontrar la manera de implementar algo, ¡pregunte! ¡Siempre hay personas que están dispuestas a ayudar!

Confianza: tenga confianza en lo que quiere hacer y la confianza suficiente para hacer preguntas. Si alguien le muestra otra forma de hacer algo, no se ponga a la defensiva ni se desanime pensando que lo hizo mal; ¡piense en ello como se le está enseñando un enfoque diferente para resolver su problema!

Sobre todo, mantenga una actitud positiva, lea muchos tutoriales y haga muchas preguntas, ¡y será un programador feliz! Otro consejo que tengo que dar es elegir un idioma, seguir con eso hasta que tenga más confianza. Tienes mucho tiempo para aprender una variedad de idiomas, pero cuando comiences, solo trabaja con uno.

¡Buena suerte! Y recuerda, ¡se supone que esto es divertido! = D

bryanegr
fuente
Gracias por su perspicaz aportación. Uno de mis problemas siempre ha sido el hecho de que (a menudo) apunté demasiado alto y me caí de bruces. Mi subconsciente podría haber adoptado un enfoque de "Quemado una vez, dos veces tímido" y tal vez esté bloqueando mis intentos de rectificar eso. Siempre he sido curioso, pero la falta de un mentor me ha llevado a ignorar mi curiosidad. Y en serio, SE se ve mucho más maravilloso a medida que pasa el tiempo, seguramente examinaré este increíble recurso y alcanzaré mi objetivo de convertirme en un programador adecuado. Muchas gracias, no puedo decir cuánto significa tu publicación para mí.
Ameen
Estoy feliz de ayudar! = D
bryanegr
Mejor objetivo: código de envío!
7

En el desarrollo parece que la paradoja "cuanto más sabes, más sabes que no sabes" es cierta.

Si eres una persona honesta y considerada, deberás aceptar este hecho y aprender a lidiar con él.

La confianza, en el sentido que implica la pregunta, es algo muy personal que realmente no tiene nada que ver con un conjunto de habilidades o metodología en particular.

En una nota más superficial, el sentimiento descrito en http://www.kalzumeus.com/2011/10/28/dont-call-yourself-a-programmer/ (sección: Usted sobreestima radicalmente la habilidad promedio de la competencia debido a la multitud con la que andas) siempre me ha ayudado.

Te sugiero que aprendas a tener más confianza en el trabajo que has hecho en lugar de generar confianza en tus habilidades como un todo. La mejor manera de hacerlo es escribir pruebas repetibles para todo su código. Funcionará de maravilla en tu psique.

smp7d
fuente
4

WhiteFang34 tiene toda la razón. Como biólogo, descubrí que la única forma de aprender a programar es comenzar a hacerlo. Lea algunos libros, tenga google y SO siempre a mano, y "solo hágalo". Sus programas serán muy básicos, mal codificados y con errores al principio, y con el tiempo mejorará cada vez más. No tengo tiempo para tomar clases de programación, pero paso mucho tiempo codificando (porque es divertido hacerlo).

Elija un idioma que le permita pensar más sobre lo que quiere hacer y menos sobre cómo hacerlo. c no es un muy buen ejemplo de eso. Pruebe lenguajes de nivel superior como java o c #, porque le permitirán hacer más, por lo que tendrá el coraje de intentar cada vez más.

(Eso es, por supuesto, suponiendo que no estás siguiendo una carrera como programador profesional, en cuyo caso solo diría que vuelvas a la escuela ...)

Buena suerte y feliz codificación

PD: Ah, y necesitarás mucha pereza, impaciencia y arrogancia.

http://c2.com/cgi/wiki?LazinessImpatienceHubris

Aleadam
fuente
4

Lo gracioso es:

la mente del programador no es tanto sobre computadora, lenguaje de programación,
patrones de diseño o algoritmos

Se trata de comprender las sutilezas del mundo real, la interacción entre las cosas. Capacidad para pensar en abstracto . Capacidad para notar cosas y recordarlas . Eso inevitablemente conduce a una buena resolución de problemas.

Implementación, el código en sí solo viene después de eso, después de que haya
resuelto con éxito el problema dado dentro de su mente.

Arnis Lapsa
fuente
4

La confianza no es algo que deba tratar de sentir acerca de sus habilidades. La confianza está pobremente (probablemente incluso negativamente) correlacionada con la habilidad real. Debería trabajar para mejorar su conjunto de habilidades profesionales (o pasatiempo valioso) sin importar lo que sienta sobre su nivel de habilidad actual.

La confianza es algo que otras personas, aquellos que crees que son competentes, deberían sentir sobre tus habilidades después de trabajar contigo o ver tu trabajo.

hotpaw2
fuente
3

Es muy simple: ¡ interesa ! Parece que ya lo eres, así que busca algo que creas que sería genial hacer, y luego hazlo, haciendo las preguntas que necesites en el camino, usando todos los recursos que puedas, para armar el proyecto de la manera que quieras lo quiero. Enjuague y repita, y se encontrará siendo un programador increíble sin siquiera haber hecho un gran esfuerzo, ya que fue interesante / divertido en el camino.

Además, logre un buen equilibrio entre resolver cosas y hacer muchas preguntas. Al principio, especialmente, es de gran ayuda que otros le digan dónde está yendo mal, para impulsarlo en la primera parte de la curva de aprendizaje. A partir de ahí, trate de resolver las cosas por su cuenta, y si se queda atascado después de un tiempo, haga una pregunta al respecto. Lo que a menudo hago es publicar una pregunta en SO, y luego buscar la respuesta, verificando SO ocasionalmente en el proceso. A veces encuentro la respuesta primero, a veces me encuentra primero.

No se preocupe tanto por qué tecnología, aunque puede ser muy divertido hacer gráficos con HTML5 + JavaScript + la etiqueta del lienzo, ya que es bastante fácil de configurar, las recompensas son inmediatas y puede compartirlas.

Claudiu
fuente
Muchas gracias. Estoy muy interesado en la programación (resuelvo problemas en mi cabeza y, por supuesto, en algoritmos, diagramas de flujo, etc.) Parece que me falta apegarme a un proyecto y seguir adelante y pedir ayuda cuando estoy atascado en un callejón sin salida. (todo eso tiene que terminar ahora, sin embargo :) Gracias a SE) Además, me ha interesado enormemente el contenido de HTML5 + JavaScript (carga parcial de página: Mashable implementa esto de una manera increíble, carga de respuestas en SE, etc.). Sin embargo, realmente no conozco recursos decentes para que puedan aprender (las escuelas W3C son supuestamente charlatanes; ¡W3Fools lo dice!)
Ameen
3

Enfoque la programación con una actitud más positiva de los alumnos. Nadie lo sabe todo. Segundo, descubra por qué está interesado en la programación, ya sea que disfrute:

  • resolución de problemas
  • aprendiendo nuevas cosas
  • haciendo que una computadora se doble a tu voluntad
  • algo más...

Una vez que sepa lo que le gusta de la programación, puede enfocar sus esfuerzos de aprendizaje en esa dirección. Soy un técnico / solucionador de problemas. Me hace extremadamente pragmático. Algoritmos y estructuras de datos, la teoría de la informática en general me puso a dormir.

Mi experiencia es similar a la tuya. Comencé a construir computadoras a los 10 años. Hice un poco de HTML / C ++ en mi adolescencia ... me aburrí ... lo dejé por unos años. Sin embargo, nunca dejé de jugar con la computadora.

Ahora, me encanta la programación. Entonces, ¿qué cambió? Encontré mi motivación. Comencé a trabajar donde me dan una gran cantidad de problemas para resolver. Encontrar soluciones inteligentes y simples para problemas complejos realmente me quema el fuego.

Finalmente, no se preocupe por cómo otros codifican o si es "correcto" o no. Está bien si hace lo que quieres que haga. Una vez que comience a trabajar en un equipo, los estándares se vuelven importantes. Esto se debe en gran medida al hecho de que otras personas deberán poder interpretar y modificar su trabajo. Los estándares de diseño no son algo por lo que un nuevo programador deba preocuparse.

P.Brian.Mackey
fuente
3

Siempre hay inercia que superar cuando se aprenden cosas nuevas. Los programadores curiosos que he conocido luchan por encontrar la motivación para continuar aprendiendo nuevos lenguajes y paradigmas. Dirán: "Necesito un proyecto para probar X". para aprender X. Algunos encontrarán / inventarán ese proyecto.

Tenga en cuenta que una carrera en programación será un proceso de frustración, estudio, experimento e inclinación contra molinos de viento de por vida. Hasta que las IA se hagan cargo de todo.

Si todavía estás haciendo ciencia real, entonces deberías poder imaginar un proyecto / necesidad de algún tipo. Por ejemplo, combinando datos de múltiples fuentes dentro o fuera de Internet. Esto podría inspirarle a que esté aprendiendo JavaScript o R o incluso Excel / VBA. Si puedes conectar algunos puntos para otros en tu campo, serás reconocido, y listo, serás un programador.

Use pero tenga cuidado con los mentores. Cuestiona a la autoridad.

Y, por cierto, la "codificación zen" es un oxímoron.

stevej
fuente
3

Nunca se sentirá seguro acerca de sus habilidades de programación.

La forma en que describe sus habilidades indica una mentalidad en la que nunca estará satisfecho con sus habilidades. ¿Dominaste C ++? ¡Espera hay Java! ¿Dominaste Java? Espere hay programación paralela. ¿Dominaste la programación paralela en C ++ y Java? ¡Espera, hay SOA! Hay OOD! Y MVC! ¡SÓLIDO! Programación funcional! Programación web! Programación en la nube! Programación móvil!

El punto es no sentirse deprimido por esto. Necesitas presionar algunos botones en tu cabeza: tu duda sobre tus habilidades es puro combustible. Probablemente nunca alcanzará un nivel satisfactorio de habilidades de programación. Mientras este sea el caso, avanzarás. La parte difícil es darse cuenta de ello y hacer algo en su contra, aunque nunca habrá un objetivo. Cuanto más tiempo puedas soportarlo, mayor será tu nivel de habilidad.

Theo Lenndorff
fuente
Wow, esa es una forma completamente nueva de ver esto. Me encanta cómo lo expresas, siempre habrá algo que querrás hacer. Realmente debería comenzar a convertir mis negativos en positivos. Muchas gracias. ¡Lo aprecio!
Ameen
3

Solía ​​sentirme de la misma manera, y en realidad fueron los sitios de Stack Exchange los que me dieron confianza.

Comencé a usar StackOverflow para encontrar respuestas a mis preguntas, y un día vi una que conocía. Publiqué la respuesta, obtuve algunos votos positivos y un comentario que decía que era una buena respuesta, y eso me animó a buscar otras preguntas que pudiera responder.

Pronto se convirtió en una adicción para mí, encontrando preguntas sin respuesta que podía resolver, y con el tiempo comencé a ganar confianza en mis respuestas. Ya no tenía que decir "Creo que esto es porque ..." o "Esto debería causar ...", sino que podría decir con cierta confianza que "Esto es porque ..." o "Esto causa ..."

Me gustan los acertijos y, para mí, las preguntas SO eran como mini rompecabezas de programación, con el beneficio adicional de obtener algunos comentarios positivos si obtenía la respuesta correcta. Si recibí una respuesta incorrecta, la eliminé y aprendí de las soluciones de otras personas al mismo problema.

Por lo tanto, mi recomendación sería ir a SO y buscar las preguntas en cualquier etiqueta que le interese, y buscar algunas para las que cree que puede encontrar respuestas. No hay nada como que la gente te diga que tus respuestas de programación son útiles / buenas para darte confianza en tu capacidad de programación :)

Rachel
fuente
Claro, tengo que hacer eso. Pero mi ego entra en acción y dice "No eres lo suficientemente bueno para que otros hagan cosas, diablos, ni siquiera eres lo suficientemente bueno como para estar aquí". Sé que suena tonto, y como algunas personas aquí lo han mencionado, tal vez solo tengo miedo de estresar mi cerebro, pero lo haré, enfatizaré esa masa de grasa hasta que no sea nada. Muchas gracias por la sugerencia y trataré de mantener mi nuevo hábito de buscar SE para preguntas interesantes cada día para resolver. Gracias por tomarte tu tiempo libre y responder mi tonta pregunta. ¡Realmente lo aprecio!
Ameen
3

A tu cerebro no le gusta trabajar demasiado. Dada la opción, prefiere tomar el camino fácil. Es por eso que es fácil renunciar a las cosas cuando intentas abordar algo demasiado ambicioso: demasiado para aprender, demasiados detalles complicados para hacerlo bien, demasiado afeitado de yak.

Hay varias cosas que puedes hacer para combatir esto. Primero, la energía. Intenta practicar cuando estés bien descansado y bien alimentado, o tu cerebro literalmente no tendrá suficiente combustible para el pensamiento abstracto complejo. El segundo truco es el interés o la importancia. Si puedes convencer a tu cerebro de que conocer a Maven es vital para escapar del tigre que te persigue, aprenderás y retendrás más de lo que tu cerebro piensa que es una tarea secundaria sin sentido en el camino hacia lo que realmente quieres. Un tercer factor que es importante es estirar sin exagerar. Un poco de esfuerzo le dará ese zumbido del logro y ayudará a formar nuevas vías mentales, sin ser inalcanzable.

También hay algo que decir para la práctica repetida. Desea suficiente variación para ser novedoso, pero suficiente similitud para poder ejercer las mismas acciones y arraigarlas.

Otro punto es que debes intentar arremangarte las mangas y ensuciarte las manos. Es fácil pasar mucho tiempo pensando en enfoques alternativos o la solución ideal, en la medida en que nunca comience. Este es un ejemplo de su cerebro tratando de tomar la salida más fácil. Trate de reconocer cuándo le está sucediendo esto y evítelo intentando comenzar. Incluso una prueba o experimento es bueno. Esto también tiene el beneficio adicional de hacer que su cerebro quiera el cierre de completar la tarea o encontrar la mejor solución.

CPhelps
fuente
Wow, acabas de encontrar al mayor culpable que he sospechado. Mi cerebro, siempre he tenido un problema con los pies fríos, y la mayoría de las veces termino saboteándome. Siempre invento alguna excusa para evitar hacer lo que es importante. Necesito convertirme en hacker y dejar de preocuparme por fallar monumentalmente debido a fallas pasadas. Necesito hackear mi vida para convertirme en el "Sí hombre" por excelencia. Gracias por señalar algunas de las fallas en mí que realmente necesitaba cambiar, y espero hacerlo lo antes posible. ¡Muchas gracias, y nunca puedo agradecerles lo suficiente por esto! Aclamaciones.
Ameen
2

Tres cosas a considerar: (O no, por supuesto).

  1. Práctica. ¿Qué pasa si el fracaso no significa nada más que una indicación de que estás practicando? Si dejas de aprender a caminar la primera vez que te caes, todavía estarías gateando.
  2. Juega con lo que sea que estés haciendo. Jugar es simplemente intentar algo y darse cuenta de lo que sucede. Deje de juzgar buenos / malos resultados, solo juegue y vea qué sucede. Deje de apegarse a un resultado en particular, simplemente intente algo y vea qué sucede.
  3. ¿Qué pasa si no eres el único programador en el mundo que alguna vez se sintió así?
David Pointer
fuente
2

Aquí hay muchos buenos comentarios sobre la práctica, realmente hace toda la diferencia.

Debería preocuparse menos por los "deportistas de código" y seguir sus consejos o comentarios por lo que son. Si son difíciles de tratar en un hilo, probablemente también sean difíciles de tratar en la vida real; y realmente, ¿quién tiene tiempo para preocuparse por su ineptitud social?

El resultado final es que hay miles de formas de abordar las tareas de programación. Muchas cosas se reducen a preferencias personales. Por ejemplo, odio leer códigos con operadores de tenary. Otros, los amo. ¿Creo que tienen razón o no? ... en realidad, tampoco. Es una preferencia personal, aunque se tendrán muchos debates acalorados sobre el tema.

Si alguien reprende su código porque usted tomó 25 líneas en lugar de 20, tendería a ignorarlas a menos que hayan encontrado una falla real en la lógica. A veces, en el mundo real, solo tenemos que hacer las cosas (y quién realmente quiere escuchar a alguien resoplando sobre lo complicado ... err, elegante que lograron hacer un código que debería haberse hecho en 10 minutos) . ¿Puedes aprender algo de los interminables debates filosóficos sobre hasta qué punto abstraer las cosas? Claro ... pero hay rendimientos decrecientes en dejarse atrapar por una elegancia 100% constante. No es realista todo el tiempo tanto como nos gustaría fingir que lo es. Algunos de mis códigos menos elegantes que me daría vergüenza compartir con cualquiera (que escribí al comienzo de mi carrera) han ahorrado a las personas semanas tras semanas,

Hay una gran publicación de blog de Joel Spolsky llamada Duct Tape Programmer. Es una gran lectura y la OMI pone en perspectiva algunos de sus miedos.

http://www.joelonsoftware.com/items/2009/09/23.html

No estoy diciendo que escriba código basura e ignore las mejores prácticas, sino que tome programadores despiadados con un grano de sal.

b.pell
fuente
1

Pregúntese por qué realmente siente falta de confianza. Creo que es porque te importa lo que piensen tus compañeros, y eso es completamente comprensible. Pero para ser verdaderamente zen al respecto, necesitas aclarar esos pensamientos y solo compararte contigo mismo con el tiempo. Déjate guiar por tu interés, aprende y trabaja duro, y te convertirás en un buen programador sin toda la psicología BS.

No es realmente la confianza lo que necesitas, es menos ruido en tu camino de progreso.

Kevin Hsu
fuente