Now is the time to join us!
At Virgin Pulse we value and celebrate diversity and we are committed to creating an inclusive environment for all employees. We believe in creating teams made up of individuals with various backgrounds, experiences, and perspectives. Why? Because diversity inspires innovation, collaboration, and challenges us to produce better solutions. But more than this, diversity is our strength, and a catalyst in our ability to #changelivesforgood.
Who you are
As a Senior Software Engineer at Virgin Pulse you will be working on a Digital Health SaaS platform that supports millions of engaged, active members in 20 languages across 190 countries, serving over 50 billion+ API calls every year to mobile and desktop users.
In this particular role, you will be working on the Kafka pipeline engineering team, with frequent interactions with various engineering teams that are producing and consuming a billion+ events. You will be working with a passionate and strong team of engineers and product managers. With your strong background in cloud technologies and software architecture you will have the opportunity to develop, manage and optimize our tech stack and production pipelines. This work may include projects like building out new customer-facing features, creating the APIs for new capabilities, data integration from our partners, developing new strategies for managing our product stack and optimizing existing code to make it more performant. If you are someone with an appetite for growth we will offer you more opportunity to learn directly from our highly skilled group of engineers.
You are knowledgeable in and have been writing production-ready code in Java and Kotlin using your strong analytical skills. You possess the desire and ability to learn quickly but any familiarity with Angular and the AWS ecosystem will make you stand out. Along with excellent problem-solving abilities and strong communication skills, you also have the desire and ability to self-start and time manage in a fast-paced environment; all of which will set you up for success in our team.
In this role you will wear many hats, but your knowledge will be essential in the following:
- Design, build, and evolve durable, highly scalable Kafka infrastructure
- Provide expertise and establish best practices on the development, monitoring, and maintenance of event-based technologies
- Write production ready code in Java and Kotlin
- Design, develop and deploy backend services with focus on high availability, low latency and scalability
- Monitor, test, and continuously optimize your designs
- Provide technical leadership and coaching to the more junior team members to enable them to build better software
- Master our development process, culture and code base, then think of ways to improve it and implement within our team
- Take operational responsibility for the services that are owned by your team, potentially including taking part in off hour calls with systems support team
You’ll be rewarded and recognized for your performance in an environment that will challenge you and give you clear direction on what it takes to succeed in your role as well as provide development for other roles you may be interested in.
What you bring to the team
In order to represent the best of what we have to offer you come to us with a multitude of positive attributes including:
- Fluency in Java
- 4 or more years of experience developing services and APIs
- Experience with Apache Kafka in a high-throughput production environment
- A solid understanding of best practices for software development including testing, monitoring, and design
- Desire to go beyond the functional solution to build maintainable and well-tested code
- A desire to partner closely with product managers to refine the product
- Ability to articulate and champion design strategies related to scalability, maintainability, performance, security and usability
- Experience with stream processing applications such as Flink, KSQL/ksqlDB, KStreams, or Materialize
- Expertise in schema registries and knowledge of the tradeoffs between various message serialization protocols
- Experience with some of the tools in our tech stack, particularly Spring Boot, Cassandra, PostgreSQL and/or Elasticsearch
- Experience with Continuous Integration and Continuous Delivery technologies like Maven, TeamCity, Ansible, Harness, Terraform, or similar
- Experience with highly scalable systems in an AWS ecosystem
No candidate will meet every single desired qualification. If your experience looks a little different from what we’ve identified and you think you can bring value to the role, we’d love to learn more about you!
Our technology sets us apart
Our cloud platform is using an exciting mixture of technologies to provide millions of end users with rich experiences in native mobile and responsive browser platforms built in Angular at scale. These highly scalable, reliable applications are supported by a suite of services built on APIs and real-time processors leveraging Spring Framework technologies. Our platforms consume billions of activities, in various forms, which drive our analytics and machine learning platforms. We leverage backend systems, with AWS at their core, which support a diverse set of workloads including Aurora RDS, ElastiCache, SNS/SQS, Kafka, EC2/ECS/EKS, S3, CloudFront, and Personalize. We manage these services with infrastructure as code technologies to ensure consistency and reliability.
Continuous Integration and Deployment is part of our DNA. We structure our applications as microservices and manage each deployment pipeline using containers, GitLab, and Harness. We strive for layered approach to unit, integration, functional tests to allow for lower risk releases at rates 100s of times per day to multiple environments.
You’ll be working on a platform that serves:
- Several million users with nearly 50% use daily
- 75 billion API calls and transactions a year spread across 35 services
- An engaging native mobile platform driving 85% of user traffic
- Hundreds of terabytes of data spread across multiple transactional and analytical stores
Engineers at Virgin Pulse work in small autonomous teams of technical leads, product owners, project managers, designers, and engineers collaborating with each other, across teams, to deliver unique solutions and products to the portfolio. As part of our team, you bring to the table your technical and leadership skills to help us build the latest technology in health and wellness platforms.
Work to ensure system and data security is maintained at a high standard, ensuring the confidentiality, integrity and availability of the Virgin Pulse application is not compromised. Ensure industry best practice coding standards are adhered to ensure all code developed at Virgin Pulse is free from bugs and security vulnerabilities, such as those defined and published by OWASP.
Why work at Virgin Pulse?
We believe a career should provide competitive pay and benefits, a collaborative and supportive culture and cutting-edge technology and services. Virgin Pulse is an equal opportunity organization and is committed to diversity, inclusion, equity and social justice. To that end, we make a particular effort to recruit candidates from minoritized backgrounds to apply for open positions.