SiriusXM is a leading audio entertainment company in North America, known for its innovative audio services. As a Staff Software Engineer, you will enhance core provisioning systems, ensuring the reliability and efficiency of SiriusXM's satellite infrastructure while collaborating on new features to meet evolving business needs.
Responsibilities:
- Collaborating closely with cross-functional teams to gather requirements, define system architectures, and develop software solutions that meet the needs of our satellite provisioning infrastructure
- Participating in code reviews, providing feedback to ensure the quality, security, and maintainability of our software components
- Contributing to the development of performant and scalable software using languages such as Java, C++, and Scala
- Conducting thorough testing and debugging of software components to identify and resolve issues, ensuring performance and reliability
- Participating in agile ceremonies such as sprint planning, daily stand-ups, and retrospectives to facilitate collaboration and project delivery
- Documenting software design specifications, technical documentation, and user guides to support knowledge sharing and maintain system integrity
Requirements:
- BS in Software Engineering, Computer Science, or relevant field
- Minimum of 7 years of experience in the software development field, specifically backend system development
- Extremely proficient in Java, C++, and Scala, with a strong foundation in software design principles and best practices
- Experience with alternative languages and frameworks, such as HTTP, JSON, RESTful APIs, Testing / Debugging tools and other relevant technologies
- Experience with Linux operating systems, particularly RHEL (Red Hat Enterprise Linux) and CentOS
- Knowledge of Linux system administration tasks relevant to software development, including package management, user permissions, and shell scripting
- Experience with database technologies, particularly Postgres
- Deep understanding of both relational and non-relational database technologies with regards to integrating database operations into software applications
- Deep understanding of database replication technologies and principles and integration into software applications
- Understanding of software build and deployment processes, including continuous integration (CI) and continuous deployment (CD) pipelines
- Strong comprehension of Software Development Life Cycle and Configuration Management
- Experience with containerization technologies such as Docker and Podman for building, packaging, and running containerized applications
- Experience with orchestration platforms such as Kubernetes for automating deployment, scaling, and management of containerized workloads
- Experience working with OpenShift for enterprise-grade container orchestration and integration with CI/CD pipelines and security policies
- Experience with Infrastructure-as-Code (IaC) tools such as AWS Cloud Development Kit (CDK)
- Experience with monitoring and logging tools such as AWS CloudWatch, the ELK stack (Elasticsearch, Logstash, Kibana), DataDog
- Proficiency in cloud computing platforms, specifically Amazon Web Services (AWS)
- Ability to design, deploy, and manage scalable and resilient cloud-based applications
- Experience with cloud-based database services, message queues, and other cloud-native services
- Knowledge of security best practices for cloud environments and experience implementing security controls in cloud-based applications
- Familiarity with version control systems such as Git and BitBucket for collaborative software development and code management
- Experience with Scrum and/or Kanban development
- Strong experience with scripting languages (Bash, Python, Typescript, or similar languages)
- Comprehension of web services, micro services and event driven architecture
- Comprehension of high availability, multi-tier, mission critical system design
- Ability to work in a myriad of personality types in a fast-paced and sometimes ambiguous environment
- Highly organized
- Excellent problem-solving skills
- Ability to work independently and in a team environment
- Ability to project professionalism over the phone/zoom and in person
- Willingness to take initiative and to follow through on projects
- Strong communication skills, with the ability to articulate technical concepts clearly
- Excellent time management skills, with the ability to prioritize and multi-task, and work under shifting deadlines in a fast-paced environment
- Must have legal right to work in the U.S