Bachelor’s degree or foreign equivalent in Information Technology, Computer Science or related field.
Experience and/or education must include:
Java, Scala and C++: Building server-side, multi-language, multi-user applications to handle natural language requests for assistance in a variety of domain areas.
SQL Databases: Creating new database schemas to support large-scale concurrent global and personal data access; constructing, executing, testing, and tuning SQL queries in code to retrieve and manipulate data in the service of natural language requests.
High-performance algorithms: Designing and implementing accurate, reliable, efficient algorithms that scale to millions of users making concurrent requests, incorporating performant data structures and parallel programming to maximize response time and throughput.
4. Object Oriented programming: Implementation of Object-Oriented software design principles to design new systems, refactor existing codebases, and create robust API contracts between multiple components.
Distributed Systems: Design, creation, and implementation of large-scale distributed systems to pull together functionality and data across a data center in order to service millions of concurrent user requests, as well as a distributed client/server architecture incorporating potentially many client devices connected to each other as well as to a data center.
Source Control: Utilizing source control management systems including Subversion and Git to obtain, update, and publish code changes across multiple repositories.
Code Review: Working with code review systems including GitHub and Bitbucket to request feedback on code changes, respond to and incorporate feedback, and submit changes to mainline code bases.