¿Cómo puedo saber si soy un buen programador?

301

Como la mayoría de las personas, pienso en mí mismo como un poco por encima del promedio en mi campo. Me pagan bien, recibí promociones y nunca tuve un problema real para obtener buenas referencias o conseguir un trabajo.

Pero he estado lo suficientemente cerca como para notar que muchos de los peores programadores con los que he trabajado pensaron que eran algunos de los mejores. Los programadores malos que están rodeados de otros programadores malos parecen ser los más engañados.

Ciertamente no soy perfecto. Sí cometo errores. Echo de menos los plazos. Pero creo que hago aproximadamente el mismo número de movimientos de cabeza hueca que hacen "otros buenos programadores". El problema es que yo defino "otros buenos programadores" como "personas que son como yo".

Entonces, me pregunto, ¿hay alguna forma en que un programador pueda hacer algún tipo de autoevaluación razonable? ¿Cómo sabemos si somos buenos o malos en nuestro trabajo?

O, si términos como bueno y malo están demasiado mal definidos, ¿cómo pueden los programadores identificar honestamente sus propias fortalezas y debilidades, para que puedan aprovechar las primeras y trabajar para mejorar las últimas?

Kristopher Johnson
fuente
Por qué quieres saber? Nadie puede definir qué es "bueno". Si realiza el trabajo como se espera y le pagan bien, eso es suficiente.
Mert Akcakaya

Respuestas:

325

Un buen programador entiende que tiene que continuar aprendiendo y creciendo. Se esfuerzan por hacer lo mejor posible en cada esfuerzo, admiten fracasos y aprenden de ellos.

Son extraordinariamente comunicativos. No solo son capaces de explicar términos técnicos complejos a un laico, sino que se esfuerzan por actuar como el defensor del diablo de su propia idea para asegurarse de que están dando las mejores opciones a su cliente.

Los mejores programadores saben y aceptan que hay más de una forma de hacer las cosas, que no todos los problemas son un clavo, y que debido a que siempre hay una mejor manera de hacer algo que la forma en que estaban planeando, constantemente buscan aprender nuevas técnicas. , tecnologías y comprensión.

A un buen programador le encanta programar, y lo haría en su tiempo libre, incluso si ya pasan más de 80 horas a la semana programando.

Un buen programador sabe que él / ella no es un gran programador. Los grandes programadores realmente no existen, solo hay quienes dicen ser excelentes y aquellos que saben que no son excelentes.

Adam Davis
fuente
55
¡Clavas esto en la cabeza! IMO!
13
Y creo que un corolario más general es que eres bueno en lo que haces cuando te importa lo que haces.
77
Bien dicho. Con respecto al ego / humildad, llegué al MIT AI Lab en los años 70. Los mejores codificadores tenían cierta confianza humilde. Si crees que estás haciendo algo importante, podrías estar equivocado, pero si no lo haces, probablemente tengas razón.
Mike Dunlavey
44
Estoy parcialmente de acuerdo con el párrafo 2, "No solo pueden explicar términos técnicos complejos a un laico ..." Conozco algunos buenos programadores. Pero no podían explicar nada a nadie fuera de su círculo. Tampoco podían entender lo que el laico intentaba decir. Ambos se miran con ojos de "ciervo en los faros". Diré que son extraordinariamente comunicativos. Para el resto de sus puntos, los resumiré diciendo que un buen programador es humilde y está dispuesto a compartir su conocimiento de la mejor manera que él / ella sabe.
IAbstract
101
"y lo harían en su tiempo libre incluso si ya pasan más de 80 horas a la semana programando". Deshágase de esta tonta declaración y estaría completamente de acuerdo con el resto. Un verdadero "buen programador", se da cuenta de que cuando se trabaja más de 80 horas por semana haciendo algo diferente a la programación (en el tiempo libre) es esencial para la salud física y mental, y la productividad en el trabajo.
91

Como Paul Graham señala elocuentemente en este podcast , no puedes. Solo tus compañeros de trabajo pueden decírtelo.

Malach
fuente
44
Esta respuesta es mucho mejor que la aceptada ...
125
Tus compañeros de trabajo no pueden saber si eres competente si son incompetentes. Simplemente pensarán que tienes opiniones extrañas y discutirán apasionadamente sobre temas irrelevantes.
2
De acuerdo, keyersoze. Entonces nadie puede decírtelo y nunca lo sabrás, a menos que tengas nuevos compañeros de trabajo. Creo que a la larga no es gratificante trabajar con nadie que sea competente.
1
@keysersoze, pero si soy realmente incompetente, mis compañeros de trabajo pueden ser competentes y soy demasiado estúpido para darme cuenta;)
1
Paul Graham también escribió un ensayo sobre grandes programadores, señalando que no sabe nombrar a los grandes, ya que nunca trabajó con las opciones obvias (como Richard Stallman, Linus Torvalds, et al.).
David Thornley el
59

Siempre he descubierto que es más fácil juzgar tu desempeño haciendo dos cosas.

  1. Rodéate de otros buenos programadores
  2. Vea cuánto se quejan del código que escribe.

El problema, por supuesto, es encontrar buenos programadores, y luego ser un buen programador tampoco se trata solo de codificación. Debe poder trabajar bien en grupos, pero también puede trabajar bien solo.

Ahora, en aras de salir del tema, citaré a Robert A. Heinlein y su punto de vista sobre el tema:

"[Un programador] debería poder cambiar un pañal, planear una invasión, matar un cerdo, conectar un barco, diseñar un edificio, escribir un soneto, equilibrar cuentas, construir un muro, armar un hueso, consolar a los moribundos , tomar órdenes, dar órdenes, cooperar, actuar solo, resolver ecuaciones, analizar un nuevo problema, lanzar estiércol, programar una computadora, cocinar una comida sabrosa, luchar de manera eficiente y morir galantemente. La especialización es para los insectos ".
- de El cuaderno de Lázaro largo.

icco
fuente
12
me recuerda un poco a la cita: "Las personas estúpidas se rodean de personas inteligentes. Las personas inteligentes se rodean de personas inteligentes que no están de acuerdo con ellos".
Sam Hasler
Me atrevo a decir que esta es la mejor cita de Heinlein sobre SO.
1
El problema es que otros programadores pueden o no estar a la altura o por encima de su nivel, pero es posible que no quieran insultarlo. No he tenido mucho en el camino de la retroalimentación de los tres programadores que he trabajado, y muy mínimas de otros 2, una que yo consideraría "buena" ...
44
... aunque estamos esterotipados como antisociales, otros programadores pueden adelantarse a la defensa del código simplemente al no proporcionar comentarios sobre los problemas con él. Lo que en realidad puede pasar por alto los problemas reales del código para no crear problemas sociales.
55

Esta es la Matriz de Competencias del Programador solo para usted: http://www.indiangeek.net/wp-content/uploads/Programmer%20competency%20matrix.htm

Omega
fuente
Tengo 3-4 como el 90% de esos artículos y no puedo codificar mierda. No demasiado rápido, al menos.
-1 para la lista de compras.
66
-1: el conocimiento de algoritmos es bueno, pero no hay forma de que todas esas cosas se almacenen en tu cabeza cuando alguien te entreviste. Para eso es wikipedia, google y stackoverflow.
1
Acordar que esa lista es en su mayoría inútil; es una buena fuente de ideas si está buscando ejercicios, pero no es muy útil en la medida en que determina que es un "buen programador". "Buen programador" es más actitud que lista arbitraria.
2
+1. Si bien no estoy en desacuerdo con lo que se dijo anteriormente, sigo pensando que esta es una muy buena lista. Gracias por publicarlo. Definitivamente, estos son los tipos de criterios en los que evaluaría a un programador que solicita un trabajo. Y @macnnicken, solo va al nivel 3. :)
EMP
38

Jeff tiene una de mis publicaciones de blog favoritas sobre este tema ... ¿Por qué soy el mejor programador del mundo?

"... no es nuestro trabajo ser mejores que nadie; solo necesitamos ser mejores que hace un año".

codeConcussion
fuente
3
Me gusta esa cita, muy buena. Y de eso se trata la programación. "Sé mejor en lo que haces y conoce día tras día".
1
Todos los años durante los últimos 12 años, revisé el código que había escrito un año antes y pensé que era una mierda. ¡Tal vez estoy haciendo algo bien! No hay nada peor que un programador estancado.
28

Creo que el hecho de que estés haciendo la pregunta demuestra que no eres un mal programador, así que, en mi opinión, estás a medio camino. :)

Los malos programadores siempre piensan que son grandes programadores, en mi experiencia.

Nick Berardi
fuente
¿Cuánta experiencia tienes?
1
Mi experiencia concuerda con tu experiencia, por eso me preocupo cada vez que empiezo a pensar que soy bueno.
Kristopher Johnson el
21

La declaración de Nick "Los malos programadores siempre piensan que son grandes programadores ..." se explica por el efecto Dunning Kruger , que generaliza que las personas que saben un poco sobre un tema a menudo sobreestiman cuánto saben realmente.

Ser un poco gracioso ... cuanto menos creas saber, más probablemente harás ... a menos que, por supuesto, seas un idiota muy consciente de ti mismo.

Respondiendo la pregunta original, aunque tiendo a pensar que la mayor influencia (no control) que tienes generalmente es un buen indicador. Si ve que otros siguen su ejemplo o retoman sus prácticas, está en el camino correcto.

Mark Nold
fuente
El efecto Dunning-Kruger es terriblemente humillante. ¡Me gusta intentar tenerlo en cuenta cuando me siento bien por algo que he hecho!
Los buenos programadores no hacen preguntas y luego votan las respuestas porque no les gustan. No actúan como si supieran todo sobre un tema nuevo y cuando un experto responde una pregunta para ellos, no la rechazan porque no es la que querían.
¡Ojalá tuviera una pista sobre DK en la universidad, cuando era un buen ejemplo de un extremo del espectro!
DarenW
18

La respuesta que obtuvo más votos positivos es realmente angustiante. Básicamente dice que no tienes vida fuera de la programación. ¿Qué hay de la familia? ¿Comunidad? ¿Aficiones? ¿En qué tipo de profesión estamos en donde tienes que preocuparte hasta el punto de la obsesión solo para ser considerado "bueno"? Realmente creo que necesitamos tener alguna perspectiva aquí.

Jack BeNimble
fuente
2
Estoy de acuerdo. Deberíamos esforzarnos por ser una gran persona antes de convertirnos en un gran programador.
Buen lugar para referirse al término programador 501: hanselman.com/blog/…
ChrisFletcher
9

No soy perfecto. Yo cometo errores. Echo de menos los plazos. Pero creo que hago aproximadamente el mismo número de movimientos de cabeza hueca que hacen "otros buenos programadores".

Esa sola comprensión te convierte en un mejor programador que la mayoría de los malos programadores.

Muchos de los peores programadores tienden a pensar que ya saben todo lo que hay que saber y no son conscientes de sus limitaciones. Como resultado, nunca mejoran sus habilidades.

17 de 26
fuente
9

Si miras tu código de, digamos hace un año, y piensas, por Dios, podría haberlo hecho mucho mejor, probablemente estés bien :).

Morph
fuente
Acabo de mirar mi programa hello world y pensé que, ahora es mucho más eficiente, ¿estoy bien? jks jks
9

Aquí hay algunos ejemplos de la vida real de mala programación. Por supuesto, un código similar estaba en todo el lugar copiado / pegado en 100 lugares. Guy fue despedido, pero he oído que consiguió un buen trabajo nuevamente. Disfrutar:

una)

if (! TableObject.loadList("sql condition").isEmpty()) {  
    List<TableObject> myList = TableObject.loadList("sql condition");  
    ...  
}

si)

public static Type getInstance() {  
    if (instance == null) {  
        return new Type();  
    }  
    return instance;  
}

C)

getForeignKeyObjectProperty1() {  
    return ForeignKeyObject.loadByPrimaryKey(foreignId).getProperty1();  
}  

getForeignKeyObjectProperty2() {  
    return ForeignKeyObject.loadByPrimaryKey(foreignId).getProperty2();  
}  

...

getForeignKeyObjectPropertyN() {
    return ForeignKeyObject.loadByPrimaryKey(foreignId).getPropertyN();
}

re)

public boolean isHasImage() throws SQLException {
    StringBuilder query = new StringBuilder();
    query.append("select user_name");
    query.append(" from user");
    query.append(" where has_image = 1");
    query.append(" and user_name ='"+getUserName()+"' and user_image is not null");
    Connection c = Database.getInstance().getConnection();
    Statement st = c.createStatement();

    try {
        ResultSet rs = st.executeQuery(query.toString());
        if (rs.hasNext()) {
            return true;
        } else {
            return false;
        }
    } finally {
        st.close();
    }
}

Si crea este tipo de código, detenga la programación. Si no ve nada extraño en este código, detenga la programación. De lo contrario, no eres malo, así que incluso podrías ser bueno :)

EDITAR: Para responder a los comentarios: conseguí trabajo antes de graduarme, y este tipo ya tenía algunos años de experiencia en programación. Lo despidieron unos meses después de que me empleé, así que no estaba en condiciones de dar clases particulares a nadie. Los ejemplos anteriores fueron solo de la parte superior de mi cabeza: cada paz de código que tocó tenía defectos de varias maneras imaginativas. La mayoría de las cosas comenzaron a asustarse después de que él se fue de la compañía, porque solo entonces otras personas vieron algunas partes del código. Generalmente es un buen tipo, es agradable hablar con él, etc. pero NUNCA será un buen programador, así como yo nunca seré un buen pintor, escritor o lo que sea.

Para contrastar esto con otro ejemplo, el tipo que vino a reemplazarlo también era estudiante en ese momento. Estudió la universidad más famosa por la gestión que la programación. No es demasiado geek en el sentido de que programó cualquier cosa por diversión o se sentaría en casa y leería sobre Java o la programación, pero lo está haciendo bien. Se ajustó rápidamente y comenzó a producir código útil y mantenible. Algunas personas pueden hacer eso, otras no, solo pregunte diariamente.

Slartibartfast
fuente
11
Cualquiera puede publicar código arbitrario y afirmar que aquellos que no lo entienden son estúpidos. Iré a pararme en la línea tonta.
20
Un buen programador se hubiera tomado el tiempo (¿2 minutos quizás?) Para explicarle a su colega qué estaba mal con un código como este.
44
De acuerdo, un buen programador habría señalado por qué este código era "malo" y habría ayudado a su colega a mejorar en lugar de burlarse de él.
77
Espero que ese tipo haya encontrado un trabajo donde sus compañeros de trabajo lo hayan ayudado a crecer en lugar de reprenderlo.
Robert S.
8
@Morph: el instancecampo nunca tiene asignada una Typeinstancia, por lo que siempre permanece null=)
missingfaktor
8

Hay algunas cosas que puede probar para obtener una mejor idea de cómo se acumula.

  • Compara revisiones de código. Ver cuya revisión reveló más problemas.
  • Pregunte cuándo fue la última vez que leyeron libros que eran periféricos a su curso normal de estudio. Entonces pregúntate lo mismo.
  • Pregúntese quién aporta nuevas ideas a la empresa (y qué tan bien funcionan).
  • Por último (y menos), ¿hay alguna forma de reconocimiento de la empresa?

(Puse eso último porque en mi última compañía, un programador recibió al "desarrollador del año" dos veces en tres años. Después de irse, encontramos al menos 20 fragmentos de código dignos de TDWTF. Desarrolló código rápidamente , pero no necesariamente bien La gerencia simplemente no sabía la diferencia).

Adam V
fuente
1
+1 para "comparar revisiones de código". Parece una novela y algo muy práctico de hacer.
j_random_hacker
6

Permita que otros desarrolladores con los que respete trabajen o vean su código.

Haga que la gente realmente use lo que le gusta y vea lo que piensa.

- Kevin Fairchild

Kevin Fairchild
fuente
6

¿Puedes entender esto?

if(rp->p_flag&SSWAP) {
	rp->p_flag =& ~SSWAP;
	aretu(u.u_ssav);
}

:-)

Iain Holder
fuente
Modded down ??!?!?!?! Alguien no sabe su historia. :-)
Iain Holder
55
No se espera que entiendas esto
¿Es esto una referencia a algo? En cualquier caso, si se trata de código C / C ++, probablemente haya querido decir "& =" en lugar de "= &" en la segunda línea. (Digo "probablemente" porque por la sobrecarga del operador ~ () en C ++ que podría hacer la compilación anterior ... Pero estoy bastante seguro de que no es lo que pretende.)
j_random_hacker
1
@j_random_hacker Sospecho que = & es correcto ya que este código fue escrito por Dennis Ritchie. Ver cm.bell-labs.com/who/dmr/odd.html
Iain Holder
1
@IainMH, dmr también admite que tenía errores.
4

Solo el simple pensamiento de que necesita autoevaluarse lo coloca por encima del resto.

Una forma en que siempre me juzgo es escuchar lo que mis compañeros de trabajo tienen que decir sobre mí. El truco está en encontrar a las personas adecuadas.

Gulzar
fuente
4

Siempre es subjetivo quién es un buen programador. Estoy de acuerdo con Nick en que simplemente hacer la pregunta es un paso en la dirección correcta. Creo que el deseo constante de aprender más y mejorar es lo que hace a un buen programador.

Ryan Lanciaux
fuente
4

Para mí, los mejores programadores nunca buscan trabajo. Tienen ofertas permanentes para nuevos puestos solo en función de su reputación. Por lo tanto, un buen programador puede tener ofertas de empleadores anteriores para regresar, si así lo desea. O un buen programador habría tenido preguntas de ex compañeros de trabajo acerca de venir a trabajar para ellos en una nueva empresa.

En términos de fortalezas / debilidades, probablemente ya las conozca. Si no, pregúntale a una persona de mayor rango en tu equipo. Ni siquiera tiene que ser un desarrollador. Un buen gerente de proyecto conoce las fortalezas / debilidades de los programadores. Además, los rasgos que definen a un buen programador no se limitan solo al código. La comprensión del negocio, las habilidades de comunicación, el juicio, etc. se realizan fuera de su IDE.

MattH
fuente
2
Podrías ser un gran programador y una persona horrible. ¿Prefieres trabajar con una buena persona que tal vez no sepa tanto pero esté dispuesta a aprender o con un imbécil total que sea un programador fantástico en todos los sentidos? Entonces, lo que describe hace que sea un buen empleado, no un buen programador. ;)
2
No entiendo de dónde viene este comentario. Las dos preguntas principales que estoy abordando son '¿Cómo sé si soy un buen programador?' y '¿Cómo sé mis fortalezas / debilidades?' ¿De qué habla todo esto de idiotas y gente horrible? Tengo opiniones sobre esas cosas, pero no creo que se relacionen con mi respuesta.
2
Obtener una reputación es a menudo más una cuestión de relaciones públicas y confianza que una habilidad real.
David Thornley el
Asumir que "habilidad" es habilidad técnica, entonces ser un buen programador es más que "habilidad real". La aptitud técnica es solo una pieza del rompecabezas.
3

Creo que se trata de preguntarte cómo puedes saber si eres una buena persona.

Creo que, desafortunadamente, la respuesta es que solo otras personas creíbles pueden decirte eso. No creo que sea algo que pueda determinar con precisión por sí mismo (al menos es muy difícil, pero creo que podría ser imposible).

Ben Collins
fuente
3

Simplemente diría: si eres apasionado (quiero decir, REALMENTE apasionado) sobre lo que haces, si eres flexible (otro idioma, nueva tecnología, nueva versión completa de un proyecto antiguo, ¡hagámoslo!), si sigues aprendiendo y mejorar tus habilidades y nunca, nunca pienses que eres lo suficientemente bueno como para detenerte, ¡entonces eres un buen programador!

agnieszka
fuente
3

El 95% de todos los programadores piensan que se encuentran entre los 5% mejores programadores, el otro 5% son gerentes. Entonces, si usted es un gerente, probablemente no sea un buen programador, de lo contrario, probablemente lo sea.

Hallgrim
fuente
... y 25% SABEN que están en el 1% superior;)
3

Creo que es más una cuestión de lo que haces con tus habilidades de programación. Ser un gran programador está bien, pero ¿qué importa si está codificando software bancario todo el día (sin ofender). Simplemente no cuadra.

Para demostrarte a ti mismo que eres un buen programador, emprende un proyecto paralelo interesante y difícil. Esto muestra algunas cosas: está interesado en programar en su propio tiempo libre y realmente disfruta el tema; esto es esencial para ser un buen programador. Muestra versatilidad porque puede extender sus habilidades más allá de lo que hace en su entorno de trabajo. También muestra motivación y creatividad: ha definido un problema por su cuenta y está tomando medidas para resolverlo.

Todos estos aspectos definen un buen programador para mí.

Joey Robert
fuente
3

Mi respuesta será políticamente incorrecta. Sin embargo, en realidad soy el fundador de una startup y mi trabajo es contratar a los mejores programadores.

¿Cómo sé qué personas serán buenos programadores o pueden ser buenos programadores?

1 palabra: IQ.

IQ es para programar como la altura es para jugadores de baloncesto.

Pondría las habilidades matemáticas como otro indicador más políticamente correcto. Mis profesores de informática me dijeron que hay un criterio que predice correctamente quién tendrá éxito en los cursos de programación. Puntajes de matemáticas en la escuela secundaria. Esos son efectivamente IQ de todos modos.

Esto puede ser una sorpresa. Se nos dice que programar es un trabajo de grado universitario. Adivina qué, no me importa el grado. Solo me importan 3 cosas.

  1. Habilidades de programación (que se pueden probar).
  2. Aptitud.
  3. El sentido común (no muy bajo) de las habilidades de las personas.

Lamentablemente, el coeficiente intelectual solo mide una cosa. Entonces hago algunas pruebas.

Le hago preguntas a la gente. Pregunta simple que espero que el niño de la escuela primaria pueda responder.

Hago preguntas como:

  1. ¿Cuál es la distancia entre la manecilla del reloj corta y larga a las 7:35
  2. Si voy de Yakarta a Semarang y quiero mantener una velocidad de 60 km / hora. Luego, en las primeras 2 horas conduzco 100 km / hora. ¿Qué tan rápido debo ir para el resto del viaje para que mi velocidad PROMEDIO sea de 60 km / hora?

Si nos fijamos bien, esas preguntas no requieren creatividad en absoluto. Solo sentido común. Cualquier niño de primaria con coeficiente intelectual puede responder eso.

La mayoría de los graduados universitarios no pueden. Ahora imagina si alguien no puede responder eso. ¿Puede él programar? Piénsalo. ¿Con qué frecuencia tendrá que especificar qué debe hacer?

También puede hacer preguntas como Microsoft que requieren creatividad. Puede hacer preguntas sobre cómo pesar 8 bolas en una balanza para saber cuál es la más pesada. El problema con tales preguntas es que involucra suerte. Sin embargo, algunos son bastante fáciles, debería ser un requisito mínimo.

Conseguir un programador increíble puede mejorar la moral de otros programadores. Obtener programadores de una ley puede bajar la moral de todos los demás.

Después de que las personas puedan responder preguntas como esa, lo cual es muy fácil, les haría escribir un código de Google Jam.

Los buenos programadores pueden resolver el código de Google Jam y pueden predecir qué problemas son más fáciles.

user4951
fuente
2

En mi opinión, eres un buen programador si

-Tienes un fondo teórico de sonido. Reinventar la rueda, así como un algoritmo o un marco, es una pérdida de tiempo, la mayoría de las veces.

-puedes ver cosas y problemas desde una perspectiva sesgada a veces. Esto puede llevarlo a encontrar soluciones innovadoras.

-Usted gasta tiempo, dinero y esfuerzos para tener las mejores herramientas y las mejores habilidades actualizadas.

-su código es fácil de modificar. Si diseña un código limpio, elegante y comprensible, modificarlo no será doloroso.

-si su tasa de código / errores es razonablemente alta. Sé que esto puede parecer trivial, pero conozco a muchos desarrolladores creativos y hábiles que, sin embargo, son muy propensos a cometer errores triviales. esto perjudica enormemente su efectividad y utilidad.

-la gente a tu alrededor sabe que puedes ayudar a decidir qué opciones hacer

-puedes resolver problemas usando diferentes herramientas. los malos programadores siguen usando la misma herramienta (ya sea un lenguaje o una tecnología o una arquitectura, etc.) para cualquier problema que tengan

-Sigue aprendiendo, tiene curiosidad.

-Te diviertes la programación, después de todos estos años.

pomarc
fuente
2

"Señor, he pasado por esto desde Alpha hasta Omaha, y le digo que cuanto menos sepa un hombre, mayor será el ruido que haga y mayor será el salario que ordene". Mark Twain

... mi conclusión es que los buenos programadores tienen un salario bajo y hacen poco ruido ... :)

O yo
fuente
2

Mejor programador: completa la tarea con el menor número de sentencias de código a tiempo.

Naveed
fuente
1

¿Cuántos errores tiene su código por alguna métrica? (es decir, errores por línea) ¿Qué cantidad de código debe recodificarse cuando se deben agregar nuevas funciones? ¿Sus compañeros de trabajo tienen problemas para modificar su código?

En última instancia, la pregunta es casi imposible de responder dado que la pregunta de "qué es el código de calidad" sigue siendo un tema muy debatido después de todos estos años.

Torlack
fuente
1

Realmente me gusta lo que Adam V dijo anteriormente.

Además de lo que otros han dicho, observe el mantenimiento y el historial de soporte de su trabajo. Si su código tiene grandes requisitos de mantenimiento y se está reparando constantemente, o es difícil de cambiar, esos pueden ser indicadores de su calidad. Pero estos también pueden ser indicadores de requisitos bajos.

Bernard Dy
fuente
1
"Pero estos también pueden ser indicadores de requisitos bajos". muy probablemente nuestro caso aquí. Los requisitos deficientes nos hicieron reescribir un módulo completo.
1

Es muy difícil autoevaluarse. Las personas incompetentes tienden a tener evaluaciones tremendamente infladas de sus propias habilidades.

Una buena métrica es si otras personas a las que respetas como programadores quieren trabajar en / con el código que has escrito. Dada la oportunidad de trabajar directamente con usted, o de heredar el código que ha escrito, ¿lo rechazará? De acuerdo a regañadientes? ¿O aprovecha la oportunidad de aprender de tu trabajo? Esta técnica funciona aún mejor si es un compañero, no un subordinado o alguien que cree que puede ser beneficioso para ti hacerte sentir bien.

Larry Gritz
fuente
1

Si realmente quiere averiguarlo, envíe un código a sus pares y solicite una revisión (constructiva) del código. En el peor de los casos, aprendes algo. El mero hecho de que estés aquí en este sitio buscando la iluminación ya te distingue de las masas sin lavar. (a menos que solo estés aquí para acariciar tu ego. :-)

Sistema límbico
fuente