¿Qué piensa la gente de un cambio de carrera de ingeniero de software a DevOps?

Odio compartirlo con todos, pero la gente de Operaciones recibe más pagos que los Desarrolladores. Ve a buscar encuestas salariales sobre el tema. Es puramente una cuestión de oferta y demanda. Todos, como señala McCallion, quieren estar en el centro de atención y trabajar estrechamente con el negocio. Pero espera, estoy en Operaciones, nadie ve los resultados del código que escribo. Solo saben que, mágicamente, su increíble código termina en todos los servidores correctos en el orden correcto. Sus cambios en la base de datos se implementaron sin problemas. El negocio no ve eso ¿verdad? Incorrecto. Confía en mí, paso tanto tiempo, si no más, con la gente de negocios de nivel C como persona de operaciones que los desarrolladores. ¿Cuándo fue la última vez que un desarrollador tenía un C-Level Manager sobre ellos mientras escribían una línea de código?

Lo siento, pero las otras dos respuestas muestran el sesgo de sus desarrolladores. El problema con eso e incluso mi afirmación anterior es que ambos se enfrentan al objetivo real de DevOps. El trabajo de todos es importante. Ya sea que los desarrolladores escriban el código, que el personal de operaciones haga todas las cosas de operaciones o que el negocio tenga una idea para un producto que todos podamos vender y recibir un pago. Todos necesitamos pasar más tiempo entendiendo y EMPATIZANDO con lo que todos los demás están pasando.

El lado Ops de DevOps no es para todos. Pero tampoco lo es el desarrollador o el lado comercial. Resulta que soy hábil tanto en Ops como en el negocio. Si bien puedo escribir código pasable, no quisiera que eso sea todo lo que tengo que hacer todos los días. Me aburriría muchísimo. Tienes que decidir qué quieres hacer. ¿Quieres ser un mono de Kick Butt Code? ¿Prefieres ser un increíble administrador impulsado por la adrenalina que trabaje para evitar que las ruedas se caigan?

Si disfrutaste tu pasantía como persona devops más de los 4 años que pasaste como desarrollador, creo que tu respuesta debería ser bastante obvia. Además esto es TI. ¿Desde cuándo estás atrapado en algún título de trabajo?

Si eres un desarrollador full stack, y el desarrollo es lo que realmente disfrutas, te aconsejaría que no seas un profesional de devops a tiempo completo. Estoy de acuerdo con Roshan Nagekar y Brian McCallion en su línea de pensamiento.

Veo que mucha gente entiende mal a los devops como una carrera profesional común tanto para los desarrolladores como para los operadores. Un equipo eficiente donde todos (desarrolladores y operaciones) hacen todo, es decir, escribir código, escribir infraestructura como código, administrar infraestructura, realizar actividades administrativas del sistema también. Bueno, Devops nunca se trató de fusionar esos equipos en uno solo. Se trata más de fomentar la colaboración entre ambos, romper silos. Y trabaje hacia los objetivos organizacionales finales, es decir, envíe el código más rápido, sea más ágil, aumente la eficiencia. Todo esto con el mismo o menor esfuerzo.

Y las herramientas de generación actuales ofrecen un lenguaje común entre desarrolladores y operaciones, les ayuda a colaborar mejor y atrae a todos a la misma página. Y docker es un buen ejemplo aquí. Los desarrolladores se preocupan por lo que contiene (por ejemplo, empaquetar aplicaciones con el entorno), las operaciones se preocupan por lo que está fuera de él (es decir, ejecutar, mantener, escalar contenedores). También lo es chef / puppet, jenkins, etc. Y hay herramientas como nuevas reliquias, splunk y sus equivalentes de código abierto que dan visibilidad a la infraestructura, las aplicaciones y el resto de las métricas, lo que es útil no solo para desarrolladores, operaciones sino incluso para la administración .

Ahora, manteniendo a los desarrolladores en perspectiva, y volviendo a la pregunta original, ¿cuál debería ser la transición o el camino de crecimiento profesional para los desarrolladores y operaciones? Propongo seguir,

Transforme su equipo de operaciones en devops, y transforme sus equipos de desarrollo en desarrolladores orientados a devops, o más bien desarrolladores ágiles.

Entonces, si eres un ingeniero de software, no busques ser un ingeniero devops dedicado. Más bien sea un desarrollador ágil y esté orientado a los desarrolladores. Adquiera habilidades como docker, git, jenkins, sonarqube, un poco sobre títeres / chef para la implementación de aplicaciones. Cuando digo docker, concéntrate solo en las aplicaciones de la parte de empaquetado en la parte del contenedor, y no en ejecutar clústeres y administrarlos. Eso te convertiría en un activo realmente indispensable. En definitiva, sumérgete en algo que realmente te apasione y disfrutes hacer. Código o de otra manera.

Gracias por el A2A.

Como ingeniero devops, creo que pasar de la ingeniería de software a la ingeniería devops es una gran idea, ¡pero por favor, por favor, solo si está realmente interesado en ello! No recomiendo cambiar los objetivos de tu carrera simplemente porque es popular o parece ser la nueva moda (o, Dios no lo quiera, por alguna razón crees que los salarios de los ingenieros de Devops son más altos, ¡no lo son!).

Creo que un perfil diverso no es una mala idea. Coqueteé con la idea de cambiar mi carrera a la ingeniería de software. ¿Es tan malo? No lo creo.

Parece que algunas personas han tenido la desafortunada experiencia de recibir la etiqueta “devops” y terminar encerrándose en ese rol y no han podido encontrar trabajos alternativos como la ingeniería de software [1]. Realmente no sé mucho sobre esto; Vengo de un fondo de desarrollo de software y migré a DevOps. Quizás regrese. ¿Haberme convertido en ingeniero de Devops afectará mi capacidad futura de ser contratado como ingeniero de software? No lo sé, pero no lo creo. Realmente no respondo al enjambre diario de reclutadores de LinkedIn, solo a las personas que personalmente conozco y confío, porque sé que están interesados ​​en mí, no en un buscador. cuota. ¿No podré volver a pasar el 100% de mi tiempo como ingeniero de software? Tal vez. Pero ni siquiera quiero eso. No paso el 100% de mi tiempo como ingeniero devops, y eso me gusta.

¡Espero que esto ayude! Finalmente, recuerde que sus elecciones son suyas. ¡Así que tenlos! Y no dejes que alguien te diga que debes ser una clase de ingeniero u otra. Haz lo que quieras. Que te despidan por hacer lo que quieres. Luego, obtenga un mejor trabajo en un lugar donde su empleador / jefe se preocupe por usted y lo promueva por hacer lo que quiere. Luego comienza a pensar en lo que quieres hacer a continuación.

[1]: DevOps es una tontería: por qué un programador ya no lo hace

No veo muchas ventajas en promocionarse como DevOps. Es un término muy poco entendido. Y por mucho que la gente se entusiasme con la configuración y la automatización, tengo la sensación de que las empresas asignan el costo a las Operaciones. Las operaciones son la parte barata, lenta e impopular de un negocio. La gente de negocios lo ve como un mal necesario. Es mucho mejor alinearse con los grupos en una empresa que desarrolla productos de software que de alguna manera agregan valor a los ingresos de la empresa. DevOps solo es glamoroso en Twitter y en las conferencias. De lo contrario, es un trabajo minucioso, arriesgado y estresante. Se requieren habilidades de negociación excepcionales para poder persuadir a otros para que colaboren cuando generalmente lo harán de otra manera. Es probable que si trabajas en una empresa no tecnológica, las herramientas y el trabajo del entorno seguirán siendo en gran parte manuales y de la vieja escuela, pero obtendrás un título. En general, las aplicaciones de escritura son mucho más divertidas e interesantes. A medida que se tomó la molestia de obtener una maestría, espero que tenga interés en las estructuras de datos, los algoritmos. Será mucho mejor compensado y tendrá mejores oportunidades en el desarrollador que en la pista de DevOps.

Ciertamente estoy de acuerdo con la respuesta de Brian McCallion. Con tanta experiencia en desarrollo, estoy seguro de que el desarrollo te interesa mucho. Mientras entrenaba a algunas personas para Devops, noté que los desarrolladores pronto perdieron interés, ya que estaban más interesados ​​en buscar y escribir código. Devops no se trata solo de desarrollo, tiene una gran parte de las operaciones asociadas. He visto a los desarrolladores aburrirse miserablemente con las operaciones y no les interesa.

Solo si encuentras un lugar donde Devops será más (o tal vez solo) sobre el código, anímate. De lo contrario, el desarrollo tiene su propia ventaja. Diría que profundice en algoritmos, big data, aprendizaje automático y avance su carrera allí en caso de que realmente se considere un desarrollador.

Tiene una maestría en CS y tiene la intención de probar puestos de ingeniero DevOps. Eso será un desperdicio absoluto de tus habilidades. Por supuesto, esta es mi única opinión.

Esta es la diferencia como lo que aprendí de mi experiencia al ver personas en mi lugar de trabajo:
Trabajos SDE: escribir código, escribir pruebas unitarias, escribir pruebas de integración, servicios de diseño, diseño de flujo de llamadas API, diseño, escritura y pruebas de carga de análisis, escribir scripts de shell / python / ruby ​​/ etc. para tareas de automatización ad hoc, etc.
DevOps: registros de cola, monitorear la confiabilidad del sitio, usar el SOP escrito por SDE para realizar arreglos cada vez que se reportan problemas / problemas, etc.

En breve:

SDE construye algo de una vez por todas. El producto ideal se debe utilizar ampliamente y durante largos períodos de tiempo (en años). Una vez que te aburres con las cosas que estás haciendo, innovas o cambias de equipo / empresa.

DevOps: use muchas herramientas de monitoreo para realizar las mismas tareas de “supervisor” todos los días. Es posible que escriban algunos scripts (ni siquiera llamaría “código”), pero las necesidades de conocimiento básico de CS no son tan altas como las de un SDE.

Elegí ser un SDE.