Cómo hacer una planificación de carrera para programadores
Elige la herramienta adecuada
JAVA, C#, PHP, C, VB... Hay más de 10 lenguajes de desarrollo populares, ¿cuál tiene mayor potencial de desarrollo? De hecho, un lenguaje de desarrollo es solo una herramienta. "En lugar de difundir el ataque, es mejor atacar con todas tus fuerzas, no importa qué lenguaje de desarrollo sea, siempre que lo estudies con todas tus fuerzas". Si tienes cierto grado de familiaridad, tienes que aprender otro. El idioma también es muy sencillo. Los lenguajes de desarrollo se dividen principalmente en tres categorías:
1. Desarrollo de redes
Ahora Internet se ha convertido en un puente para la comunicación mundial. Parece que la mayoría de los lenguajes de desarrollo. como Javascript, PHP y Ruby se utilizan para el desarrollo de redes
2 Desarrollo de software empresarial
JAVA, C#, VB y otros lenguajes de desarrollo han logrado el objetivo de desarrollo orientado a objetos y se utilizan con mayor frecuencia en el desarrollo de sistemas
3. Software del sistema
El lenguaje C, C y Objective-C se utilizan principalmente en el desarrollo de software del sistema y están integrados. desarrollo.
Por supuesto, esta clasificación no es absoluta. JAVA, C# y VB se utilizan a menudo en el desarrollo de sitios web dinámicos. El desarrollo integrado se utiliza en muchos proyectos de desarrollo. Se utilizan varios lenguajes de desarrollo en el mismo proyecto, cada uno de los cuales muestra sus puntos fuertes y se desarrolla simultáneamente. Pero cuando recién comienza, se recomienda que primero elija una herramienta de desarrollo adecuada para usted, "concéntrese en aprender y ataque con todas sus fuerzas".
Aclare la dirección del desarrollo
Cuando ya tenga cierta comprensión de un determinado lenguaje de desarrollo y comience a sentirse como un "zombi ambulante" y se convierta en una herramienta de desarrollo, entonces debería Necesita aclarar su dirección de desarrollo.
Por lo general, en la empresa, se puede ver que la mayoría de los desarrolladores que trabajan en la capa de interfaz de usuario tienen veintitantos años. Están llenos de energía y no tienen cargas familiares. Hace dos años, ASP.NET MVC. Silverlight, etc. recién lanzado. Cuando aparezcan, podrán comprar algunos libros cuando regresen a casa por la noche o navegar directamente por Internet. Después de tres o cinco semanas de investigación, ya tendrán una cierta comprensión de la tecnología que necesitan. para usar. La mayoría de las personas mayores de 30 años ya han formado una familia. Su única esperanza de ir a trabajar a las 9:00 todos los días es llegar a las 6:00 lo antes posible para poder ir a casa a cenar. Después de cenar, solo quiero jugar con mis hijos y mirar sus deberes, pero me faltan ganas de aprender nuevas tecnologías. Muchos programadores que se acercan a los 30 años tienen una sensación de compulsión (incluyéndome a mí cuando tenía 30 años). En este momento, debe aclarar sus objetivos y esforzarse por avanzar en su propia dirección de desarrollo. En resumen, puede elegir el camino que más le convenga entre los siguientes elementos:
1. Transición de la tecnología a los negocios
En el extranjero, muchos países desarrollados conceden gran importancia a los talentos. senior La diferencia de ingresos entre un programador y un Project Manager generalmente no supera el 15%. (Nota: con respecto a la brecha de ingresos, consulte esta información "Encuesta salarial de empleados de TI de EE. UU. en 2011" informada por Bole Online. Algunos incluso superan la de los gerentes de proyectos). Sin embargo, China es el país más poblado del mundo y tiene Por lo tanto, a menudo se puede ver el abuso de talentos. A menudo se ven caras nuevas en el departamento de desarrollo de una pequeña empresa, pero los PM no cambian con frecuencia. Debido a que los jefes no saben nada de tecnología, en su opinión, mientras se ganen el corazón del primer ministro, pueden manejar los aspectos técnicos. En cuanto al reemplazo de personas en el departamento técnico, no necesitan preocuparse por cuidarlo. en absoluto. Por lo tanto, la transición de técnico a PM es una opción para seguir adelante, pero los desarrolladores también deben saber que convertirse en PM no se trata solo de utilizar la tecnología, sino, más importante aún, de comprender el aspecto de gestión. El trabajo principal de un PM es organizar un equipo, controlar costos, gestionar negocios, controlar el progreso del proyecto, comunicarse con los clientes, coordinar el trabajo y realizar informes de trabajo periódicos, etc. Por lo tanto, para convertirse en un PM exitoso, debe prestar más atención a las capacidades organizacionales. El PM debe poder aumentar el entusiasmo del equipo, aprovechar al máximo las fortalezas del equipo y maximizar las ganancias de la empresa bajo la premisa de recursos de desarrollo limitados. .
Después de convertirse en PM, generalmente no es necesario tener contacto directo con el desarrollo técnico, sino centrarse en la gestión del desarrollo empresarial. Sin embargo, los PM también deben tener cierta comprensión de la tecnología (una vez escribí un artículo sobre la necesidad de que los PM comprendan). de tecnología, y obtuvo mucha información respaldada pero también causó mucha controversia). Aquí todavía quiero enfatizar mi punto de vista: para ser un PM exitoso, lo más importante es la capacidad de gestión, pero también debes tener suficiente conocimiento de la tecnología, porque este es el puente para comunicarse con los miembros del equipo, y solo en este ¿Cómo puede comunicarse con todos los miembros del equipo? Existe una estrecha integración que permite a los miembros del equipo sentir la importancia de su propia existencia, movilizando así el entusiasmo del equipo en lugar de ignorar la existencia del personal técnico. La tecnología no es una condición suficiente para convertirse en un PM exitoso, ¡pero es una condición necesaria!
2. Desarrollo desde programador hasta dirección técnica
De hecho, las responsabilidades de un Team Leader son similares a las de un Project Manager, pero el Team Leader se centra más en el desarrollo técnico. Por lo general, un proyecto grande tendrá un Los dos equipos de desarrollo están dirigidos por el líder del equipo y son responsables de desarrollar las partes principales, mientras que otras partes se asignan a diferentes grupos de desarrollo o a empresas de subcontratación. Hay algunas frases que se ven a menudo en Internet que describen acertadamente la diferencia entre PM y TL: "A los técnicos les gusta que los guíen; pero no les gusta que los gestionen, y no les gusta que los conduzcan o dirijan como ganado". Los gerentes obligan a las personas a obedecer sus órdenes. El líder los llevará a trabajar juntos. La gestión es objetiva y no tiene emociones personales. Supone que las personas que dirigen no tienen pensamientos ni sentimientos y se les dice qué hacer y cómo hacerlo. . El liderazgo es liderar y guiar, e inspira. El liderazgo es profundamente personal y no puede ser algo que se pueda controlar, ni se puede medir, evaluar o probar."
Si lo es. PM o TL, se trata de negocios y tecnología. Ambos requieren una comprensión profunda, pero PM se centra más en la gestión empresarial, la rentabilidad, el riesgo, etc., mientras que TL se centra en cuestiones técnicas como el costo del proyecto, la dificultad de desarrollo y la arquitectura del software. etc. A los ojos de algunas personas, la tecnología y la gestión son como el pez y la garra de oso, no se pueden tener ambas, pero desde mi perspectiva, las dos son inseparables e inseparables. Siempre que mejore su comprensión de la tecnología y la gestión de manera oportuna y continúe desarrollándose a un nivel más profundo, es solo cuestión de tiempo antes de que lo asciendan de programador a gerente técnico. Por ejemplo, un programador .NET normal puede estar limitado al desarrollo de páginas ASP.NET al principio, pero una vez que desee desarrollar, naturalmente desarrollará interfaces de usuario como ASP.NET MVC, Silverlight, WinForm y WPF. Si está interesado en las técnicas, no lleva mucho tiempo aprenderlas. Es posible que se dé cuenta de que estos desarrollos de UI son solo algunas herramientas. De hecho, no hay diferencia en los principios de desarrollo. Luego aprenderá sobre los modos de comunicación más profundos y conocerá los métodos de comunicación más utilizados, como TCP/IP, servicio web, WCF y comunicación remota. En este momento, es posible que ya sienta que tiene una mejor comprensión de la tecnología de desarrollo. Luego pase a niveles superiores, como flujo de trabajo, patrones de diseño, diseño orientado a objetos, diseño impulsado por dominios, desarrollo orientado a servicios, etc., y finalmente conviértase en un líder tecnológico. Lo anterior es solo una metáfora, pero cabe señalar que durante el período de aprendizaje, se debe prestar atención a la comunicación con los colegas. A muchos desarrolladores les gusta trabajar solos y siempre quieren completar los proyectos de desarrollo solos sin interferencias del mundo exterior. Pero debes entender que incluso si tienes grandes habilidades, no puedes manejar un proyecto de gran escala por ti mismo. Por lo tanto, la cooperación en equipo y la comunicación entre colegas son necesarias, que también son condiciones necesarias para una TL exitosa.
3. Desarrollo unilateral hacia la tecnología
Los talentos de vanguardia que pueden desarrollar tecnología con éxito son los trabajos más deseables para mí, pero no tienen la capacidad de ascender a esta posición. Muchas personas que se dedican al desarrollo creen que el negocio siempre huele a dinero. Al jefe nunca le importa si el desarrollo cumple con los principios de desarrollo y si ha pasado las pruebas necesarias. Sólo se jactarán sin cesar ante los clientes de que el proyecto tendrá éxito. fecha de entrega, siempre y cuando no haya mayores problemas, el proyecto se considerará un éxito.
De hecho, también debemos entender: el objetivo final del desarrollo de un proyecto es ganar dinero, y también es necesario limitar los costos del proyecto y controlar la eficiencia durante el proceso de desarrollo, por lo que los gerentes deben administrar el proyecto. Pero los desarrolladores también quieren evitar este "ajetreo del dinero" y dedicarse de lleno al mundo de la tecnología. Por lo tanto, las personas que tienen un gran interés en la tecnología a menudo estudian una determinada tecnología en profundidad y se convierten en élites técnicas. Pero permítanme hacer una declaración desalentadora: China ya pertenece al aliado de la segunda economía más grande del mundo, pero su PIB proviene principalmente de industrias procesadoras de terceros. Se puede decir que China es rica en talentos, pero está por detrás de los países desarrollados en industrias de alta tecnología. Es cierto que en los últimos años hemos visto un salto cualitativo en la alta tecnología en nuestro país, pero aún queda un largo camino por recorrer en comparación con los países desarrollados de Europa y Estados Unidos. Por tanto, es innegable que es más difícil convertirse en un talento tecnológico de vanguardia en China que en el extranjero. Desde mi punto de vista, si desea convertirse en un desarrollador de vanguardia, debe tener un conocimiento profundo de las tecnologías subyacentes como C, C, lenguaje ensamblador, desarrollo integrado, API de Windows y API de Linux. Debes saber que la razón por la que JAVA, .NET, etc. se denominan lenguajes de desarrollo de alto nivel no significa que sean más avanzados que C, C y el lenguaje ensamblador, sino que encapsulan las funciones de C, C. , etc. y son más adecuados para su uso para el desarrollo de software empresarial, lo que simplifica el desarrollo. Pero si desea desarrollar software de bajo nivel o sistemas a gran escala, debe utilizar lenguajes de desarrollo como C, C y ensamblador. Esta es una condición para que los talentos de vanguardia tengan éxito.
Determinar metas futuras
La gente crece a partir de la experiencia Los antiguos decían: Tener treinta años no describe el estatus social o los recursos financieros de una persona, sino que describe las metas para el futuro. intenciones para la vida. Para convertirse en una persona exitosa, debe fijarse objetivos de desarrollo a largo plazo lo antes posible, y lo mismo debe aplicarse a usted como desarrollador. Como las personas tienen diferentes personalidades y orientaciones, los caminos que eligen también son diferentes:
1. Crea tu propio negocio y comienza un negocio con valentía
Con casi 30 años, Mucha gente creerá que si realmente quiere ganar dinero, debe crear su propio negocio y establecer una base para su propio negocio. En ciudades de primer nivel como Beijing, Shanghai y Guangzhou, si desea comprar una casa, el precio de construcción de primera mano será básicamente de entre 20.000 y 40.000 yuanes por metro cuadrado. Una empresa de TI ordinaria, su ingreso básico será generalmente de unos 15.000 yuanes ~ 30.000 (a menos que trabaje en una gran empresa multinacional, eso es otra cuestión para comprar una casa de unos 100 metros cuadrados, incluso si no come ni bebe). , todavía necesita casi 10 años de salario anual, por lo que elegir iniciar su propio negocio es un objetivo futuro para muchos desarrolladores de TI. Si desea lograr este objetivo, debe centrarse más en los negocios. Una cosa que es innegable es que en la sociedad china a menudo se habla de "relaciones". Aunque los 30 años de reforma y apertura han permitido que la economía de China se desarrolle vigorosamente, las tendencias nocivas que quedaron durante miles de años no pueden erradicarse por completo. . Por lo tanto, si desea iniciar un negocio, se recomienda que establezca buenas relaciones con los clientes y mantenga un modelo de interacción mutuamente beneficioso con los socios, lo que será beneficioso para el desarrollo de su carrera en el futuro.
2. Retírese con valentía y pase a un segundo plano
Esta también es la elección de muchas personas. Muchas personas sienten demasiada presión después de tener una familia. La vida de una persona no es sólo una carrera. Quieren dedicar más tiempo a cuidar de sus seres queridos y de sus hijos. Por lo tanto, muchas personas elegirán trabajos como análisis de sistemas, mantenimiento de sistemas, profesores universitarios y profesores universitarios profesionales. Los ingresos son estables y, a menudo, hay menos presión que los desarrolladores de primera línea.
3. Haga esfuerzos incansables para seguir avanzando
Ya sea gerente de proyecto o líder de equipo, si desea continuar avanzando al siguiente nivel, seguirá siendo el mismo. polarizador. Desde un PM hasta la dirección de una empresa, los acontecimientos a los que te enfrentes cambiarán mucho. El director general de una empresa ya no tiene que gestionar los costes de uno o dos proyectos, sino las operaciones de todo el departamento y los procesos de negocio de toda la empresa, por lo que las tareas que tendrá que asumir serán más pesadas. Una vez tuve un jefe, el Dr. Peng. Era el máximo líder de la empresa, con un salario anual de más de tres millones y también había aparecido en periódicos y revistas.
Por lo general, sólo aparece de vez en cuando en determinadas reuniones y pronuncia algunos discursos. No está obligado a llevar a cabo directamente las operaciones normales de la empresa ni la gestión empresarial. Esto no significa que un directivo esté muy relajado, porque tiene que afrontar más relaciones sociales y vínculos con las empresas cooperativas de la empresa. Esto es muy diferente del trabajo de un PM, por lo que si desea ser ascendido de PM a un nivel gerencial, requerirá más esfuerzo y sudor.
Si quieres ascender de Líder de Equipo a Director Técnico, la dirección de tu trabajo también cambiará. Como se mencionó anteriormente: un TL puede prestar más atención al nivel técnico, la interacción y cooperación con el equipo y la mejora del desarrollo. Un director técnico no necesita participar directamente en el desarrollo de un determinado proyecto, sino que se centra en la eficiencia y los resultados del desarrollo, cómo utilizar racionalmente los recursos de desarrollo limitados y controlar los riesgos y posibles efectos del desarrollo.