Al igual que mi colega Rohit Srivastav, yo también trabajo aquí y este es mi tercer mes consecutivo y me permite destacar por qué elegí declarar que mi duración funcionó aquí. He trabajado en startups antes, donde la cultura anunciada al unirse es algo así como un pastel en el cielo, pero resulta ser un pozo negro de situaciones tóxicas alimentadas por empleados con exceso de trabajo, mal remunerados y poco apreciados, sin mencionar una pila de tecnología de mierda. . (Perdón por mi francés, pero sí, la tecnología es importante para mí y tiendo a ser bastante anal sobre ellos) Y esta cultura pronto se refleja en los primeros meses de unirse y trabajar con el equipo. En cuanto a mi experiencia trabajando en WebEngage, aquí va:
Como puede ver, mi biografía le dirá lo que hago. “DevOps”. Tenga paciencia conmigo mientras trato de resumir esto tan brevemente como pueda
1) Practicar la cultura DevOps: en muchas tiendas, la relación entre el desarrollo (o la ingeniería) y las operaciones es disfuncional hasta el punto de toxicidad ocasional. Aquí hay un ejemplo con el que creo que algunos estarán al menos parcialmente familiarizados: el campo de minas que es un proyecto de implementación de software de producción. Maldición mientras te explico. El desarrollo construye una aplicación, el nuevo atractivo que promete a los clientes todas las características geniales y hará que la compañía gane millones. Está construido con tecnología de punta y una plataforma completamente nueva y debe ser entregado ahora mismo. El desarrollo corta el código como loco y prepara el producto para el mercado antes de lo previsto. Lanzan su obra maestra sobre la cerca a Operaciones para implementar y salir corriendo al pub para la fiesta de despedida. Operaciones atrapa el despliegue y está lleno de horror.
- ¿Cuál es la forma más rápida para que un occidental en Nueva Delhi ingrese al círculo de élites y VIP de la India?
- ¿Alguien puede aconsejarme sobre cómo procesaré mi idea de inicio para la estación de carga de vehículos eléctricos en India?
- ¿Es aplicable el plan de inicio de Modi en India para los próximos años?
- ¿Quiénes son los inversores ángeles que pueden ayudar a las empresas de internet de consumo en India y también pueden ayudar a expandirse a Norteamérica?
- ¿Por qué fallan las startups en India?
El equipo de Operaciones resume su horror y dice uno o más de:
- La maravillosa aplicación no se ejecutará en nuestra infraestructura porque {es demasiado antigua, no tiene capacidad, no admitimos esa versión}
- La arquitectura de la aplicación no coincide con nuestro modelo de {almacenamiento, red, implementación, seguridad}
- No se nos consultó sobre {informes, seguridad, monitoreo, respaldo, aprovisionamiento} y no se puede “producir”.
Pero las operaciones perseveran e instalan el nuevo calor, maldiciendo y quejándose en todo momento. Lamentablemente, después de forzar la aplicación a la infraestructura y doblar y torcer la arquitectura para que se ejecute, el rendimiento de la nueva aplicación se puede resumir como un “error épico”.
Las operaciones suspira y comienza a registrar problemas y pasar los problemas al equipo de desarrollo. Sus respuestas generalmente provienen del siguiente grupo:
- No es nuestra culpa, nuestro código es perfecto, solo ha sido mal implementado
- ¡Las operaciones son estúpidas y no entienden el nuevo calor! ¿Por qué no pueden implementar la tecnología de punta? ¿Por qué están tan atrasados?
- Funciona bien en mi máquina …
Las interacciones entre equipos se convierten rápidamente en una tormenta de culpa tóxica. Los clientes (y, por extensión, los accionistas, los inversores y la gerencia) se convierten en los perdedores. El círculo se cierra cuando la empresa pierde montones de dinero y todos pierden sus trabajos. EPIC y FAIL.
Aquí en WebEngage, practicamos la cultura DevOps donde los desarrolladores y administradores de sistemas (como yo) crean relaciones, procesos y herramientas que les permiten interactuar mejor y, en última instancia, brindar un mejor servicio al cliente. DevOps también es más que una simple implementación de software: es una forma completamente nueva de pensar sobre la cooperación y la coordinación entre las personas que hacen el software y las personas que lo ejecutan.
Áreas como la automatización, el monitoreo, la planificación y el rendimiento de la capacidad, la copia de seguridad y la recuperación, la seguridad, la creación de redes y el aprovisionamiento se realizan asegurándose de que cada desarrollador y encargado de las operaciones participe y llegue a un consenso mutuo para hacerlo. Cada reunión semanal garantiza que cada miembro del equipo de desarrollo esté involucrado y tenga una idea de lo que está sucediendo y es libre de comentar / criticar algo que no le gusta y que la gente escuche e implemente esos cambios. Si eres un desarrollador al que le gusta trabajar en un entorno así, este lugar es para ti. Si no, bueno …
2) Libertad técnica: cada desarrollador es libre de elegir su stack para trabajar. Si bien las Mac son “geniales” y me encantan las mías, no todos eligen trabajar en ellas. El entorno de desarrollo no solo es exclusivo de cada desarrollador, sino que hemos aprendido unos de otros al compartir herramientas / aplicaciones que impulsan la productividad del desarrollador. Las ideas propuestas nunca se rechazan y se debaten ampliamente con la gente en un foro abierto. Después de haber trabajado para organizaciones grandes y pequeñas, no puedo comenzar a enfatizar la importancia de esto desde el punto de vista del desarrollador. La libertad técnica no solo impulsa la creatividad sino que también aumenta la creatividad.
3) Pila tecnológica: ejecutamos completamente AWS y ahora tenemos más de 100 instancias. Nuestra pila principal consta de servidores sin estado e inmutables que seguimos intercambiando entre nuestros equilibradores de carga durante las implementaciones, implementaciones en caliente, actualizaciones continuas que se ejecutan en Java, Javascript, mongodb fragmentado, mysql, s3, cloudfront, hadoop, redshift, kafka, zookeeper ansible , sal y muchas más tecnologías de vanguardia. El enfoque moderno de los despliegues de aplicaciones y la arquitectura se puede ver claramente en nuestra infraestructura
Si bien algunos pueden no ver esto como beneficios directos para trabajar aquí, los desarrolladores maduros se darán cuenta de lo importante que son estas cosas y, en mi opinión, estas son las ventajas y beneficios reales de trabajar en WebEngage