Primero déjame contarte mi situación. Soy programador, pero como tengo poca energía, quiero cambiar de trabajo. A continuación se muestra mi situación específica.
Consejos para aficionados a la programación
Últimamente mucha gente me ha preguntado si es mejor aprender Vb o C. Algunas personas me han preguntado cuál es mejor, Vc o C Builder. Otros han dicho: Siempre que esté orientado a objetos, es bueno, por lo que C y Java tienen más futuro. Basándome en mis muchos años de experiencia en educación informática, quiero decirles a estos entusiastas de la programación que, sin duda, es un error simplemente perseguir ciegamente el aprendizaje del llamado lenguaje de programación más avanzado (de hecho, no existe uno óptimo) e ignorar la programación. Ideas y conocimientos básicos. Aprende tabúes de programación.
Tome la orientación a objetos como ejemplo. La gente está llena de elogios cuando se trata de ello. Sin embargo, creo que ¿cuántas personas entienden lo que es el pensamiento orientado a objetos si no hay personas que realmente lo hayan hecho? grandes proyectos. Es difícil apreciar su superioridad, que no se puede dominar aprendiendo C o Java. Lo que quiero decir es que la programación se centra en las ideas en lugar del lenguaje. Es por eso que los estudiantes de informática tienen que ofrecer "Análisis de algoritmos" y "Estructura de datos". Si te sumerges en un determinado lenguaje, sin duda te convertirás en un capullo y limitarás tu propio pensamiento. Para hacer una mala analogía, la naturaleza del trabajo de un programador no es diferente de la de un trabajador migrante, que simplemente coloca ladrillos, mientras que un verdadero talento informático debería ser un diseñador o un ingeniero.
Algunos de los trabajos informáticos más destacados en el extranjero están escritos por expertos en campos como la biología y la química. Creo que esto se debe a que nunca antes habían estudiado informática y no están sujetos a ciertos puntos de vista tradicionales. Desde una perspectiva macro, el problema ha logrado un gran avance en el pensamiento, que es digno de nuestra profunda reflexión.
Programadores reales (repost)
Ser un programador verdaderamente calificado, o un programador que realmente pueda calificar para completar algún trabajo de código, debe tener las cualidades.
1: Espíritu de equipo y capacidad de colaboración
Tomar esto como una cualidad básica no deja de ser importante, al contrario, es lo más básico e importante que deben tener los programadores. base para establecerse y establecer una vida. Cualquiera que llame solitarios a los programadores de alto nivel está diciendo tonterías. El poder de cualquier individuo es limitado. Incluso un genio como Linus necesita formar un equipo fuerte para crear milagros. el espíritu de colaboración entre los maestros. Los Llaneros Solitarios pueden ganar dinero con un pequeño software y una pequeña fortuna, pero una vez que ingresan a los equipos de I + D de algunos sistemas grandes y entran en tareas de comercialización y desarrollo de productos, las personas que carecen de esta cualidad quedan completamente descalificadas.
2: Hábitos de documentación
Cualquiera que diga que los programadores de alto nivel nunca escriben documentos es definitivamente un niño ingenuo. La buena documentación es un vínculo muy importante en el proceso formal de investigación y desarrollo. Como programador de código, es normal dedicar el 30% de su tiempo de trabajo a escribir documentación técnica, pero como programador senior y analista de sistemas, esta proporción es mucho mayor. Sin documentación, un sistema de software carece de vitalidad y encontrará grandes problemas en futuras soluciones de problemas, actualizaciones y reutilización de módulos.
3: Hábitos de escritura de código estandarizados y estandarizados
Según las reglas de algunas empresas de software extranjeras conocidas, la denominación variable del código, el formato de comentarios dentro del código e incluso la longitud de la sangría de las líneas anidadas Existen regulaciones claras sobre el número de líneas en blanco entre funciones y funciones. Los buenos hábitos de escritura no solo ayudan con el trasplante de código y la corrección de errores, sino que también facilitan la colaboración entre el personal técnico. Algunos fanáticos de la codificación afirman que nadie más puede entender el código escrito por programadores de alto nivel. Este tipo de clamor solo demuestra que ellos mismos no son dignos de llamarse programadores. El código tiene buena legibilidad, lo cual es un requisito de calidad básico para los programadores. Si observamos toda la construcción de Linux, sin hábitos de codificación estandarizados y estandarizados, la colaboración global en I + D es absolutamente inimaginable.
4: Capacidad de comprensión de requisitos
Los programadores necesitan comprender los requisitos de un módulo. Muchos niños tienden a centrarse solo en un requisito funcional cuando escriben programas. hardware, sistema operativo y entorno de desarrollo, ignorando las consideraciones de rendimiento del propio código. Alguien dijo una vez que escribir un programa de intercambio publicitario es muy simple, estas personas nunca saben cómo lograr indicadores de rendimiento en condiciones de millones o incluso decenas. Millones de visitas. Para un programador así, si le proporciona el sistema de Deep Blue, no podrá lograr las capacidades de acceso paralelo de Tai Chi Chain. Entre los indicadores de requisitos de rendimiento, la estabilidad, las capacidades de soporte de acceso y la seguridad son importantes. Como programador, debe evaluar el entorno en el que operará el módulo en el sistema, la presión de carga a la que estará sujeto y diversos potenciales. peligros y posibilidades de ataques maliciosos. En este sentido, un programador maduro necesita al menos 2 o 3 años de experiencia en desarrollo y seguimiento de proyectos para poder adquirir experiencia.
5: Reutilizabilidad, capacidad de pensamiento modular
A menudo se escucha que algunos programadores tienen este tipo de quejas después de escribir programas durante varios años, se han convertido en trabajadores calificados y trabajan duro todos los días. Es escribir código repetidamente sin ninguna idea nueva. Este es en realidad el mayor desperdicio de talentos de software chinos. Algunas tareas repetitivas se han convertido en el trabajo principal de los programadores expertos y, en realidad, son completamente evitables. El diseño de reutilización y el pensamiento modular requieren que los programadores piensen más al completar cualquier módulo funcional o función, no se limiten a la simple idea de completar la tarea actual, si el módulo puede existir sin este sistema. Puede hacer referencia directamente a otros sistemas y entornos de aplicaciones simplemente modificando los parámetros, de modo que el trabajo de desarrollo repetitivo se puede evitar en gran medida. Si una unidad de desarrollo de software y un grupo de trabajo pueden considerar esto en cada proceso de desarrollo. Con estos problemas, los programadores no perderán demasiado tiempo. en trabajos repetitivos y tendrán más tiempo y energía para invertir en trabajos de código innovadores. Algunos buenos códigos de módulos de programas, incluso si fueron escritos en la década de 1970, pueden usarse muy bien como módulos funcionales en algunos sistemas hoy en día, pero lo que veo ahora es que el software de muchas pequeñas empresas cambia fácilmente tan pronto como se actualiza o mejora. Se reescribió todo el código y la mayor parte del trabajo repetitivo fue una pérdida de tiempo y energía.
6: Hábitos de prueba
En cuanto al desarrollo comercial y formal, los ingenieros de pruebas a tiempo completo son indispensables, pero esto no significa que haya ingenieros de pruebas y programadores a tiempo completo. No es necesario realizar una autoprueba; el desarrollo de software es un proyecto; una característica muy importante es que cuanto antes se descubra el problema, menor será el costo de resolverlo. Los programadores deben revisar cuidadosamente cada fragmento de código y cada subcomprobación. módulo una vez finalizado. A través de las pruebas, puede intentar descubrir y resolver algunos problemas potenciales lo antes posible, para tener la mayor garantía de eficiencia y confiabilidad de la construcción general del sistema. El trabajo de prueba en realidad necesita considerar dos aspectos. Por un lado, es la prueba de llamadas normales, es decir, ver si el programa puede completar funciones básicas en llamadas normales. Desafortunadamente, esta es la responsabilidad de prueba más básica. Para las empresas, esta se ha convertido en la única tarea de prueba. De hecho, está lejos de ser eso. El segundo aspecto es la prueba de llamadas anormales, como la prueba de estabilidad bajo carga de alta presión, la prueba bajo posible entrada anormal del usuario y el impacto de. el módulo en caso de falla parcial del sistema general, pruebas de estabilidad del módulo cuando solicitudes anormales frecuentes bloquean recursos, etc. Por supuesto, los programadores no necesitan realizar pruebas tan completas en cada parte de su código, pero los programadores deben comprender claramente el estado de sus tareas de código en el proyecto general y los diversos requisitos de rendimiento, llevar a cabo pruebas relevantes de manera específica e identificar y Resolver problemas lo antes posible requiere las habilidades de comprensión de los requisitos mencionados anteriormente.
7: La capacidad de aprender y resumir
Los programadores son una profesión donde los talentos pueden eliminarse fácilmente y quedarse atrás, porque una tecnología puede ser líder solo en tres o dos años. Los programadores quieren ganarse la vida, deben mantenerse al día constantemente con las nuevas tecnologías y aprender nuevas habilidades. Ser bueno aprendiendo es una motivación necesaria para progresar en cualquier profesión. Para los programadores, este requisito es aún mayor.
Pero también es necesario encontrar el objetivo adecuado para aprender. Algunos pequeños fanáticos de la codificación también hablan de su capacidad de aprendizaje. Aprendieron asp, php y jsp por un tiempo. Usan esto como capital para presumir y lo persiguen a ciegas. cosas y sustantivos superficiales, no comprenden los protocolos de transmisión de comunicaciones al crear programas de red y no comprenden el procesamiento de vectores de interrupción al crear dicho personal técnico, sin importar cuántas de las llamadas palabras nuevas hayan dominado.
En otras palabras, nunca habrá una mejora cualitativa.
Ser bueno resumiendo también es una manifestación de la capacidad de aprendizaje. Cada vez que completa una tarea de investigación y desarrollo o un fragmento de código, debe realizar un seguimiento intencionado del estado de la solicitud y los comentarios de los usuarios del programa, resumir en. en cualquier momento, y encuentre el suyo Insuficiente, solo mejorando gradualmente de esta manera un programador podrá crecer. Incluso si un programador no tiene la capacidad de crecer, incluso si en este momento parece ser un maestro, se recomienda no elegirlo, porque llegará el momento en que se quedará atrás. Se debe decir que las personas que tienen todas las cualidades anteriores son programadores calificados. Tenga en cuenta que las cualidades anteriores no están determinadas por el coeficiente intelectual y no se pueden aprender en algunos libros de texto universitarios. Lo que se necesita es que los programadores tengan una buena comprensión. ellos mismos. La comprensión del trabajo es una cuestión de conciencia.