Red de conocimiento informático - Espacio del host - Tengo 35 años, ¿puedo seguir siendo programador?

Tengo 35 años, ¿puedo seguir siendo programador?

Parece ser un hecho indiscutible que los programadores chinos no pueden tener más de 35 años. Sin embargo, es diferente en países extranjeros. Hay muchas personas que todavía están trabajando en el desarrollo entre los 40 y los 50 años. ¿Existe tal diferencia?

En China, parece un hecho indiscutible que los programadores no pueden tener más de 35 años. El trabajo de desarrollo de software es solo un trabajo para jóvenes, como máximo, depende de los diez años posteriores a la graduación. Si supera esta edad, no tendrá éxito en su carrera. Para convertirse en gerente, parece que no hay mejor opción que cambiar de carrera e ingresar a otros campos. Incluso aquellos que ocasionalmente continúan desarrollándose son considerados un tipo diferente. gente. Este no es el caso de los extranjeros. Hay muchas personas que todavía están haciendo trabajos de desarrollo entre los 40 y los 50 años. Incluso muchas personas talentosas, incluido Robber, que ganó el premio Compaq Best Software, todavía están inmersos en el trabajo de codificación que le gusta. ¿Es tan diferente? Lo pensé detenidamente, especialmente porque participé en demasiadas capacitaciones técnicas este año y básicamente llegué a algunas conclusiones.

En primer lugar, la naturaleza del trabajo de desarrollo de software nacional determina todo esto. El contenido técnico real del desarrollo de productos que hacemos no es muy alto. Los estudiantes que se gradúan de colegios y universidades básicamente pueden dominar estas habilidades después de varios años de capacitación y práctica. Sin embargo, nuestro nivel actual de desarrollo y diseño de productos es limitado, y nuestra comprensión del desarrollo de software se limita a requisitos básicos como la codificación y la finalización de funciones. El progreso del producto es la primera fuerza impulsora, especialmente para algunas empresas pequeñas, que consideran el desarrollo rápido de productos como una tarea. su principal objetivo es la calidad del diseño del software, y rara vez se consideran atributos importantes de calidad del software, como la capacidad de mantenimiento y la escalabilidad. Las funciones y el progreso solo se persiguen. Los productos se diseñan y codifican lo más rápido posible, con pocas o ninguna prueba. se entregan directamente al cliente. Cuando los clientes exponen varios problemas, los desarrolladores comienzan a resolverlos continuamente para los clientes. Al final, muchas personas caerán en la "trampa" que constantemente excavan y de la que no pueden salir: encontrarán errores en sistemas complejos, los resolverán, agregarán funciones, introducirán nuevos errores y luego los resolverán de una manera nunca antes vista. En el círculo vicioso, están involucrados en un trabajo de desarrollo de bajo nivel y su comprensión del desarrollo de software no puede alcanzar un nivel superior. Están cansados ​​​​de apagar incendios y parchear desesperadamente todos los días, y el costo del software. el mantenimiento sigue siendo alto; incluso si finalmente se deshacen de esto. Mala suerte: el proyecto finaliza y el mismo proceso se repite la próxima vez que se desarrolle el software.

Estos interminables trabajos de desarrollo y mantenimiento de bajo nivel consumirán toda la pasión y energía de una persona a medida que aumenta la edad, el entusiasmo y la fuerza física se debilitarán. Sin embargo, mientras los graduados hayan superado estos trabajos, la formación también puede hacerlo. hacerse de manera competente. Con graduados baratos y entusiastas compitiendo, los viejos programadores cansados ​​inevitablemente enfrentarán una mayor presión competitiva. Al final, incluso ellos mismos perderán interés en el desarrollo de software e incluso se aburrirán. Para un modelo de desarrollo tan rápido, ¿existe una gran diferencia entre diez años de experiencia en desarrollo y cinco años de experiencia en desarrollo? ¿Por qué no utilizar un desarrollador más barato?

Otra razón es que los chinos siempre hemos tenido una mentalidad de orientación oficial. Los desarrolladores siempre se encuentran en una posición incómoda. Parece que están involucrados en trabajos técnicos de alto nivel y parece que están "orientados a las personas". Sin embargo, ¿cuántos gerentes de negocios realmente valoran y reconocen a los desarrolladores, incluso si tienen una? ¿Maestría o doctorado? Frente a "grandes funcionarios y pequeños funcionarios", la gente es simplemente trabajadores comunes y corrientes. Los programadores son una industria sin futuro, no importa cuán alto seas y cuán poderoso seas, sigues siendo solo un trabajador. La única salida es convertirte en un líder y pasar a la administración. El estatus no aumentará, solo puede enfrentar el destino de ser eliminado.

En realidad, la razón de este problema es que China siempre ha tenido una comprensión errónea del desarrollo de software. Si el desarrollo de software se trata solo de escribir código y encontrar errores, se puede decir que de hecho está realizando algunos comportamientos de software de bajo nivel. Un desarrollador que lleva diez años trabajando no es necesariamente mejor que una persona que lleva tres años trabajando. De todos modos, es un trabajo sencillo y repetitivo, y una persona que ha trabajado durante tres años puede hacerlo igual de bien. y tiene mayor entusiasmo y energía.

Si la industria del software quiere desarrollarse, debe salir de este círculo vicioso, pasar a un campo superior y reentender el desarrollo de software. Debemos comprender que el desarrollo de software debe incorporar el pensamiento de ingeniería, tener un alto grado de capacidad de diseño y prestar atención a más atributos de operación del software y atributos de calidad del diseño. Para el mismo sistema, diferente personal de software producirá software completamente diferente. Un equipo de desarrollo formal y eficiente no sólo es decenas de veces más eficiente que un equipo de desarrollo de guerrilla.

El desarrollo de software no sólo debe centrarse en funciones y rendimiento, sino también estudiar atributos de calidad como la mantenibilidad y la escalabilidad; no sólo debe centrarse en el código, sino también en el diseño, la reutilización, etc. El desarrollo de software no puede consistir simplemente en escribir código en lenguaje C, la revisión por pares, la capacitación y el aprendizaje son cualidades básicas de los desarrolladores y los medios más básicos para mejorar la calidad del software, por ejemplo, si las pruebas unitarias se realizan bien, pueden mejorar enormemente. la eficiencia del desarrollo, la reducción de los costos de mantenimiento del software y la liberación de los desarrolladores pueden permitir que los desarrolladores se comuniquen más y controlen estrictamente la calidad del software durante las etapas de capacitación de diseño y codificación. Es la mejor manera de mejorar su propio nivel técnico y mejorar teóricamente. Ahora básicamente se ignoran todos estos comportamientos de calidad importantes, que es exactamente la mejor manera de salir del desarrollo de bajo nivel. Al mismo tiempo, están el diseño y desarrollo de nivel superior, la reconstrucción de software, la modularización, la arquitectura del sistema, la construcción de una plataforma de software unificada, la medición de la calidad del software, etc. Con la refactorización, escribirá software con buena legibilidad y mantenibilidad, e incluso mejorará sus capacidades de diseño de software y reducirá la posibilidad de errores; la modularización permite que el software se reutilice en la mayor medida y mejora la eficiencia y la calidad del desarrollo del software. Determina el destino del software desde un nivel técnico, y hay demasiadas tecnologías, patrones de diseño, planificación de software, etc. para permitir que el desarrollo de software pase del nivel de codificación al nivel de diseño para construir software unificado. La plataforma es el camino inevitable para productos grandes y en serie. Medir la calidad del software hará que nuestro desarrollo de software sea más transparente y claro, lo que nos permitirá comprender más claramente el proceso de desarrollo de software y controlarlo desde todos los aspectos, en lugar de depender simplemente de la conciencia perceptiva para solucionarlo al final.

Es imposible que una persona posea plenamente todos los conocimientos anteriores, incluso si estudia diligentemente durante toda su vida. 35 años no es nada, no es tarde para llegar a los 70 años. Por supuesto, debes amarlo de verdad y seguir aprendiendo y mejorando. Por lo tanto, los desarrolladores de software tienen demasiadas cosas que hacer. El software es realmente un gran proyecto mental. Incluso puede hacer que la gente piense que esta es la industria con la relación entrada/salida más baja porque hay mucho conocimiento que aprender. en constante aprendizaje y actualización a cada momento. Ahora que lo has elegido, ahora que te gusta, debes invertir en él y disfrutarlo. Lo más importante es que nosotros mismos seamos capaces y dispuestos a darnos cuenta de esto, salir del círculo vicioso del desarrollo de bajo nivel y pasar a un nivel superior.

Al mismo tiempo, debemos darnos cuenta de que el papel de un desarrollador senior no es menor que el de un gerente. Las empresas inteligentes deben darles el mismo trato y hacer del cultivo y reserva de talentos técnicos senior la prioridad. Enfoque de las empresas de alta tecnología en la dirección del desarrollo, sólo de esta manera las empresas podrán acumular talentos continuamente y los desarrolladores senior podrán formar equipos de desarrollo eficientes para desarrollar software eficiente y de alta calidad, lo que permitirá a las empresas ganar en la feroz competencia. Debe comprender que no todo el mundo es apto o está dispuesto a pasar a la gestión. Muchas personas son aptas para el trabajo de desarrollo. Pueden profundizar y convertirse en expertos. Deben aprovechar al máximo sus habilidades y hacer que todo el equipo funcione de manera eficiente.

Entonces, los desarrolladores no tienen solo 35 años. Mientras estés dispuesto, puedes desarrollarte toda la vida y obtener más felicidad de ello.