Como dice el refrán, siempre es mejor tener un mal plan que ningún plan en absoluto. Un poco de una declaración discutible tal vez. Pero si estás aprendiendo a programar y deseas convertirte en un programador profesional y tener una carrera larga y fructífera, sin duda necesitas un plan. Y no estamos hablando del plan de estudios, que también es importante y que se trató en un artículo anterior . Si desea tener una carrera exitosa en la codificación, necesita un plan de carrera, y tenerlo bien desde el principio puede ahorrarle años de tiempo que, de otro modo, pasaría moviéndose en la dirección equivocada o estancado desde el punto de vista profesional.Ascienda, gane mucho dinero y rompa el techo de cristal.  Consejos para hacer un buen plan de carrera de programación - 1Así que hoy vamos a hablar sobre la planificación de carrera en el desarrollo de software. Qué tener en cuenta al hacer un plan, cuáles son los errores más comunes y con qué anticipación debe mirar en su planificación. Con algunos consejos y especulaciones sobre el tema de desarrolladores de software experimentados.

Lo que debe estar en su plan de carrera de desarrollo de software

1. Aprendizaje y superación personal.

Como dijimos en los artículos de CodeGym muchas veces antes, el aprendizaje es prácticamente una parte integral de la programación como profesión. Y el aprendizaje no se detiene cuando completó un curso de Java, por ejemplo, y consiguió un trabajo de tiempo completo como desarrollador de Java. Si desea tener una carrera larga y exitosa en el desarrollo de software, nunca debe dejar de aprender y debe ser parte de su plan de carrera.

  • Qué aprender

Escriba todos los lenguajes de programación, marcos, bibliotecas y tecnologías que le gustaría aprender para mejorar como desarrollador de software. Vuelva a revisar esta lista de vez en cuando, agregando cosas nuevas o eliminando partes que ya no son relevantes para su carrera.

  • Cuándo y cuánto tiempo aprender.

Otra cosa en la que enfocarse en la parte de aprendizaje de su plan de carrera es el tiempo y el horario. Especifique qué va a estudiar y cuánto tiempo, manténgalo al tanto para asegurarse de cumplir con el plan.
Aprender a programar y aprender un lenguaje de programación son dos cosas distintas. Un gran desarrollador tiene la capacidad de identificar problemas y concebir soluciones inteligentes. Los grandes desarrolladores tienen la capacidad de comprender lenguajes, marcos y una variedad de herramientas de programación, pero cualquier problema debe resolverse en abstracto. A los desarrolladores que han perfeccionado las habilidades básicas de programación les resulta fácil identificar puntos en común. Por ejemplo, una vez que un desarrollador entiende que PHP y Javascript son lenguajes orientados a objetos que utilizan funciones de primera clase, pueden aprender fácilmente un lenguaje tras otro”, dijo Andrei Petrik, un programador experimentado y CEO de NetHunt .

2. Objetivos profesionales.

La segunda cosa importante que debe ser parte de su plan de desarrollo profesional son las metas profesionales. Saber lo que quieres y hacia dónde vas ayuda a progresar más rápido. Piense en sus objetivos profesionales a corto y largo plazo y decida cuál debe ser su enfoque principal en cada etapa de la carrera. ¿Es aprendizaje y desarrollo profesional o un salario más alto? Es natural buscar ambos, pero muy a menudo hay que elegir lo que es más importante en un momento dado. Este es un buen comentario sobre los objetivos profesionales de los ingenieros de software de Jon Hayes, un tecnólogo e ingeniero civil de EE. UU.:
“No importa cuál sea el título, quieres ser el arquitecto de la solución. El Gran Mago. La persona que piensa en la solución total y diseña todas las piezas de conexión. Quieres ser a quien todos acuden, el que tiene todas las respuestas, todas las ideas, todas las soluciones. Aprendí esto desde mis primeros días en la ingeniería civil. Había cientos de ingenieros trabajando en este proyecto, pero había un tipo al que todos escuchaban. Su mente no funcionaba de la misma manera que los demás, solo soñaba cosas. Mi objetivo siempre fue ser el único chico. El que podía resolver cualquier cosa, diseñar cualquier cosa, depurar cualquier cosa de una manera diferente a todos los demás. Si pensara que tendría mejores ideas al conocer el hardware, lo aprendería. Si pensara que necesitaba entender las finanzas para codificarlo, lo aprendería.

3. Trayectoria profesional.

Una de las mejores cosas de ser un desarrollador de software es que se necesitan programadores en diferentes industrias para producir varios tipos de productos, y puede elegir exactamente qué le gustaría desarrollar y en qué sector del mercado. Por ejemplo, un codificador puede desarrollar aplicaciones móviles, soluciones empresariales, videojuegos, programas de escritorio, sitios web y páginas de Internet (desarrollo web), soluciones IoT, etc. Todas estas son trayectorias profesionales y sería bueno que decidieras dónde te gustaría. para pasar su carrera desde el principio. Por supuesto, no es necesario que te limites a una sola opción, y eres libre de tomar un camino diferente después de un tiempo si te apetece.
“La mejor forma de predecir el futuro es creándolo” - Abraham Lincoln. No te fuerces a carreras o ciertas especificaciones en las que claramente no quieres trabajar. Si alguna vez tuviste la pasión por desarrollarte, ve y recupérala. Haz las cosas que te gustan, sé innovador, creativo y conviértelo en una forma de ganarte la vida”, recomienda Maximilian Wanner, un desarrollador móvil experimentado de Alemania.

4. Buscando trabajo.

Solicitar puestos de trabajo en su industria y sector de mercado preferidos, así como prepararse para entrevistas de trabajo, también debe ser parte de su plan de desarrollo profesional. Por ejemplo, algunos desarrolladores profesionales monitorean rutinariamente todos los nuevos trabajos que se ajustan a sus respectivas calificaciones. Tiene sentido ya que de esta manera siempre tendrá conocimiento de primera mano sobre lo que está sucediendo en el mercado, qué habilidades y tecnologías están en demanda y cuáles son las tendencias futuras. La preparación para las entrevistas de trabajo es otra parte importante. Asigne tiempo en su plan para prepararse para las entrevistas de trabajo. Muchos codificadores experimentados también recomiendan realizar entrevistas de trabajo de desarrollador de software regularmente, incluso si no está buscando trabajo, solo por el bien de la experiencia y la práctica. Por cierto, aquí hay una buena lista deLas 150 preguntas más frecuentes en entrevistas de trabajo para desarrolladores de Java .
“Prepararse para las entrevistas de ingeniería de software puede ser abrumador porque parece que necesitas saberlo todo. Y “estudiar todo!” no es una estrategia de preparación para la entrevista realista ya que su tiempo es limitado, por lo que necesita una forma de reducir "todo" a una lista manejable de cosas para prepararse. Dado que no hay dos trabajos que tengan exactamente las mismas entrevistas, no existe una "receta" que le diga exactamente cómo prepararse para cada entrevista técnica. Afortunadamente, hay ciertos patrones que hacen que sea bastante fácil determinar para qué tipo de entrevista necesita prepararse y, a partir de ahí, decidir qué estudiar”, dijo Tigran Sloyan, un programador experimentado y director ejecutivo de la empresa CodeSignal.

5. Elección de trabajos.

Elegir trabajos, o más bien empresas para las que trabajará, es una parte separada de la planificación del desarrollo profesional y también requiere pensar seriamente de vez en cuando. Puede evaluar los trabajos y las empresas de las que tiene ofertas de trabajo según una serie de criterios, que se basan en sus objetivos profesionales. Ejemplos de tales criterios serían: la contribución del trabajo a su crecimiento general como desarrollador de software, qué tan grande es el salario, cuáles son los beneficios adicionales, qué tan grande es la carga de trabajo, qué tan bueno es el equipo, etc. Elegir las empresas correctas y los trabajos correctos es especialmente importante al comienzo de su carrera, ya que las primeras experiencias laborales pueden tener un impacto notable en ella. Las opiniones sobre a qué empresas unirse como principiante en programación son diferentes, pero la recomendación más común sería comenzar su carrera en empresas grandes y conocidas. para conocer los procesos, las tecnologías y tal vez agregar un nombre conocido a su CV. Después de algunos años trabajando para un líder de la industria, puede continuar con trabajos en nuevas empresas o empresas en el nicho que le interesa.
“Elige una empresa que haga algo que te interese o que te entusiasme. La programación es mentalmente agotadora, estresante y poco estimulante, pero si estás haciendo algo que entiendes y amas, el dolor es mucho más difícil de percibir y la alegría de la creación mucho más dulce”, recomienda David Powell, ingeniero y especialista en investigación de ingeniería de sistemas humanos .

6. Formas de crecer y romper el 'techo de cristal'.

El crecimiento profesional e individual es otro componente crucialmente importante de una carrera verdaderamente exitosa (y de la vida en general, si lo piensas) que a menudo se ve como algo banal y demasiado vago para agregarlo a planes serios. Tratar de ver el panorama general, ver su carrera desde la perspectiva de un tercero puede ser extremadamente útil para comprender hacia dónde se dirige como profesional y cómo romper el llamado "techo de cristal", que es muy típico para cualquier situación profesional en la que parece que por mucho que aprendas y superes, no podrás aumentar mucho más tus ingresos ni ascender, porque ya alcanzaste un nivel bastante alto. Es típico que los profesionales empiecen a perder la motivación y el interés por lo que hacen poco después de "tocar el techo de cristal". ' así que es mejor prepararse con anticipación. Esto es lo que John Sonmez, un desarrollador de software con amplia experiencia profesional,tiene que decir sobre esto:
“No importa lo bueno que seas, hay un punto en el que llegas a la cima y realmente no puedes avanzar más. Pero hay formas de evitar, o atravesar, este techo de cristal. Como trabajador independiente, su techo de cristal es mucho más alto, aunque todavía hay un límite práctico sobre cuánto puede ganar como trabajador independiente, ya que todavía tiene que cambiar horas por dólares. Como emprendedor, no tiene límites, pero también puede ganar cero dólares o dólares negativos. Si desea seguir siendo un desarrollador de carrera, puede invertir mucho en su marca personal y en marketing, y puede encontrar una empresa que le pague significativamente más que el promedio solo por su reputación”.