Senior Software Engineer - Java Platform
The Sr. Software Engineer plays a key role in designing and implementing components and features of the Core platform. The Sr. Software Engineer works in close collaboration with QA, DevOps, Product Owners, Professional Services, and in some cases third party software vendors.
Essential Job Functions:
- Contribute to the creation of a massively scalable, highly available SaaS platform.
- Design and develop high-volume, high-performance, high-availability, concurrent Java applications using proven Java frameworks and technologies.
- Responsible for troubleshooting and fixing issues.
- Effectively communicate within and outside the team.
- Bring new technical ideas, in keeping with latest industry trends, to fruition by prototyping and then incorporating it into the Platform.
- Participate in daily Scrum activities to closely monitor work against schedules and deliverables, providing progress updates and reporting any issues or technical difficulties.
Preparation, Knowledge, Skills and Abilities:
- Bachelor’s Degree in Computer Science or similar field.
- Six to nine years of relevant experience including hands-on coding in Java and other JVM based languages.
- Must have experience with highly concurrent and multi-threaded systems.
- Minimum of three years working on mission critical, 24x7, high performance and scalable systems.
- Minimum of three years working on JEE and asynchronous messaging based technologies and distributed systems.
- Minimum of three years working on SQL, databases and other persistence technologies using Java.
- Experience working with all phases of the Software Development Lifecycle – ranging from architecture and design to implementation and testing.
- Experience in writing design documentation, coding, and writing Unit and Integration tests.
- Prior experience with architecture and design of components and features that are part of large enterprise architectures.
- Experience with profiling and troubleshooting large scale, concurrent and multi-threaded JVM based languages (Java).
- Must have strong testing, debugging and problem solving skills.
- Master’s Degree in Computer Science or similar field.
- Prior experience with voice technologies.
- Prior experience with AI and machine learning technologies.
- Enjoy coding and solving challenging and complex technical problems.