¿Estás pensando en unirte a uno de los equipos de desarrollo de Kinsta? ¡Aquí hay algunas cosas importantes que nos gustaría compartir contigo!
En qué Trabaja el Desarrollo
- MyKinsta es nuestro principal producto de cara al cliente. No dudes en programar una demostración para saber exactamente qué es y cómo funciona. En pocas palabras, proporciona una interfaz para que nuestros clientes gestionen la configuración de su sitio web, como la caché, la versión de PHP, el CDN, el DNS, los usuarios múltiples, la analítica, etc.
- DevKinsta es una suite de desarrollo local. Hazte con ella de forma gratuita y pruébala Te permite crear sitios localmente en Linux, Windows y macOS y enviarlos a tus entornos staging en Kinsta.
- Tenemos nuestro propio sistema de afiliados, que permite a la gente registrarse como afiliados de Kinsta y crear enlaces de referencia para atribuirse las ventas. Los afiliados pueden ganar comisiones tanto únicas como recurrentes.
- Uno de nuestros objetivos es automatizar el trabajo de todos nuestros equipos. Para ello, hay numerosas herramientas internas que creamos y mantenemos para varios departamentos. Entre ellas se encuentran las herramientas de superadministrador como atajos para acciones complejas, un registro detallado pero legible, una herramienta que hace pings en todos los sitios de nuestra infraestructura para garantizar un funcionamiento fluido, una plataforma de soporte dedicada para nuestros equipos de clientes, y mucho más.
El Stack de Desarrollo
Mantenemos nuestras herramientas actualizadas y lo más homogéneas posible.
- Node.js se utiliza como lenguaje de backend.
- React se utiliza para construir interfaces de usuario.
- TypeScript es nuestro lenguaje de elección.
- GraphQL es nuestro lenguaje de consulta implementado a través de Apollo.
- Utilizamos bases de datos NoSQL y SQL.
- Jest se utiliza para las pruebas.
- Storybook se utiliza para las pruebas de los componentes y la documentación.
- Chromatic se utiliza para las pruebas de capturas de pantalla.
- Qase se utiliza para gestionar nuestras pruebas automatizadas de extremo a extremo de Nightwatch.
El Ecosistema de Desarrollo
El desarrollo no se hace en solitario. Todos los departamentos están interconectados, y aunque algunos están más cerca de los procesos cotidianos de desarrollo que otros, trabajamos como un todo unificado.
- Tenemos un equipo dedicado al Diseño de Productos que trabaja en la planificación previa, la investigación, las pruebas con usuarios, la determinación del alcance y el diseño UX/UI de las funciones. Entienden y trabajan con nuestra biblioteca de componentes y colaboran con el desarrollo para mantener la biblioteca actualizada.
- Nuestro equipo de Control de Calidad se encarga de la gestión de las pruebas y de garantizar que el trabajo de desarrollo refleje las expectativas de nuestra fase de planificación. Creemos firmemente que el propósito del control de calidad no es ser un recurso para que el desarrollador perezoso descargue las pruebas. El equipo de control de calidad detectará errores como subproducto de su trabajo, pero se espera que los desarrolladores se aseguren de que el código enviado al equipo de control de calidad funcione correctamente.
- Nuestro equipo de Ingeniería DevOps es responsable de la coherencia de los enlaces de nuestra infraestructura de servidores en MyKinsta. Asesoran al equipo de desarrollo en la planificación, preparan el trabajo que debe realizarse en los servidores y crean los scripts Ansible (u otros) que deben activarse.
- Nuestro equipo de Ingeniería SysOps ayudará al desarrollo a crear instancias de tamaño adecuado para albergar las aplicaciones y mantendrá las máquinas necesarias para un buen funcionamiento.
- Los Equipos de Clientes y de Marketing son cruciales para el éxito de nuestras operaciones. Cualquier cambio que hagamos afecta en gran medida a estos departamentos. Recurrimos a estos equipos durante la planificación, los ponemos al día durante la construcción y nos aseguramos de que reciban toda la información y la formación que necesitan antes del lanzamiento.
- Otros equipos y departamentos, como los de Finanzas, Operaciones y otros, también pueden participar en los proyectos cuando automatizamos herramientas, trabajamos en aspectos de facturación de nuestra infraestructura, etc.
Estamos orgullosos del ambiente de colaboración que hemos creado. Se espera que los miembros del equipo comprendan la importancia de satisfacer las necesidades de cada equipo. Los desarrolladores entienden que los equipos de marketing y de clientes necesitan un aviso previo e incluso que se congele la interfaz de usuario antes del lanzamiento, al igual que estos equipos entienden la necesidad de revisiones y pruebas de RP que pueden retrasar nuestro calendario.
Cómo se Organiza el Desarrollo
Kinsta es una empresa ágil. No tenemos miedo al cambio — lo buscamos activamente para mejorar continuamente nuestro rendimiento. Por ello, la organización del desarrollo evoluciona constantemente a medida que crecemos.
Los proyectos son la principal «unidad» de organización que utilizamos. Los desarrolladores se asignan a los proyectos y se designa un Propietario de Proyecto — que suele ser un desarrollador. El Propietario del Proyecto es el responsable de traducir la idea en una característica disponible. Dependiendo del tipo de proyecto, el propietario tendrá cierto grado de control sobre la propia función, su alcance, la planificación, etc. El propietario del proyecto también es responsable de garantizar una comunicación fluida y oportuna entre todos los departamentos.
Utilizamos Jira para organizar nuestras tareas y GitHub para gestionar nuestro código y las actividades asociadas, como las revisiones de PR.
Tenemos numerosas herramientas integradas en nuestros repositorios de GitHub, que nos ayudan durante el flujo de desarrollo y crean un lugar de fuerte colaboración, no sólo entre los desarrolladores, sino también con otros equipos:
- Codeship y Buddy.works para ejecutar pruebas unitarias
- Chromatic para la construcción automática de Storybook y para ejecutar pruebas de capturas de pantalla
- Danger JS para ejecutar comprobaciones personalizadas que garanticen la coherencia en el estilo del código y las descripciones de los RP
- Un servicio personalizado que crea automáticamente un entorno de pruebas basado en Docker para cada RP. Esto es útil para los revisores de código, el equipo de control de calidad y el equipo de diseño de productos, lo que nos permite discutir los cambios en un solo lugar.
Consulta nuestras vacantes actuales!