¿Dónde consiguen trabajos los programadores mediocres?

Los programadores provienen de tantos niveles de habilidad y áreas de concentración que casi parece que cualquiera podría ser un programador mediocre cuando los compara con los desarrolladores senior o con experiencia que tienen proyectos líderes en negocios críticos.

Aunque debo estar de acuerdo en que los desarrolladores mediocres están ahí fuera. Mi definición personal de un desarrollador mediocre es aquella que simplemente no posee un amplio conocimiento en muchas áreas aplicadas. Con eso quiero decir que solo han trabajado en software general (incluso en su tiempo libre) sin aventurarse a estudiar conceptos más específicos.

Considere a alguien que solo ha trabajado en aplicaciones .Net que hacen cosas bastante genéricas como analizar archivos y enviar correos electrónicos sobre el contenido de esos archivos. Es una herramienta necesaria por razones obvias y uno no debe ser menospreciado por trabajar en un proyecto tan simple.

Pero al mismo tiempo, si no se aplican para absorber otras áreas conceptuales de la informática, entonces solo han hecho lo que se les dice. Por ejemplo, ¿han estudiado el aprendizaje automático, incluso en coursera por diversión? ¿Han tomado cursos o están leyendo libros en reconocimiento de imágenes o recuperación de información? ¿Entienden el diseño de la memoria, las máquinas de estado o la construcción de un servidor desde cero? Si lo hacen, es probable que no sean expertos, pero es mucho más probable que tengan un impacto positivo en su producto que alguien que solo sabe lo que se les ha ordenado hacer. Los últimos son programadores mediocres en mi opinión.

Entonces, ¿dónde consiguen puestos de trabajo? Casi en cualquier lugar que necesite un trabajo aburrido estándar. ¿Donde es eso? Casi en cualquier lugar con más dinero que la desesperada necesidad de talento. El hecho es que hay toneladas de trabajos mediocres que hacer en la industria del software. Esto es todo, desde la evolución de algunos comportamientos hasta la corrección (o la comisión de nuevos errores) en errores enormes en el código existente.

Eso no quiere decir que en cualquier lugar con más dinero que la desesperada necesidad de talento no tenga desarrolladores talentosos. De hecho, se esfuerzan por conseguirlos, pero a veces aceptan la mediocridad porque de todos modos hay mucho trabajo mediocre que hacer. En general, a los buenos desarrolladores no les gusta trabajar en proyectos mediocres. Es frustrante y aburrido y deprimente. Pero los programadores mediocres no parecen sentirse así. Se les asigna una tarea, van a hacerlo, van a su casa a las 5 y no piensan nada de eso. Entonces, hay una relación simbiótica allí: los desarrolladores mediocres no se lamentarán de trabajar en las tareas mediocres que son necesarias, mientras que los desarrolladores fuertes se aburrirán y frustrarán fácilmente con tareas que no son intelectualmente desafiantes o tienen poco impacto en el producto.

Tendrías que definir qué hace que un programador sea mediocre primero.

Hoy en día, gran parte de la programación consiste simplemente en unir bibliotecas y arreglar los casos de borde resultantes.
No requiere un conocimiento profundo de los algoritmos o Matemáticas, pero aún así es complicado y requiere una gran cantidad de tiempo y depuración, y se hace mucho más fácil al tener experiencia haciendo lo mismo, usar el mismo idioma / plataforma durante años y Habiendo encontrado ya las trampas que pone.

Si define a un programador mediocre como alguien que no sabe suficientes Matemáticas o algoritmos y no puede resolver los puzzles de programación, todavía hay muchos trabajos que este programador puede hacer, que le darán valor a una empresa que lo emplee.
Podría ser un programador que no sienta curiosidad por las diferentes maneras de la que usa, que se especializa en un lenguaje, una plataforma. Aunque ese enfoque lo convertirá en un experto en esa plataforma, lo que puede ser útil al depurar áreas difíciles.

Hay un gran énfasis en ‘programador ninja’, ‘programadores de rockstar’, ‘programadores 10x’ hoy en día, pero en parte es impulsado por reclutadores en Silicon Valley que están cada vez más desesperados por atraer programadores a las compañías que los requieren, atendiendo a un ‘ Cultura de héroe que adula a los programadores y les obliga a trabajar más de 60 horas a la semana.

Es difícil y subjetivo medir el valor de un programador. Depende principalmente de lo que la persona que juzga cree que es lo más importante.

Ya sea el conocimiento de algoritmos, la velocidad de codificación, la respuesta a acertijos lógicos o el conocimiento de matemáticas, en la práctica ninguno de ellos le dirá nada sobre si el programador que está contratando resolverá los problemas de su compañía, a menos que haya resuelto los mismos problemas anteriormente.

Espero que no estés preguntando por ti mismo! Si es así, tal vez debería replantearse en qué lugar de su carrera se encuentra. Tal vez solo necesite una pequeña patada en el asiento de los pantalones para reavivar el fuego sobre el desarrollo de software. Es un espacio tan sorprendente e interesante que alguien esté “bien” con ser mediocre. Pero yo divago…

Como consultor, he estado en todo tipo de entornos: empresas de nueva creación que se mueven rápidamente a gigantes corporativos grandes. Normalmente veo al “programador mediocre” en los gigantes corporativos. Las tiendas pequeñas y las corporaciones que son las primeras en tecnología necesitan artistas en todos los ámbitos para mantener su velocidad alta. En contraste, las grandes compañías en las que la tecnología parece ser casi una idea posterior (no estoy diciendo que todas las grandes compañías valoren / utilicen la tecnología de esta manera), veo que los desarrolladores de software de bajo rendimiento, a veces incluso negativamente productivos, están navegando bajo el radar.

A veces estas personas acaban de perder el deseo de estar en un lugar que no nutre sus mentes. A veces simplemente no eran geniales para empezar.

Es fácil pensar que el mundo de la programación está dominado por grandes equipos que crean software que serán administrados por decenas de miles de personas, pero aún hay mucha programación que se está realizando en pequeñas empresas para sus necesidades particulares. Por lo tanto, si piensa que es mediocre porque no programa sistemas basados ​​en navegador con las herramientas más recientes (pero probablemente no las mejores), todavía hay un lugar para usted.

Por supuesto, si el trabajo que realiza en este entorno menos exigente es realmente mediocre, es posible que las cosas no le vayan bien. Pero aún hay esperanza. Es posible que encuentre un nicho utilizando herramientas de arrastrar / hacer clic / soltar simplificadas y algunos conocimientos de programación son útiles, pero la programación real es despreciable.

En grandes empresas que no pagan especialmente bien. Las pequeñas empresas no pueden permitirse el lujo de tener programadores de bajo rendimiento y las empresas que pagan bien pueden permitirse ser quisquillosas.