Staff Software Engineer
NextivaIndia1w ago
Job description
About the role
Nextiva is a cloud communications company that provides voice, video, and messaging solutions to businesses of all sizes around the world. The Staff Software Engineer will play a central role in designing and building the platforms that power Nextiva's communication products and services. This position is based in Bengaluru and requires regular on-site presence at the company office. The engineer will work closely with product managers and fellow engineering teams to deliver scalable, reliable software that meets the needs of enterprise customers.
Key facts
What you'll do
- Design and implement large-scale distributed systems that support Nextiva's cloud-based communication platform and its many interconnected services.
- Write clean, well-documented, and maintainable code in modern programming languages for building cloud-native backend services and applications.
- Collaborate with cross-functional teams including product managers and designers to define technical requirements and make sound architecture decisions.
- Conduct thorough code reviews and provide constructive, actionable feedback to fellow engineers to maintain high code quality standards.
- Build and maintain well-designed APIs that enable third-party integrations with Nextiva products and external partner systems.
- Troubleshoot and resolve production issues quickly while optimizing system performance and stability under high traffic and load conditions.
- Mentor junior and mid-level engineers through technical guidance, code reviews, and collaborative pair programming sessions on complex problems.
- Contribute to infrastructure automation and deployment pipelines that support continuous integration and continuous delivery of software changes.
- Evaluate emerging technologies and engineering tools and make well-reasoned recommendations for improving overall development practices and workflows.
- Participate in on-call rotations to monitor production services and ensure their ongoing reliability and availability for end users.
Requirements
- Bachelor's degree in Computer Science, Software Engineering, or a closely related technical field from an accredited university or institution.
- 5 or more years of professional software engineering experience building and maintaining production-grade distributed systems and applications.
- Strong proficiency in at least one general-purpose programming language such as Java, Python, or Go with deep understanding of its ecosystem.
- Hands-on experience designing and deploying microservices architectures within cloud-based production environments using modern development practices and patterns.
- Solid understanding of core data structures, algorithms, and object-oriented design principles applied to real-world software engineering challenges.
- Familiarity with containerization technologies and container orchestration platforms for managing, scaling, and monitoring application workloads in production.
- Demonstrated ability to work effectively in a collaborative team environment while also taking ownership of individual deliverables and goals.
- Comfort with ambiguity and the ability to independently prioritize tasks and make decisions in a fast-paced, dynamic setting.
Nice to have
- Experience with real-time communication protocols and voice or video streaming technologies in production environments serving large user bases.
- Knowledge of event-driven architectures and message queuing systems for building distributed applications that handle high volumes of data.
- Contributions to open-source projects or a visible technical presence in the broader developer community through writing or speaking.
- Familiarity with agile development methodologies and sprint-based delivery cycles in a fast-paced engineering organization with multiple cross-functional teams.
Skills & tools
- Programming languages including Java, Python, Go, or equivalent modern languages used for building backend services and distributed applications.
- Cloud platforms such as AWS, Azure, or Google Cloud for service deployment, scaling, and infrastructure management in production.
- Container tools like Docker and orchestration systems such as Kubernetes for packaging, running, and managing containerized application workloads.
- CI/CD pipelines and configuration management tools for automated build, test, and release processes across development and production environments.
- Relational and NoSQL databases for efficiently storing, querying, and managing application data at scale in production systems.
- Version control systems, particularly Git, for collaborative code management, branching strategies, and code review workflows across engineering teams.
Practical notes
- This role requires regular on-site attendance at the Bengaluru office, and candidates should be prepared for a hybrid work arrangement with most days spent in the office.
- The expected work schedule follows standard business hours with some flexibility provided for attending meetings across different time zones and collaborating with distributed team members.
- Candidates should be prepared to actively participate in team ceremonies such as daily standups, sprint planning, retrospectives, and technical design discussions on a regular cadence.
- The hiring process includes multiple rounds of technical interviews focused on system design, coding proficiency, and problem-solving assessments conducted by senior engineering leaders.