Job Summary
The Mid Developer will work closely with the Senior Developer to manage both front-end and back-end development processes, implementing solutions from conception to final product according to business needs. The Mid Developer is required to implement and oversee the design, develop and maintenance of fully-fledged and functioning platforms.  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 APIâ€s. 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. Bachelorâ€s degree in Computer Science, Engineering, or equivalent experience.  Experience At least 5+ 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.