Calix provides the cloud, software platforms, systems and services required for communications service providers to simplify their businesses, excite their subscribers and grow their value.
We are seeking a highly skilled and motivated Senior Software Engineer to join our dynamic CMS team. The ideal candidate will possess extensive experience in software development, with a strong focus on Java/J2EE, Linux, microservices, REST APIs, and high availability systems.
Qualifications:
- A Bachelor’s degree is required, with a Master’s degree in a related field preferred.
- Over 5+ years of progressive experience in developing distributed, multi-tier enterprise applications, particularly for element and network management platforms, ideally within Access Networks or telecommunications products.
- More than 5 years of extensive experience in designing and developing Linux and JAVA/J2EE based applications using Microservices/SOA architecture, Spring Boot, OOP principles, Collections, Multithreading, interprocess communication, exception handling, memory management, packages, JVM, among others.
- Demonstrated expertise in designing and implementing FCAPS solutions that are geographically diverse, highly scalable, and support high concurrency and multithreading.
- Over 5+ years of experience in creating solutions with REST APIs, JSON, XML, Postgres, ELK Stack, SNMP, and Netconf/Yang.
- Extensive experience in building authentication and authorization systems utilizing modern technologies like OAuth and LDAP/Radius.
- Significant experience in establishing High Availability (HA), Clustering, Redundancy, and Stateful Failover through design, implementation, and deployment.
- Proven track record in performance benchmarking and database optimization.
- Practical experience with containerization frameworks including Docker, Kubernetes, or comparable tools.
- Familiarity with various Linux tools related to source code version control, code review, bug tracking, and CI/CD, such as Git, Gerrit, Jira, and Jenkins.
- Solid understanding of Networking and Broadband technologies is a plus.
Responsibilities:
- Design and implement innovative solutions: Design, code, and debug complex software systems, continuously enhancing their performance and functionality.
- Solve problems efficiently: Investigate and resolve software-related issues, optimizing performance and providing exceptional user experiences.
- Be an active team member: Engage in discussions, brainstorm ideas, and suggest solutions, shaping the direction of our shared services.
- Implement and sustain high availability (HA) solutions, clustering, redundancy, and stateful failover mechanisms.
- Develop and integrate REST APIs, ensuring smooth communication between different components.
- Remain forward-thinking: Advocate for new technologies that enhance productivity and efficiency, keeping our tech stack up-to-date and effectively.