Curiosamente, pero muchos desarrolladores, comenzando con juniors y terminando con Signors, ven solo una forma de su desarrollo: la administración. Planean pasar a gerentes de proyecto o convertirse en gerentes técnicos. Pero la esfera de TI es mucho más amplia, hay muchas opciones y caminos de desarrollo. Puede desarrollar, no solo adquirir nuevas habilidades, sino también mejorar las existentes. Sobre esto y sobre varias formas posibles para un mayor desarrollo de la carrera de desarrollador, lo contaré en mi publicación. Será interesante no solo para principiantes, sino también para desarrolladores experimentados que aún no han decidido su destino o simplemente están cansados de escribir código.
FuenteEn el campo de la tecnología de la información, hay muchos estereotipos, como en otros lugares. Uno de ellos se refiere a la carrera de desarrollador. A veces parece que si escribes código a los cuarenta, algo te pasa y la única forma es crecer y convertirte en un líder. Debido a esto, observo periódicamente la imagen cuando los desarrolladores experimentados no se mudan de un lugar durante años, esperando "ese mismo lugar más alto". Pero es útil saber para todos nosotros las formas de desarrollo del especialista, que analizaré a continuación, de junior a senior: cambiar la dirección del trabajo nunca es demasiado tarde. Haré una reserva de inmediato. No hablaré sobre dinero y salarios (dejemos todo esto afuera, finalmente, hay hh.ru), pero hablaré precisamente sobre el posible desarrollo creativo y profesional.
Puedo destacar varias rutas básicas de desarrollo en TI para aquellos que tienen experiencia de desarrollador. Cada uno de ellos es más obvio que el anterior, alguien puede no escuchar nada nuevo en absoluto. Pero, a menudo, lo que buscamos simplemente se encuentra en la superficie, solo debe prestarle atención.
Entonces, vamos :
Fuente1. Ir al manual
La misma forma "estándar", viviendo en la mente de la mayoría de los desarrolladores. A dónde dirige todo el mundo sabe: liderazgo de un grupo (TeamLead), proyectos, departamento, práctica tecnológica, director técnico ... Cada empresa tiene su propio conjunto de publicaciones. Esta opción requiere habilidades de gestión. Necesitamos comenzar a estudiar la sabiduría de la administración, encontrar un acercamiento a las personas, entender cómo funciona la empresa. La experiencia del desarrollador aquí ya se está desvaneciendo y actúa como fondo. Ya no es necesario escribir código, o debe ser mucho más pequeño.
Esto es para ti porque :
- No hay necesidad de escribir código, relevante para aquellos que desean cambiar algo.
- Gestión real e influencia.
A qué debe prestar atención :
- Será necesario cavar mucho en la otra dirección: los buenos gerentes no nacen. Hay que estudiar seriamente.
- La experiencia acumulada del desarrollador ya se aplica indirectamente. No necesita saber cómo acoplar la ventana acoplable a kubernetis. Y esos 10 años que pasó para convertirse en un senior pueden ser tachados. Te conviertes en un junior en gestión, y esto también debe ser aceptado para que todo salga bien.
- Mayor nivel de responsabilidad. Cuando escribes código, solo eres responsable de ello. Tras la transición al liderazgo, la responsabilidad aumenta a veces. Usted es responsable de todo el equipo y del proyecto y, por lo tanto, del dinero para su equipo o incluso para la empresa.
- Menos oportunidades de trabajo. Los desarrolladores son necesarios y deseados literalmente en cualquier empresa. Tan pronto como solicite un puesto de liderazgo, se reduce el número de opciones para la transición. Y cuanto mayor sea la posición, menor será el círculo de empresas para elegir.
Fuente2. Continuar escribiendo código
Aquí todo es simple: continúas haciendo lo que te interesa. Dominar nuevos enfoques y tecnologías, desarrollándose en amplitud. Con una vasta experiencia, ya no puede dedicar mucho tiempo a escribir código, sino que rápidamente profundiza en el contexto del problema y lo resuelve de manera efectiva, participando en capacitación y tutoría. Si durante mucho tiempo, y es mejor desde el principio, trabajar dentro del marco de un producto, tarde o temprano lo sabrá todo, incluso los rincones más remotos y oscuros del código. Por lo general, la posición de dichos desarrolladores tiene el prefijo Principal o Expert. Esta es una programación de estrella de rock. Dichos empleados son altamente valorados no solo en la empresa actual, sino también en el mercado en general. Muchos ni siquiera piensan en este camino de desarrollo, pero vale la pena y vale la pena el esfuerzo que tendrá que invertirse.
Esto es para ti porque :
- Toda la experiencia acumulada se usa todos los días.
- No hay cambios fundamentales en el trabajo.
- Alto valor en el mercado, te buscan.
A qué debe prestar atención :
- Tenemos que mantenernos al día con el desarrollo de la tecnología para mantenernos a flote y en su estado.
- Solo apto para quienes gustan del proceso de desarrollo en sí.
- El riesgo de crecimiento "imaginario". Especialmente espera a las personas que han estado trabajando durante mucho tiempo en el mismo proyecto. La tesis es la siguiente: si le parece que lo sabe todo porque vio cada sección oculta del código de su proyecto, esto no significa en absoluto que si es transferido a otro proyecto, todo saldrá bien. ¿Cómo ponerte a prueba? Intenta hacer algo en tecnologías que no te son familiares.
Fuente3. Ir a los arquitectos
Regresamos a las áreas técnicas. Si el código puede equipararse al corte de partes en la máquina, nos centraremos en crear dibujos de esta parte, o incluso de la unidad completa. Diseñar un producto futuro, crear una base, elegir las soluciones utilizadas; todo esto requiere un conocimiento profundo en el área temática y, a menudo, se convierte en un factor clave en la velocidad de la creación de un producto. Por cierto, el concepto de "qué es un arquitecto" aún no se ha desarrollado. Si le pregunta a tres personas de diferentes compañías quién es el arquitecto, lo más probable es que obtenga tres respuestas diferentes.
Esto es para ti porque :
- Cambio frecuente de proyectos. Hecho, el próximo proyecto. Esta es una unidad.
- Construyendo la base de las aplicaciones. El zumbido de la globalidad de su tarea.
- Toda la experiencia acumulada se usa al 100%, o incluso al 150%. Búsqueda constante de una solución nueva y óptima.
A qué debe prestar atención :
- Alta responsabilidad para cada proyecto. El precio del error es alto: este es el ciclo de vida de su sistema. Pero aún no está ... El edificio está solo en tu cabeza.
- Mucho papeleo. Redacción de documentos técnicos. Una cosa es pensar, otra cosa es describirlo todo, incluida una gran cantidad de ediciones de colegas y clientes.
- Trabajar con arquitecturas típicas. ¿Y dónde sin ellos? Y aquí a veces habrá un "día de la marmota".
- Capacidad para defender su posición y decisión.
- Se requiere un estudio constante de nuevas tecnologías y soluciones.
Fuente4. Prueba el marketing
Esta es una opción más rara y menos popular. TI es el mismo negocio, y todo el trabajo de los desarrolladores debe promoverse. Esta línea se encuentra entre ventas, reclutamiento y marketing. Esto incluye publicaciones como Developer Advocate y Evangelist. Es más fácil para una persona con gran experiencia técnica explicar a otros desarrolladores cuáles son las ventajas de este o aquel producto, encontrar un enfoque y hablar "correctamente" sobre su empresa. Ningún vendedor clásico puede hacer esto como una persona que alguna vez fue desarrollador. Y aún más, si su tarea es desarrollar una marca de recursos humanos, es decir, atraer y retener desarrolladores en su empresa. Estas personas, por regla general, se comunican mucho en las redes sociales, escriben artículos y hablan en conferencias. Este camino no es para introvertidos.
Esto es para ti porque :
- Comunicación con diferentes personas.
- Discursos en conferencias y reuniones.
- Sed de popularidad y reconocimiento.
A qué debe prestar atención :
- Necesita un discurso competente y la capacidad de responder rápidamente a preguntas inesperadas y, a veces, muy poco estándar,
- Necesitas poder escribir fácil y rápidamente, para saber idiomas extranjeros
- Muy pocas vacantes. Más bien, es un camino dentro de su empresa.
- Trabajo único, con un caleidoscopio de comunicación y personas alrededor. Puede olvidarse del concepto de un equipo al que está acostumbrado en el desarrollo.
- Viajes de negocios y viajes permanentes. Y esto no es romance (¡Oh, viajaré por todo el mundo!), Es un trabajo duro, una cadena de hoteles y la ausencia constante de una casa.
Fuente5. Conviértete en una estrella de ventas
Actual para empresas de abarrotes y outsourcing. Continuando con el tema del párrafo anterior, el trabajo de los programadores requiere no solo promoción, sino también ventas. Hay dos grandes subcategorías. Por un lado, este es un empleado de ventas clásico: ofrece un servicio o producto, discute condiciones, etc. La experiencia técnica aquí ayuda menos, requiere una mayor comprensión del negocio y la capacidad de comunicarse. Por otro lado, se trata de especialistas como Solution Architect, que ofrecen al cliente soluciones específicas a los problemas y seleccionan el conjunto de productos adecuado. En el segundo caso, la experiencia de desarrollo juega un papel importante.
Esto es para ti porque :
- Trabaja en el corazón del negocio, ganarás dinero.
- Comunicación directa con el cliente. Muchas reuniones y negociaciones.
- Sin código
- Estás aquí si quieres ganar todo el oro del mundo.
A qué debe prestar atención :
- Se requiere un discurso competente y, muy probablemente, conocimiento de inglés.
- Se requieren habilidades de ventas, incluidas las habilidades de negociación. Si tiene un problema, negocie con su abuela en el mercado ... entonces debe romperse.
- Se requiere una comprensión del negocio del cliente y sus productos. Ahora en una transformación digital, no hay ningún lugar sin ella.
Fuente6. Reentrenamiento en analítica
Con la experiencia de varios proyectos y pasando de un nivel junior a uno senior, el desarrollador comprende cómo funcionan las aplicaciones desde adentro, cómo deberían funcionar por parte del usuario y, lo más importante, cómo satisfacer a ambas partes. Si no sabe cómo dibujar y trabajar con editores gráficos, pero quiere un trabajo creativo, aquí está. Pensar en los detalles del producto es un paso importante, si inicialmente elige el concepto incorrecto, puede perder muchos recursos en la solución de problemas. Un analista con experiencia en desarrollo no solo sabe cómo hacer bien las cosas para los usuarios, sino también lo difícil que será para los desarrolladores implementarlo. Después de encontrar un equilibrio, puede ahorrar mucho tiempo para la empresa y el cliente.
Esto es para ti porque :
- Más trabajo creativo que desarrollo.
- Sin código
- Finalmente, diseñas la "interfaz realmente correcta". Y ahora otros desarrolladores harán su "interfaz correcta y fácil de usar".
- Una amplia gama de actividades. Hoy tiene un proyecto del sector bancario, y en dos meses la aplicación de la aerolínea o una red de estaciones de servicio.
A qué debe prestar atención :
- Mucho papeleo (mucho más que el arquitecto).
- Conocimiento del área temática y del negocio del cliente. Comprender los términos y procesos.
- Se requiere conocimiento del diseño de la interfaz.
Fuente7. Ir a la ciencia
No es solo una práctica. Hay una gran capa de temas que requieren estudio. Si tiene un buen nivel de conocimiento teórico y muchos años de experiencia práctica, puede probarse a sí mismo en el estudio de nuevos enfoques y herramientas. Entra en la ciencia y pasa de la práctica a la teoría.
Esto es para ti porque :
- Creando algo nuevo.
- Descubrimientos
- Su contribución personal al desarrollo de TI como una industria completa.
- Una oportunidad para pasar a la historia.
A qué debe prestar atención :
- Se requiere un alto nivel de formación teórica. ¿Estudiaste bien en la universidad?
- Escrupuloso, minucioso y largo trabajo.
- Disposición al hecho de que su teoría puede estar equivocada, o dará frutos en décadas.
Fuente8. Enseñar
La experiencia acumulada pero no transferida es una pérdida de tiempo. Con un gran bagaje de conocimientos, trampas y rastrillos recolectados detrás de usted, solo necesita pasarlo a una nueva generación de especialistas. Este es uno de los momentos clave en el desarrollo de toda la esfera de TI. Estás esperando la enseñanza en la universidad o abriendo tus propios cursos, hablando en conferencias y reuniones con temas técnicos. ¿O tal vez vale la pena crear una universidad corporativa dentro de su empresa? Por cierto, nadie cancela la combinación de la enseñanza con su trabajo actual. Así es como debe comenzar el camino de la enseñanza.
Esto es para ti porque :
- Esto es para aquellos que les gusta explicar y tienen el don de popularizar el conocimiento.
- Contribución al desarrollo de TI. Tu trabajo es una contribución a otra generación.
- Formación avanzada para desarrolladores.
- Energía loca de la generación joven. ¿Te has dado cuenta de que los profesores de la universidad a menudo se ven bien y generalmente son jóvenes de alma?
A qué debe prestar atención :
- La capacidad de explicar no es fácil. A veces es más difícil de explicar que de hacer. Necesitas aprender esto.
- Ten una psique fuerte. Tendrá que explicar lo mismo una y otra vez y responder las mismas preguntas un millón de veces.
- Necesita la habilidad de hablar en público frente a una gran audiencia.
- Mucho tiempo para revisar la tarea y las preguntas de los estudiantes. Y esto está fuera del horario laboral.
- Conocimiento seguro de la materia que está enseñando.
- Por lo general, bajos salarios.
Deliberadamente no escribí nada sobre las habilidades específicas de los especialistas. Estos caminos están disponibles tanto para los back-end agresivos como para los probadores minuciosos, tanto desarrolladores creativos de front-end como movilizadores notorios. Nadie impedirá detenerse en el nivel alcanzado y comenzar a desarrollarse en amplitud, para comprender el conocimiento de que los muchachos hacen malabarismos en las mesas vecinas. Así es como nacen los desarrolladores de pila completa. Sabiendo cómo se encuentran los colores en los otros lados del Cubo de Rubik, es mucho más fácil armar el suyo.
Es importante recordar que no es necesario concentrarse en una cosa. Por ejemplo, puede enseñar en paralelo con cualquiera de los otros elementos, hablar en conferencias, hablar sobre un producto en el que trabaja la mayor parte del tiempo, hacer aplicaciones de ciencia y diseño, desarrollar código abierto. Estos ocho puntos son solo una gota en el océano de oportunidades. Por ejemplo, todavía hay un producto, entrenadores, entrenadores, puede crear su propio negocio. Durante mi tiempo en Reksoft, vi colegas que eligieron e implementaron con éxito cada uno de los caminos descritos anteriormente. No hay restricciones, el campo de la tecnología de la información es más amplio de lo que parece, y la cantidad de trabajo que aún no se ha realizado es enorme. ¡Lo principal es encontrar su lugar en este océano y hacer su trabajo de manera eficiente y responsable, y drogarse con lo que hace! Y recuerde, todos los estereotipos en su cabeza, ¡no tenga miedo de probarse y desarrollarse!
Este es el material del jefe del grupo de práctica Java de Rexoft, Zurab Bely, escrito sobre la base de su discurso en la SECR-2019. El informe ganó el primer lugar según los resultados de la votación de los participantes del evento.