Senior Software Engineer - Platform
Let me tell you about an artificial intelligence (AI) company that you probably have never heard of, but you will. As a matter of fact, this company is the world’s largest independent AI company and it’s headquartered in the Boston area. We operate at the intersection of customer experience and AI – two of today’s hottest and most dynamic industries.
Interactions’ mission is to create amazing customer experiences by advancing AI technology that understands and engages on a human level. The human element of what we do not only relates to how we differentiate our AI technology, more importantly, it informs and guides our focus on our most valuable asset, our employees. We endeavor to create opportunities for our employees to advance their skills, their interests, their passions, their careers and their lives. Like all companies, we’re not perfect, but we are committed to continually improving our employee value proposition, one that centers on competitiveness, flexibility and an appreciation for individuality.
For prospective employees, if that sounds challenging and exciting, we’d love to talk to you.
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 NLP/voice technologies.
- Prior experience with AI and machine learning technologies.
- Enjoy coding and solving challenging and complex technical problems.