Key Responsibilities - Work within a Software Development team, following Agile development methodologies. - Work with Project management and solution architects to estimate and scope out projects. - Work with Creative team during planning, discovery, and production phase. - Work with both front-end and back-end development teams to create and optimize solutions. - Optimizing code for performance. - Comment code and produce documentation to industry standards as needed. - Produce code to the highest standards while adhering to industry accepted architecture and design pattern techniques and methodologies (e.g., MVC, SOA, OOP, DI etc.) - Defining and developing APIs. - Contribute to the analysis and design of software products and tools. - Evaluate and advise on the technical feasibility. - Create quality prototypes for a clearer understanding of UI designs. - Test and confirm software is fit for purpose with intended audiences. - Recommend and implement refinements and improvements. - Follow formal Software Engineering best-practices. - Mentoring and guiding team members - Monitoring and measuring customer experience and KPIs - Managing periodic reporting on the progress to the management and the customer Qualifications - Bachelors degree in computer science, engineering, or equivalent experience Experience - At least 6 years of experience in building Applications - At least 4 years of experience with React, TypeScript - Good understanding of OOPs concepts. - Strong hands-on knowledge on HTML5, CSS3, ES6 - Strong understanding of the React Virtual DOM, JSX and API - Hands on experience on REST APIs, GraphQL and WebSocket - Experience with a State-management framework like Redux (with middleware) or MobX - Understanding of cloud-based technologies, Azure, SQL and relational databases, SOAP and REST Web-Services, JSON, XML, MSAL. - Comfortable with concepts like Container/Presentation components, Higher Order Components - Worked with UI libraries like Material-UI, Semantic UI, Bootstrap or similar - Good understanding of CSS in JS, aka scoped-css or Styled Components - Unit testing with Karma Mocha or Jest - Experience on working with frontend build systems and automating the same using Grunt / Gulp - Experience on MVC frameworks (Backbone.js, or similar) and knowledge of common JavaScript design patterns will be good to have - Experience of working with server-side JavaScript frameworks based on Node.js - Exposure to Style Guides, Atomic Design - Exposure to Scrum and Agile methodologies