La gente me aconseja que "encuentre un trabajo haciendo algo en lo que usted sea bueno", pero la verdad es que no creo que sea bueno con nada más que escribir código. Sin embargo, no creo que pueda diseñar o estructurar un programa.
No me malinterpreten, no soy el tipo de programador que no puede escribir un programa fizz buzz; Soy más como el tipo de programador que no puede hacer mucho más que hacer el trabajo. No es que tenga una actitud de "hacer lo mínimo"; es que soy dolorosamente consciente de mis limitaciones como programador.
Por ejemplo, implementar un algoritmo de ordenación rápida es algo que solo podría hacer confiando en la memorización de memoria (es decir, si alguna vez encuentro la motivación para pasar una buena parte de mi día tratando de guardar todo el algoritmo en la memoria y no solo irme) como "umm, ya veo, eso tiene sentido, puedo ver la lógica ...").
Cuando se trata de estructurar y diseñar una aplicación, siento que estoy tan indefenso. Como no puedo ver la respuesta correcta al principio, solo hago una llamada de juicio que nueve de cada diez luego me arrepiento.
Todavía logro obtener promociones de trabajo y elogios de mis compañeros de trabajo, por lo que otros no necesariamente comparten mis opiniones. Hablando objetivamente, simplemente no tengo ni la capacidad de aprendizaje ni el poder mental absoluto para aspirar de manera realista a ser algo más que un programador 'ligeramente superior al promedio'.
Me pregunto si realmente tengo el deber ético de dejar espacio para personas más talentosas y encontrarme otro tipo de trabajo, incluso si estoy bastante seguro de que no encontraré otro papel para el que estoy mejor calificado. Mi pregunta es: "¿Los programadores promedio tienen un lugar en un equipo?"
Respuestas:
Por el contrario, creo que las personas que obtienen un puntaje alto en la matriz de competencia del programador (o cualquier medida similar) tienen el deber ético de no ser esnobs elitistas.
Ted Neward escribió recientemente una fantástica publicación de blog que creo que es relevante aquí. Aquí está mi cita favorita:
Por lo que vale, solo el primero de esos dos personajes agonizaría por sus propias capacidades de la manera que tú lo has hecho.
fuente
No, tu no. En todo caso, tiene el deber ético de cuidarse a sí mismo y a sus dependientes. No hay escasez de puestos de trabajo para desarrolladores talentosos, y no hay ninguna razón por la que deba poner los intereses de las personas que probablemente ni siquiera conoce por delante de los suyos.
De hecho, este mismo sitio está lleno de preguntas de los empleadores sobre cómo encontrar desarrolladores calificados. Su empleador puede legítimamente sentirse afortunado de tenerlo.
fuente
No tiene la obligación ética de sobresalir en su trabajo, solo de hacer lo que cree que le pagan. ¿Es mejor que hagas algo más relacionado con las computadoras? El trabajo de SDET es probablemente algo con lo que se sentiría súper cómodo, ya que, en general, la mejor manera de mostrar brillantez como SDET es mostrar por qué el código de otras personas es defectuoso. Esto le dará una idea de lo bueno que realmente es, y también le quitará la carga de "Soy lo suficientemente bueno".
Mientras leía esto, quería asegurarme de que estaba claro: la mayoría de los codificadores son terribles. Estás siendo demasiado duro contigo mismo y al trabajar como un SDET te verás abrumado por lo más calificado que estarías para hacer tu trabajo de lo que piensas. Confía en mí, me cambió la vida. ;)
fuente
Leyendo tu publicación, seguí pensando que esta persona tiene lo que realmente se necesita para ser un gran programador.
Dices que eres dolorosamente consciente de tus limitaciones.
Cuanto más capaz es una persona en su campo, más humilde y consciente de sus propias limitaciones suele ser. Gran parte de dominar cualquier oficio es admitir lo poco que realmente sabes, y trabajar con eso. También lo mantendrá hambriento de mejorar y no estancarse. Úsalo.
Empiezas mal y te arrepientes 9 de cada 10 veces.
Se llama conocer el espacio del problema. Esto es algo que lleva años y años de dominio (y para ser sincero, no sé si alguna vez debes dominarlo, si haces la llamada "correcta" desde el principio, ¿cómo sabes que es la correcta?). Obtener una buena solución en su lugar generalmente requiere algunos intentos fallidos. Hay mucha investigación actual sobre cómo aprendemos mejor a través del error de puño. Solo necesita hacerlo en un entorno seguro y propicio. Asegúrate de estar en un entorno así y prosperarás.
Tienes las cosas hechas.
Esto es oro puro, tanto de los miembros del equipo que esperan lo que envían como de los gerentes. Estás recordando el punto más importante en cualquier proyecto de software: si no entregas, a nadie se le paga.
Esto puede ser difícil de entender, pero todos los puntos que enumeró los veo como signos de que ya han progresado mucho.
fuente
No.
Los malos carpinteros no abandonan la carpintería, simplemente reconocen que no son los mejores carpinteros que jamás hayan vivido mientras proceden a golpear sumisamente las sillas cotidianas mundanas que hacen bastante bien por simple repetición. Hay muchos asnos por ahí, así que en realidad necesitamos carpinteros mundanos porque todos los primadonna se aburren de fabricar sillas baratas y quieren mostrar sus talentos a través de estructuras más impresionantes como, por ejemplo, mesas.
No es una cuestión de ética, sino de elevarse al máximo y ser feliz de ser lo mejor que puede ser.
fuente
Realmente puedo relacionarme con esto. Me he sentido como un programador mediocre toda mi vida y siempre he mirado a personas que son mejores que yo. Y para ser sincero, muchos programadores son mejores que yo. Pero aún así, como usted, recibo elogios por mi trabajo Y como usted hago felices a mis clientes y a mi jefe E incluso me ascendieron a ingeniero de software senior, por lo que debemos estar haciendo ALGO bien. Aunque tengo éxito en el trabajo, sé que incluso hay programadores junior talentosos que son mejores para abstraer problemas y escribir código para tratar esos problemas de una manera más elegante y abstracta. Es muy importante que nos centremos en lo que PODEMOS hacer y nos alabamos por eso. Y es mucho más importante cambiar la forma en que vemos lo que hemos logrado que tratar de convertirnos en un "buen" programador (o arquitecto, o amigo, o patinador sobre hielo,
Hay algunas cosas que simplemente no están a nuestro alcance. Podría soñar con poder configurar un proyecto enormemente complejo con un montón de nuevas tecnologías y un montón de patrones de programación complejos y hermosos en un día como mi elogiado colega Mark puede. Pero no puedo Y seguiré centrándome en lo que puedo hacer y lo haré lo mejor que pueda y me respetaré por eso. Y creo que deberías intentar hacer lo mismo. Podrías comenzar diciéndote a ti mismo que ser un programador y ser alabado y pagado por tu trabajo es un gran logro para empezar.
fuente