Design, develop, modify, implement, and support complex system components and interactions between multiple systems; create a high-level software architecture to address the functional and non-functional requirements; carry out code reviews, supervise and guide other team members through system implementation; present software designs, communicate with and work with client teams as necessary; understand business requirements and suggest technical solutions to improve business functions/business workflows/usability; create high-quality, high-performance, readable, and maintainable source code; maintain and improve existing code; adopt new technologies and contribute to the evolution of the existing applications and services; take part in all SDLC processes; carry out unit testing and verification of the implementation; identify risks and quality assurance methods for changes; determine the root cause for the complex software issues and develop practical, efficient, and permanent technical solutions; create necessary technical design documents and similar documentation.
Requirements:
Bachelor’s degree in computer science, computer engineering, or similar discipline and ten years of experience working on software as part of a SaaS platform, such as online commerce, educational technology platforms, financial software, or others;
Three years' experience leading technical teams;
Experience working as a frontend and backend developer using Java framework and other similar languages and frameworks;
Experience working with multiple programming languages;
Experience in designing and building performance software for assessment and credentialing in higher education;
Strong knowledge of three or more programming languages including Java, JavaScript, Typescript, C#, Kotlin, Python, or similar;
Experience in Object Oriented Programming;
Familiarity with Design Patterns;
Knowledge of REST API standard;
Experience in API development;
Advanced knowledge of Database Design concepts;
Familiarity with Message Queueing and RabbitMQ;
Familiarity with Shared Memory Services such as HazelCast; and
Familiarity with Workflow Process Automation systems such as Camunda and the BPMN standard