¿Puedo convertirme en desarrollador de software si me siento muy incómodo cuando la gente lee y critica mi código fuente?

Quiero contarte una historia ahora. Esta historia es algo que siempre comparto con mis compañeros de clase, mis juniors o en mis pequeñas charlas.

Creo que es el momento adecuado para compartir esta historia.

En este incidente con todos ustedes también, en esta historia aprenderán dos cosas muy importantes, dos cosas que todo programador debería entender.

Esta es la historia de un estudiante y un maestro. Vamos a llamar a este estudiante panda y maestro como Shifu. Ahora, este no es tu panda habitual, eres un gran admirador, yo soy un gran admirador.

Esta historia es una historia del pintor panda, sí, en este escenario de nuestra historia, el Panda es un pintor, no cualquier pintor, es un buen pintor por un lado. Tenga en cuenta que algunos de ustedes podrían estar pensando, hey, qué tiene que ver este panda y esta pintura con el programador, y aquí está *** su lección número uno siempre sea paciente. ***

Este es el paso número uno que todo programador tiene que obtener . Nada solo sirve así con un clic de algo, tiene que tener mucha paciencia.

Así que ahí vamos, ya has aprendido una cosa: tener paciencia para volver a nuestro panda de la historia, en nuestro caso es un pintor increíble, pero no es un maestro. El Maestro es un Shifu aquí, así que ahora Panda es un pintor realmente bueno y solo dibuja pinturas realmente impresionantes.

Entonces, un día, el Panda estaba pensando: “sabes que soy un pintor decente pero no estoy llegando a un gran nivel, debería hacer algo para mejorar mi pintura. así que finalmente el panda decidió que “debería tomar la opinión pública para poder mejorar mi pintura”.

Luego Panda salió a una pared que estaba allí en el público y dibujó una obra maestra increíble notable de la pintura que probablemente nadie podría haber dibujado y escribió una nota simple debajo de esa pintura “si crees que hay algo mal con esto, por favor, tome el bolígrafo y el lápiz y solo deme una nota de lo que cree que falta en este cuadro o cómo podría mejorarse este cuadro “.

Panda, que era panda, fue a un gran almuerzo increíble y cuando regresó, vio que su cuaderno estaba completamente lleno. La gente ha escrito muchas críticas en su trabajo como si el trabajo de línea no fuera increíble, falta tu sombreado, tu la selección de color no es buena y todos los comentarios posibles que se podrían haber hecho para esa pintura llegaron en ese cuaderno.

Panda se puso muy triste y dijo que “pensé que era un pintor decente pero no lo soy”

El Maestro Shifu vino y vio al Panda sentado con una cara triste y vio y le preguntó al panda: “¿Por qué estás triste, no has comido algo?”

Él dijo: “Maestro Shifu, he estado tratando de ser un gran pintor, pero parece que no estoy siendo diseñado o no estoy hecho para ser pintor.

El Maestro Shifu dijo “por qué estás pensando de esa manera”. Panda dijo que acabo de dibujar esta pintura en un sector público y que escribí una nota que si crees que falta algo en esta pintura puedes señalarlo y Llegué este cuaderno completo con todas las críticas y comentarios sobre mi trabajo de línea, mis sombras, mi selección de colores y casi todo.

Shifu vio el cuaderno y dijo: ¿por qué no me muestras qué es esa pintura? Shifu fue a ver la pintura y la pintura fue increíble. Dijo que sí, seguramente hay un margen de mejora en esta pintura, pero ¿por qué no lo hacemos? una cosa, “déjame intentar mejorarte de la noche a la mañana”. Panda se sorprendió de cómo es posible.

El Maestro Shifu dijo: ve y duerme bien y vuelve mañana y te mostraré cómo puedes mejorar de la noche a la mañana.

Al día siguiente, cuando llegó el panda, el Maestro Shifu le dijo a Panda hoy que iremos a una calle más concurrida donde puedes hacer una pintura y simplemente no escribas ninguna nota debajo de esa pintura. Voy a escribir esa nota.

Panda dijo bien, voy a dar lo mejor de mí porque ahora estamos pintando en una calle mucho más concurrida, así que debería dar lo mejor de mí.

Panda nuevamente dibujó una obra maestra y la pintura fue increíble y luego el panda llamó al maestro shifu que “oye, he completado mi pintura, ¿puedes escribir la nota de que ‘si falta algo en la pintura, puedes decirme sobre eso’?

Esta vez, el maestro Shifu escribió una nota completamente diferente en esa pintura. El Maestro Shifu escribió: “No hay nada perfecto en este mundo, obviamente, también hay un margen de mejora en esta pintura, así que aquí está el pincel aquí está la pintura, por favor mejore la pintura según usted “.

Y luego, Maestro Shifutold Panda, nos sentaremos aquí, justo frente a la pintura, hay un restaurante, almorzaremos, allí esperaremos hasta la noche y veremos cuánto de estas personas En realidad puede mejorar esta pintura.

Ya sabes lo que descubrieron, ni siquiera una persona tocó la pintura o el pincel. Panda se confundió y el panda le preguntó al Maestro Shifu que “oye, sé que esta pintura no es perfecta, es mucho más baja en calidad que lo que dibujé en el último mi trabajo de pintura, pero por qué nadie realmente criticó esta pintura y criticó tanto esa pintura.

Y aquí mi querido amigo miente la verdad absoluta sobre el mundo. Todo el mundo en este mundo es una crítica increíble ya sea sobre la realización de películas, ya sea sobre exámenes, ya sea programación o algo así. Todo el mundo es una crítica, pero cuando las cosas surgen para hacer algo, es realmente muy difícil y la gente simplemente deja de hacer eso y eso mismo sucedió en la versión del maestro shifu de esta historia cuando le preguntas a alguien que “oye, ¿haces una crítica? “Todo el mundo va a señalar un error, independientemente de lo bien que lo hayas hecho o lo mal que lo hayas hecho, pero cuando surgen las cosas de hacer las cosas, solo hay un puñado de personas que pueden brindarte detalles sobre lo que te estás perdiendo o qué puede ser mejorado .

Exactamente lo mismo sucede cuando comienzas a aprender programación. Cuando comienzas a aprender programación en el momento en que decides que voy a ser programador, ya has dejado atrás la mitad del mundo. Porque todavía hay una escasez de programadores.

Y cuando muestra algo que es muy parecido a cosas básicas como imprimir un mundo hola o simplemente hacer una aplicación en la parte superior de un botón, le dice al mundo que todo esto es emocionante para usted, todo esto es emocionante para mí, todo esto es emocionante para la gente quién sabe lo que significa la programación y cómo se implementa realmente el código, pero para las personas en general que están ahí cuando solo vas a ellas y solo presentas tu aplicación que solo dice hola mundo, no tienen exactamente la misma emoción que tú tener como estoy teniendo.

Estas personas solo critican su trabajo sin tener un conocimiento interno de lo que realmente se necesita para construir una aplicación, solo van a decir que su sitio web es malo, no se ve bien, no hay simetría en todas estas cosas, pero lo que no hacen saber cuánto se necesita para diseñar ese sitio web básico.

Todos somos principiantes en la etapa inicial, con el tiempo todos mejoran.

No estoy diciendo que no debas criticar tu trabajo, pero creo que eres la mejor persona para decidir cuánto espacio hay para la mejora. Obviamente, toma el consejo de las personas que realmente saben lo que estás construyendo pero que estás tomando El consejo de cualquier persona al azar que no tenga ni idea de cuál es la programación no es tan buena idea.

Puedo entender lo que sientes cuando puedes escribir con éxito un bucle, una función, una clase, se siente increíble a pesar de que ese programa no hace mucho, solo descubre un número par o un número impar, pero esa es una tarea difícil de realizar has hecho que te diría felicitaciones.

Pero no se desmotive solo cuando presente este trabajo a alguien que no entiende lo que es una programación, se necesita mucho trabajo duro y mucho esfuerzo para construir algo.

Sé lo que estamos construyendo por primera vez, ya sea que se trate de un sitio web, una aplicación simple, no es tan fácil y se verá realmente mal, pero ya sabes cuál es tu primera creación, esto mejorará con el tiempo. pasará como cinco meses, seis meses durante el año, cinco años. Se verá más increíble, pero sea lo que sea que hayas creado ahora, siéntete orgulloso de eso.

El camino que eliges para convertirte en programador no es fácil, pero sí, solo unas pocas personas eligen este camino.

Experiencia. Una vez que haya tenido algunos episodios terriblemente dolorosos en los que su error causó que los clientes gritaran o que le costó a su empresa miles de dólares, se da cuenta de que DESEA que su código sea revisado y probado para que se solucionen tantos problemas como sea posible. entra en producción. Estoy de acuerdo con Adam O’Neil en este punto.

No digo que las revisiones de código sean los usos más productivos del tiempo. Y no estoy diciendo que alguna vez disfrutes que te critiquen tu código. Pero estoy diciendo que querrás que se haga, por tu propio bien, y estarás feliz de sufrir la vergüenza de que otras personas corrijan tu trabajo.

De hecho, soy terrible acerca de esto, ya que mi código es eficiente, fácil de leer y está bien diseñado; pero, por lo general, está repleto de malas prácticas, donde no me tomé el tiempo para “hacerlo bien”, optando, en cambio, por hacerlo rápidamente. Mi código se destruye en una revisión. Ahora estoy acostumbrado y lo espero. Si fuera de otra manera, cuestionaría la minuciosidad del trabajo de ese revisor.

Puede convertirse en un desarrollador de software, pero casi seguramente requerirá que trabaje para deshacerse de este comportamiento.

La programación es un esfuerzo creativo extraño. Si pinta una pintura, las personas que no saben nada sobre pintura pueden sentarse y criticarla, ya sea juzgando el resultado final como bueno o malo. Pero en la programación casi siempre hay una segunda audiencia para su código: otros programadores. Debido a que la programación es complicada, casi todos los programas importantes son desarrollados por equipos, y el programa en sí mismo es el trabajo de la fusión de sus ideas y talentos. Esto significa que, como equipo, tendrán que poder mirar el código de los demás y trabajar para criticarlo, extenderlo o corregirlo.

Realmente es solo parte del trabajo. Es mejor que te acostumbres.

Si ayuda, mírelo de esta manera: ¿cree que ya está programando al más alto nivel, que no queda nada que aprender de los demás? Si no, entonces alégrate de que estén allí para ayudarte a perfeccionar tus habilidades.

También soy sensible sobre mi código u otros productos “míos”. ¡Bienvenido a la gran multitud! Respire profundamente y permita que cualquier cosa útil y constructiva tenga lugar en la discusión y en la solución “final”. Concéntrese en la intención y el contexto y no dude en ponerse un poco a la defensiva mientras se mantiene abierto a la intención, contexto (prioridades, definición del problema) e ideas del otro. Especialmente si esa otra persona tiene experiencia, es el cliente o tiene el deber formal de revisar su código, este es un paso en el proceso de resolver el problema correcto con la complejidad y el rendimiento correctos, teniendo en cuenta las cosas futuras que no puede saber. No es fácil, pero tratar de ver la colaboración y la complementariedad en lugar de la competencia es el camino del crecimiento profesional y también personal.

Este es un sentimiento general que probablemente tenga con otros productos de su inteligencia.

Sin embargo, este es un mal hábito, ya que principalmente con las críticas de otros entendemos los errores y mejoramos nuestro conocimiento.

Con la programación es aún más importante que en otros dominios, ya que la programación en mi humilde opinión es dos cosas:

  1. Haz que funcione, es decir, produce un programa que cumpla con las especificaciones
  2. Deje claro cómo modificar el código, ya que las estadísticas dicen que la mayor parte de la vida de un programa es mantenerlo con especificaciones siempre cambiantes.

El punto 2 es importante y una consecuencia lógica es que no se programa para usted mismo, sino principalmente para aquellos que vendrán después de usted, por lo que la opinión de sus colegas es importante, deje solo el hecho de que algo que le parece claro podría ser arcano o contrario a la intuición. Alguien más.

En consecuencia, o cambia su hábito o se convertirá en un mal desarrollador de software.

Sentirse incómodo cuando es criticado es un sentimiento humano bastante universal. Sin embargo, parte de ser “profesional” es aprender a lidiar con eso. Alguien que revise su código (es un término mejor que “criticar”) debería ser profesional sobre cómo lo hace. Si señalan algo que está mal, o podría hacerse mejor, deberían dejar en claro que no es una crítica personal de usted. Y debe trabajar para recibir esos comentarios a la luz de eso.

Una buena revisión del código debería enseñarle algo y lo ayudará a convertirse en un mejor desarrollador. Todos desarrollan malos hábitos en su codificación, o idiosincrasias que son difíciles de entender para los demás, y las revisiones son una buena manera de descubrirlos. También se sorprenderá de cuántos errores se pueden encontrar y detectar antes de que alguien más lea su código.

Finalmente, la mayoría del software en estos días es un esfuerzo de equipo considerable, a menos que se limite a escribir aplicaciones bastante pequeñas. Eso significa que otra persona puede tener que arreglar o mantener el código que ha escrito. Probablemente sea mejor que se revise temprano, y se solucionen los problemas obvios, que hacer que alguien maldiga su código por ser obtuso y difícil de entender un año después.

A menos que desee restringir los tipos de oportunidades que tiene para trabajar, debe acostumbrarse a la naturaleza colaborativa del desarrollo de software. Considere hablar con alguien sobre por qué le resulta incómoda la revisión de su código fuente y vea si puede abordar los problemas subyacentes.

No es bueno de todos modos.

Mi consejo: Decide si quieres ser especial o sentirte especial.

Si decides ser especial, estarás agradecido por cualquier crítica que te acerque a ese objetivo.

Si decides sentirte especial, deja de lado todas las críticas, vive en tu pequeño mundo donde eres único y perfecto, pero no pongas en peligro mi vida desarrollando productos críticos para la seguridad que uso.

Sí, pero solo si está listo para trabajar en cambiar esto de inmediato.

Cuando hay cosas en el trabajo que son importantes pero me causan ansiedad o me hacen sentir incómodo, encuentro formas de abrazarme e incluso convertirme en un líder de pensamiento en esa cosa.

En su situación, programaría reuniones donde dirigiría las revisiones de código frente a todo el equipo, comenzando primero con mi código.

Clínicamente esto podría llamarse terapia de exposición.

Sería muy abierto en la reunión y le diría a la gente que solo estoy haciendo esto porque me hace sentir incómodo y ansioso. Probablemente sería terrible las primeras veces, pero eventualmente mejoraría.

También comenzaría a buscar metodologías para adoptar que me brinden oportunidades para alentar las revisiones de códigos. En este caso, podría experimentar con programación emparejada. Adoptaría más el código de refactorización mediante el uso de solicitudes de extracción para obtener comentarios sobre mi código. Trataría de ser un experto en cómo hacer revisiones de código. Si aún no está trabajando, hay todo tipo de comunidades y reuniones donde puede hacer cosas similares.

Hay muchas maneras de aceptar y superar esto.

Sí tu puedes. Dos caminos.

Uno se convierte en un desarrollador de dormitorio y solo produce código que ve. Publica en una tienda de aplicaciones (Google, Microsoft, Apple o una combinación de las tres) y vive la vida de un ermitaño codificador. Aprenderá leyendo en línea, cometerá errores una y otra vez, pero si su código funciona, nadie lo sabrá. Shhhhhhh

El otro es como convertirse en chef. La crítica es lo que te hace hacerlo mejor, y lo que te hace querer crear un mejor código para empezar. Sin críticas, nunca, nunca aprenderías de la experiencia de otras personas. No tiene sentido tomar las críticas como personales. Nadie se molestaría en tomarse el tiempo de leer su código y darle consejos sobre dónde podría mejorarse si no valiera la pena. Si eres lo suficientemente bueno como para ser lo suficientemente bueno como para aceptar esa crítica, crece, aprende, mejora. Tómalo en la barbilla. Con el tiempo, aprenderás a criticar a los demás.

Plan A o Plan B?

Por supuesto que puede hacerlo si trabaja por cuenta propia, pero si trabaja en un equipo, la gente tendrá que leerlo.

Te recomendaría que cambies tu forma de pensar, no solo en la programación sino también en la vida. La crítica se utiliza para avanzar y aprender. Si nadie lee su código y le dice qué le pasa, nunca aprenderá. Esto es lo mismo que todo lo demás en la vida. No lo tomes como algo personal

Sí, tienes un par de opciones:

  1. Escribe tus propias cosas y véndelas. Básicamente crea aplicaciones, véndelas y nunca muestres a nadie tu código.
  2. Tratar con él.

La opción 2 tendrá que suceder en algún momento. Eres un vaquero y aceptas que tu código no es perfecto. De hecho, mucho será bastante basura (todos escribimos código basura de vez en cuando, acéptelo).

Básicamente, puede dejar que su orgullo se interponga en el camino de ser desarrollador de software, o no puede, depende completamente de usted.

Oh hombre, desearía que todo lo que me preocupara fuera que otros desarrolladores criticaran mi código. Es mucho más molesto para mí decepcionar a un cliente o usuario final que no sabe nada del código.

En cuanto a aceptar las críticas al código, no estoy por encima de ponerme a la defensiva y tener sentimientos heridos, pero me esfuerzo mucho por escuchar la información en la crítica de alguien distinta del tono o juicio.

Siento que lo mejor para mí es la creatividad. Es posible que reciba críticas y críticas, pero, nuevamente, escucho la información que contiene, y también recuerdo que puedo seguir desarrollándome. Nadie más que yo puede detenerme.

Entiendo la situación por la que estás pasando … Es una sensación que todo aspirante a desarrollador siente cuando comienza. Me sentí, me sentí a todos. Es normal. La mejor manera de lidiar con esto es codificar más y compartir su código más. Esa es la única forma de superar el miedo.

Buena suerte y diviértete codificando !!

Es un instinto muy natural: su código es su bebé. Pero si quieres ser un desarrollador, tendrás que superarlo.

More Interesting

Actualmente estoy trabajando como desarrollador de software. En los últimos 2 años di alrededor de 30 entrevistas para ambos dominios. Pero pude despejar 2 entrevistas. Debido a esto, estoy empezando a pensar que no soy un buen desarrollador de software que conduce a una disminución del rendimiento, ya que me siento atrapado en mi empresa actual.

¿Qué necesito saber antes de colocar el código C ++ (o ejecutable) en el entorno de producción?

¿Qué opiniones impopulares tienes sobre el desarrollo de software?

¿Cuál es un buen teclado mecánico que recomiendas para desarrolladores?

¿Cuáles son las startups con sede en Kolkata, India?

¿Es necesario un título de maestría para sobresalir en Silicon Valley como desarrollador de software?

¿Qué apesta en el desarrollo de software?

Como estudiante graduado en CS, ¿debo aceptar una pasantía de $ 20 / hora en LA?

¿Qué actividades extracurriculares puede hacer un desarrollador de software para aumentar su currículum y aumentar el valor de mercado?

¿Cómo es trabajar en Pagalguy como desarrollador de software?

Estoy entrevistando para un desarrollador principal / CTO para mi puesta en marcha. ¿Qué preguntas debo hacer?

En el desarrollo de software, ¿cómo es posible dar una cotización fija basada únicamente en el documento de especificaciones / requisitos técnicos?

Cómo convertirse en un desarrollador de software desde cero

¿Hay alguna computadora portátil específica que sea mejor para el desarrollo de software?

¿Cuál es la diferencia notable entre un desarrollador de software independiente y un desarrollador de software que trabaja en una empresa?