Senior Software Engineer I - Programmable Voice
Talkdesk
At Talkdesk, we are courageous innovators focused on redefining the customer experience, making the impossible possible for companies globally. We champion an inclusive and diverse culture representative of the communities in which we live and serve. And, we give back to our community by volunteering our time, supporting non-profits, and minimizing our global footprint. Each day, thousands of employees, customers, and partners all over the world trust Talkdesk to deliver a better way to great experiences.
We are recognized as a cloud contact center leader by many of the most influential research organizations, including Gartner and Forrester. With $498 million in total funding, a valuation of more than $10 Billion, and a ranking of #16 on the Forbes Cloud 100 list, now is the time to be part of the Talkdesk legacy to help accelerate our success in a new decade of transformational growth.
At Talkdesk, we embrace FAST, our fundamental operating principles that define who we are as an organization. These principles drive us to make the impossible possible. FAST: Focus + Accountability + Speed = Talkdesker.
- Focus: Focus time, energy and attention on what is most impactful for the business and thoughtful about how and when to partner with others.
- Accountability: Hold self and others accountable to meet commitments and drive results. Accept responsibility for successes and failures.
- Speed: Execute with agility and urgency. Act promptly, decisively, and without delay. Make good and timely decisions that keep the organization moving forward.
- Talkdesker: YOU!
Job Summary:
- At Talkdesk, our Engineering team follows a micro-service architecture approach to build the next generation of Talkdesk, with vertical teams responsible for all the decisions under their services. Through our Agile Coaches, we promote agile and collaborative practices and pair programming and we won’t let a single line of code reach production without peer code reviews. We strongly believe that the only true authority stems from knowledge, not from the position and we always treat others with respect, deference, and patience.
- Do you love APIs, databases, messaging, and open source? Do you crave great challenges that will make you feel awesome once you solve them? We're looking for software engineers like you to join a team of amazing developers that is completely disrupting an industry.
Duties and Responsibilities:
- Work independently as well as in small teams to develop the best product on the market
- Implement a scalable, stable, and user-friendly product that can handle our current capacity and handle future growth
- Work in a modern agile software engineering environment (with source code control, dev/stage/prod release cycle, extensive testing, and continuous deployment)
- Solve challenging technical problems and put your skills to the test every day
- Develop and maintain microservices and APIs
- Engage with the Product team and other engineering teams across clusters and Business Units to help to ensure the solutions the team is building are fulfilling all the requirements
Qualifications:
- BS/MS Degree in Computer Science, Applied Math, or an Engineering area
- Expertise in Microservices, AWS, Java, Python, JavaScript, React, Spring Boot, Data streaming technologies, APIs, Messaging queues, Caches, CI/CD, and Telemetry.
- Expertise with cloud telephony, UCaaS, CCaaS, SIP, SBC, and integration with CPaaS providers.
- Proficiency in telecom protocols (e.g., SIP, VoIP, WebRTC) and industry standards
- Experience with one or more database technologies (ex: PostgreSQL, MySQL, MongoDB).
- Experience with Docker/Kubernetes container technologies.
- Experience with REST API design and implementation.
- Experience with streaming technologies such as Kafka, Flink.
- Experience with modern automated testing, CI/CD pipelines and SaaS tools.
- Passion for producing clean, standards-compliant, secure code.
- Proficient with automated unit and API testing, continuous integration and safe deployment practices.
- Fearless about learning new technologies and technical approaches to application development.
- Experience working in a geographically distributed team.
- Good written and spoken English
Work Environment and Physical Requirements:
Primarily office-environment work, extended periods of sitting or standing, computer-based work. Limited lifting, and equipment usage limited to computer-related equipment (keyboards, mouse, etc.)