Experience:
6-12 years of relevant experience (Minimum 6 years on .NET and 4 years on ReactJS)
Responsibilities:
- Ensure high-quality design, development, and support of technical solutions that meet stakeholder satisfaction and align with project goals
- Maintain and enhance existing systems, addressing bugs and ensuring reliability.
- Ensure applications are secure, reliable, and adhere to industry best practices for cloud development.
- Design and develop user interfaces with ReactJS, ensuring technical feasibility for UI/UX designs.
- Develop and support integration with REST Web APIs and other server-side services.
- Actively participate in estimation, code reviews, technical design discussions etc.
- Mentor junior and mid-level engineers, promoting adherence to coding standards and best practices.
- Champion the adoption of new technologies and development practices.
Required Skills:
- Proficient in OOP/OOD principles, with a strong understanding of common design patterns and algorithms to meet varying business requirements.
- Skilled in structured database design and optimization of SQL scripts and stored procedures, particularly in SQL Server.
- Advanced knowledge in ASP.NET Web API, C#, ReactJS, TypeScript, Node.js, jQuery, and Entity Framework.
- Familiarity with microservices design and best practices.
- Hands-on experience with Azure services, including Azure App Services, Azure Functions, Azure Blob Storage, Azure SQL, Azure Monitor etc.
- Proficient in using Hooks (e.g., useState, useEffect, useContext, useReducer) to manage state and side effects in functional components.
- Expertise in managing state with Redux, including Redux Thunk and Redux Toolkit for side-effect management and async actions.
- Skilled in styling React components using CSS, SASS, and CSS-in-JS libraries like Styled Components and Emotion.
- Proficient in using React Router for implementing dynamic routing and navigation in single-page applications (SPAs).
- Expertise in optimizing React applications for performance, including memoization using React.memo, lazy loading with React.lazy() and Suspense, and code-splitting for faster page load times.
- Experienced with Higher Order Components (HOCs) to enhance component functionality, enable code reuse, and manage cross-cutting concerns efficiently in React applications.
- Experience with writing unit test cases to ensure code quality.
- Familiarity with Azure DevOps, CI/CD deployment pipelines, etc.
- Familiarity with Git for version control.
- Excellent logical thinking, problem-solving abilities, and communication skills to work effectively within a team.
Educational Qualifications:
- Bachelor's degree in Computer Science, Software Engineering, or a related technical field.