Develop enterprise-ready software code in languages such as C#, Scala, Angular, React, etc. to achieve business objectives, based on specific requirements from the Engineering Manager.
Learning the codebase of existing applications and improvingyour coding skills.
Develop Unit tests for developed code-base.
Working on bug fixes and other maintenance activities.
Take part in technical documentation of assigned tasks.
Remain current on new technologies and available vendor frameworks/template/bootstraps to improve efficiency; evaluate and make recommendations as necessary.
Assist in task planning, estimation, scheduling, and staffing.
Mentor younger Software Engineers to allow for skill/knowledge development through advice, coaching, and training opportunities.
Determine process improvements, best practices, and develop new processes.
Work in close partnership with cross-functional teams and management
Conducting development tests.
Experience in building Event driven solutions is an added advantage.
Requirements:
Demonstrable experience as a software engineer involving technology-focused process improvements, transformations, and/or system implementations.
Fluent with functional, imperative and object-oriented languages; knowledge of C#, TypeScript or JavaScript would be especially useful.
Strong OOP or Functional Programing and modeling skills.
Experience in .Net Core, Angular and Big data technologies.
Experience working in fast paced, agile and dynamic environment.
Experience building complex systems that have been successfully delivered to customers.
Experience with professional software engineering best practices for the full software development life cycle, including coding standards, code reviews, source control management, build processes, testing and operations.
Experience developing software utilizing workflow or ESB software; implementing and consuming large scale web services.