Position Purpose
The Sr. Software Engineer is responsible for independently developing and redesigning / refactoring products to adapt to the evolving needs of customers and associates, with a focus on building and deploying containerized applications in Java and Kotlin for both Edge and Cloud infrastructures. This role requires expertise in Monarch Configuration, Kubernetes, Google Cloud Platform (GCP), and distributed (Edge) computing systems. Sr. Software Engineers are integral members of a dynamic team, fostering technical and leadership growth while creating, deploying, and supporting production-ready applications. In addition to software delivery, Sr. Software Engineers contribute to architectural decisions, infrastructure deployment, configuration for Edge and Cloud, production monitoring, security, and mentoring less experienced engineers.
Key Responsibilities
- 50% Delivery and Execution
- Designs, develops, tests, deploys, and maintains containerized applications in Java and Kotlin, leveraging Kubernetes for orchestrating workloads on both Edge and Cloud platforms (primarily GCP).
- Configures and manages Monarch for infrastructure deployment, adapting software for distributed environments.
- Leads deployments to Edge systems and GCP, understanding the unique requirements of distributed computing.
- Develops robust automated test suites (including functional and destructive) to enable safe, frequent, and successful code deployment.
- Approach challenges using a global perspective to assess design and deployment strategies for hybrid environments.
- 20% Learns and Grows
- Proactively expands expertise in Kubernetes, distributed systems, Monarch configuration, and modern deployment pipelines.
- Seeks continuous growth in Edge and Cloud infrastructure concepts, leveraging successes and learnings from experimentation.
- 20% Plans and Aligns
- Collaborates closely with Product and Engineering teams using agile practices, ensuring that user stories encompass deployment, scalability, and security requirements for distributed (Edge and Cloud) systems.
- Communicates technical solutions tailored to the needs of different audiences, with an emphasis on infrastructure, deployment, and containerization requirements.
- 10% Supports and Enables
- Mentors and guides junior engineers and peers in Cloud / Edge computing best practices, container orchestration, and modern infrastructure-as-code approaches.
- Leads technical discussions focused on distributed system performance, container security, and deployment resilience.
Required Technical Skills
Demonstrated experience with :Monarch Configuration for infrastructure deployment on Edge and Cloud platformsDeveloping, containerizing, and orchestrating Java and Kotlin applications with KubernetesDeploying applications and managing services in Google Cloud Platform (GCP)Building and supporting distributed computing solutions, especially on Edge systemsDeep understanding of :CI / CD pipelines for containerized workloadsModern software design patterns applicable to distributed, scalable systemsPreferred Qualifications
5+ years of professional software engineering experience, primarily in Java and Kotlin (Python experience is a plus)Experience with front-end technologies (HTML, CSS, JavaScript / TypeScript frameworks)Familiarity with relational and NoSQL database technologies supporting distributed applicationsExperience implementing security frameworks for user and services authorization / authenticationCreation and execution of unit, integration, functional, destructive, and performance testsUse of modern debugging and root-cause analysis techniques in distributed environmentsProficiency with version control systems (e.g., Git)