Resumen
El autor entendió lo difícil que es para los ingenieros en Rusia vivir y decidió ir a los programadores. El lo hizo. Una publicación sobre cómo.
¿Por qué estoy escribiendo todo esto?
- Gratitud Diga "gracias" a la comunidad Habr.
- Apoyo y motivación . Es moral apoyar a los ingenieros que también decidieron cambiar su llamado a uno nuevo, pero no pueden decidir.
- Auto motivación . Un pequeño informe y algunos planes hechos públicamente son muy útiles para avanzar.
- Comparte experiencia . Quizás alguien muestre mi camino a su propio camino.
Gratitud
Por el bien de esto, la publicación fue concebida. Aquí es donde comenzar.
Mi publicación " Ingeniero VS Programador. O a dónde van los ingenieros ”trajo muchos comentarios, algunos mensajes personales, un par de entrevistas. Lo más importante, me trajo una ola de apoyo, positividad y motivación.
¡Muchas gracias a toda la comunidad Habr! Fue el apoyo de la comunidad lo que dio el impulso inspirador, hacia adelante, a mi objetivo, y me llevó a los programadores.
Un agradecimiento especial. Quiero decir que serenityfx , quien se registró específicamente para dejar un comentario con una propuesta para compartir su experiencia, se tomó el tiempo para hablar conmigo personalmente y responder mis preguntas. Me dio instrucciones y me ayudó a comprender cómo y dónde ir después.
Gracias Habr! Eres genial
Resumen de la última publicación
Después de haber trabajado como ingeniero durante 14 años, incluido un ingeniero de desarrollo, decidí cambiar a programadores, porque un ingeniero de software es una especialidad demandada con salarios más altos, amplias perspectivas y oportunidades.
Mi camino
Gracias a los comentarios de Habr, pude articular claramente dos caminos de desarrollo más allá.
El primero es intentar nuevamente encontrarte como ingeniero de desarrollo, tanto en Rusia como en el extranjero. Afortunadamente, varios contactos personales vinieron directamente de los comentarios, lo que nos permitió hacer varios intentos.
La segunda forma, que también está claramente dibujada, es descargar las habilidades del programador de microcontroladores y sistemas integrados y buscar posiciones iniciales (mediados de junio) en esta área.
Como un "mono inteligente y hermoso" que tenía tiempo, traté de caminar simultáneamente en dos direcciones. Participó activamente en la búsqueda de empleo, incluso en el extranjero, y comenzó a bombear sus habilidades en los controladores.
Seis meses después, quedó claro que el primer camino sigue siendo un callejón sin salida. Debemos ir a los programadores. La coincidencia me llevó a despedir. Me centré en los controladores y la búsqueda de empleo, pero como programador.
Inesperadamente, recibí una oferta para trabajar como freelance en un proyecto que al mismo tiempo me utilizaba como programador de controladores y como ingeniero de desarrollo. Mi vida independiente fue de 8 meses y terminó con los pagos de los pedidos. Pero mis habilidades de programación han crecido mucho durante este tiempo, así que regresé al mercado laboral y busqué un trabajo como ingeniero de software.
Según los resultados de una de las entrevistas, me invitaron primero a una pasantía, luego a un período de prueba, que gradualmente se convirtió en un contrato permanente. Entonces me convertí en ingeniero de software integrado.
Pero seamos un poco más detallados sobre cada uno de los pasos.
Posición inicial
Comienza con un ingeniero de desarrollo. De hecho, mi mitad de trabajo consistió en el desarrollo y prueba de algoritmos, hardware, una cuarta parte de problemas de organización: gestión de equipos, adquisición y documentación, y una cuarta parte de la programación de dispositivos desarrollados.
Como ingeniero de la vieja escuela, tenía una inclinación por el conocimiento teórico, por lo que cuando me despidieron a mis espaldas, ya tenía varios cursos de diversos grados de utilidad:
Además, hubo cursos interesantes pero inútiles del ITMO Academy HTML (HTML / CSS / JS),
" Project Management " de HSE y " Graph Theory " de ITMO. Y también la mitad del curso JavaRush completado, que se abandonó después de decidir ir a incrustado.
En la práctica, tenía experiencia modelando y procesando señales asociadas con mis dispositivos. Experiencia escribiendo firmware para controladores de la serie SiliconLabs C8051, controladores junior Atmel y algo de experiencia en desarrollo para FPGA Altera.
También detrás de mí estaba la experiencia de administrar un equipo y una producción a pequeña escala, pero lo consideré irrelevante.
Buscando trabajo
El tema de las entrevistas merece una publicación aparte. Había muchos, pasaron en oleadas.
Hubo mucha rareza en las entrevistas. Cuando llegué a la entrevista para el puesto de programador, me preguntaron por qué con tanta experiencia no quiero trabajar como ingeniero. En una entrevista con un ingeniero, fui torturado por tener experiencia en programación.
Hubo reuniones breves en las que dije "Detente, no me necesitas". Por el contrario, una de las posiciones fue una maratón de entrevistas de cinco entrevistas de dos horas en inglés por Skype. Había militares camuflados a los que no quería ir en principio. Había una empresa, que en esencia era una cooperativa de trabajadores independientes dirigida por un gerente.
El resultado principal de la mayoría de mis entrevistas fue la falta de ofertas de trabajo donde quería y la disponibilidad de trabajos donde no quería trabajar.
La vida en freelance
Aquí me lancé de cabeza a todos los pros y los contras del trabajo independiente, que se discutieron muchas veces en Habré. Para mí, el tiempo se ha convertido en una gran ventaja. Vivía en mi casa en la naturaleza y no pasaba tiempo en la carretera. Pero facilité el proyecto 12 horas al día, teniendo la oportunidad de estudiar y cerrar esas brechas de conocimiento que tenía en la programación. Me sumergí en el mundo de STM32, incluido FreeRTOS. Primero me burlé del proyecto que necesitaba en Discovery, luego hice un tablero y lo repetí en la serie 10x. Paralelamente, descubrí Git y diseñé para UML como parte de las tareas necesarias. Desafortunadamente, no podía irme lejos de casa, porque tendría que llevar conmigo el osciloscopio, el soldador y la fuente de alimentación.
Al mismo tiempo, se ejecutaron proyectos relacionados con antenas y radares. Pero el ingreso principal fue aportado por un cliente. Por cierto, este ingreso fue una vez y media más alto que mi salario como ingeniero de desarrollo.
Sin embargo, al principio el cliente comenzó a retrasar el pago de las etapas, pero lo aguanté. Cuando dejó de pagar por completo y desapareció del horizonte, tuvo que apretarse el cinturón e ir a buscar trabajo nuevamente.
Sí, un lugar común conocido por todos: celebrar un contrato. Cambié dinero por experiencia en freelance y programación.
Prueba de batalla
Me metí en esta empresa la segunda vez. El primer intento de resolver la tarea de prueba (una tarea pequeña para el microcontrolador) no condujo a una entrevista. Llamé de nuevo, descubrí qué no le gustó exactamente mi solución (pocos comentarios, solo se propuso una solución). El segundo intento seis meses después fue más exitoso.
Entrevista con un representante de recursos humanos, con pequeñas pruebas. La conversación con el futuro colega es larga y minuciosa. En total más de 2 horas. Una propuesta para una "pasantía" paga por varios días.
Durante la "pasantía", cerró un par de errores. Recibió el dinero en sus manos junto con la oferta de un período de prueba de tres meses.
Podemos decir que a partir de este momento comenzó una verdadera inmersión, de medio año de duración. Brevemente durante este tiempo:
- se sumergió de cabeza en todo el Legacy Code Lake, luchando con los insectos;
- Me atraganté con el Linux incorporado, desde controladores hasta scripts de bash;
- corrió rápidamente a través de SVN;
- prueba de unidad aprendida por GTest;
- dominó la metodología CI, configuró sus tareas con un montón de Hudson / Ant / Python -> compilación + pruebas unitarias;
- descubrió Qt y sus widgets;
- impulsó la aplicación práctica de FreeRTOS en STM;
- escribió scripts de prueba de salida para un nuevo dispositivo;
- Casi dejó de sentir el síndrome del impostor.
Los primeros seis meses fueron muy activos. Trabajas 8 horas. Luego llegas a casa y durante el resto del tiempo intentas aprovechar rápidamente tus conocimientos y habilidades para resolver las tareas establecidas cada día. Al día siguiente, viene a trabajar e intenta resolver un problema con nuevos conocimientos.
Los colegas ayudaron mucho. Donde consejos prácticos, donde solo ideas.
Cuando trabajas en el modo: hay un problema: debes resolverlo con urgencia, luego el entrenamiento se mueve mucho más rápido. Lo principal es no olvidarse de mirar un poco más amplio y tener tiempo para comprender qué está haciendo exactamente.
Ahora he disminuido un poco, especialmente porque en invierno caigo en un estado cercano a la hibernación, pero no solo trabajo como programador, sino que también tengo ganas. Código heredado, sprints, diseño, pruebas, CI / CD en pleno crecimiento. ¡Y eso me gusta!
El salario en comparación con el ingeniero de desarrollo se ha más que duplicado. Sin procesamiento o requisitos oscuros. Esto es incluso más de lo que esperaba cuando iba a ir a los programadores.
¿Qué sigue?
No te detengas. Esto no es difícil, porque la programación tiene la capacidad de arrastrarse al proceso. Habiendo comenzado, es muy difícil parar.
Para estudiar Porque todavía hay muchos puntos blancos en mi conocimiento, incluidos los teóricos. Y cómo no es lo suficientemente práctico.
Realmente quiero lidiar con mi proyecto, especialmente porque tengo un par de ideas en mi cabeza y tengo dos bufandas interesantes en mis manos.
Inscrito en un par de cursos. Algoritmos y bases de datos.
Quiero llegar al señor en la misma esfera, pero ya veremos.
Conclusión
El mensaje principal de este texto es que pude convertirme en ingeniero de software para sistemas integrados de un ingeniero de desarrollo en dos años. Si no hubiera perdido el tiempo con vanas esperanzas y pisoteando en el acto, definitivamente lo habría mantenido dentro de un año y medio.
Lo importante y necesario era el conocimiento de la teoría. Conceptos básicos, hierro, Linux, controladores.
Lo que claramente no era suficiente: la práctica. Ninguno de mis proyectos, con el hermoso código obligatorio y los comentarios, me faltaba mucho cuando buscaba trabajo.
Confianza en que todo saldrá bien. Tenía comentarios inspiradores sobre Habré y la "retaguardia fuerte" que creían en mí.
Gracias de nuevo a todos!