Summary
Join Broadvoice as a Principal Software Engineer and lead the design, development, and optimization of cloud communication platforms. You will work closely with cross-functional teams to shape and enhance our platform, ensuring it meets scalability, performance, and security requirements.
Requirements
- Extensive experience in software development, with a focus on Node.js, Ruby on Rails, PostgreSQL, and TypeScript
- Proven track record in architecting and developing large-scale, distributed systems in cloud-based environments
- Strong understanding of database design and performance optimization, especially with PostgreSQL
- Experience with front-end frameworks and building APIs (RESTful and GraphQL)
- Expertise in agile methodologies , test-driven development (TDD), and continuous integration/deployment (CI/CD) pipelines
- Proficiency in containerization technologies such as Docker and orchestration platforms like Kubernetes is a plus
- Demonstrated leadership abilities , with a passion for mentoring and growing engineering talent
- Exceptional problem-solving skills and attention to detail, with the ability to multi-task and manage competing priorities
- Experience with observability and monitoring tools , ensuring platform availability and reliability (Prometheus, Grafana, etc.)
- Solid understanding of cloud platforms , such as AWS, GCP, or Azure
Responsibilities
- Lead the design and architecture of highly scalable and distributed systems, focusing on Node.js, Ruby on Rails, PostgreSQL, and TypeScript
- Collaborate with product owners and other stakeholders to define software requirements and turn them into reliable, high-performance solutions
- Drive end-to-end development of new features, from conception through deployment, while ensuring coding standards and best practices are followed
- Optimize system performance and reliability , ensuring the platform meets all scalability and security requirements
- Mentor and guide software engineers , providing technical leadership and fostering a culture of learning and collaboration
- Conduct code reviews , troubleshooting, and performance tuning to maintain high code quality and system health
- Work closely with DevOps and QA teams to ensure smooth deployment and continuous integration of features into the live system
- Research and evaluate new technologies to continuously improve the development stack and apply modern tools and techniques to increase efficiency