The Role
As a Lead Engineer, you will play a critical role in designing, developing, and maintaining high-quality software applications using React and TypeScript. You will collaborate with cross-functional teams to define, design, and ship new features while ensuring the performance, quality, and responsiveness of applications. This position requires a deep understanding of software engineering principles and a passion for developing scalable and efficient software solutions.
What You’ll Do
- Develop and maintain web applications using React and TypeScript.
- Design and optimize Single Page Applications (SPAs) using Micro-frontend architecture.
- Build responsive and dynamic user interfaces with React.js, HTML5, and CSS3.
- Write robust unit tests using testing frameworks like Jest or React Testing Library.
- Work with Continuous Integration and Continuous Delivery tools such as Jenkins.
- Collaborate with cross-functional teams and other stakeholders.
- Implement RESTful APIs and integrate third-party services.
- Write clean, maintainable, and efficient code following industry best practices.
- Participate in code reviews, testing, and documentation processes.
- Stay up to date with emerging technologies, frameworks, and front-end development best practices.
What You’ll Bring
- Bachelor’s degree in Computer Science, Engineering, or a related field (or equivalent experience).
- 8+ years of experience in software development.
- Proven experience working in product-based companies, contributing to product development, enhancement, and scaling (end-to-end product lifecycle management).
- Strong proficiency in React.js, JavaScript (ES6+), TypeScript, Redux, REST API integration, and Next.js (a plus).
- Solid understanding of SQL and NoSQL databases such as SQL Server, PostgreSQL, MongoDB, or Redis.
- Strong knowledge of RESTful API development and integration.
- Experience with search and analytics engines like Elasticsearch.
- Hands-on experience with unit and integration testing.
- Familiarity with DevOps & CI/CD tools such as Docker, Kubernetes, and Azure DevOps.
- Ensure high performance, scalability, and security of applications.
- Proficiency with version control systems such as Git (GitHub/GitLab/Bitbucket).
- Experience with Agile methodologies, TDD, and peer code reviews.
- Ability to mentor junior developers and collaborate with UX/UI designers and product teams.
- Excellent problem-solving, analytical, and debugging skills.
- Strong communication, teamwork, and leadership abilities.
- Ability to work independently and take full ownership of assigned projects.
Knowledge of the following technologies is a plus:
- Experience with GraphQL, WebSocket, or SignalR.
- Knowledge or hands-on experience with back-end technologies such as Node.js, Express.js, Python (FastAPI/Django/Flask), Java (Spring Boot/Jersey), or .NET (C#, ASP.NET, WebAPI, .NET Core).
- Understanding of Microservices architecture.
- Familiarity with Angular.
- Experience in designing complex application and system architectures.
- Working knowledge of message queues like RabbitMQ or Amazon SQS.
- Experience with Cloud platforms (AWS/Azure) or On-Premise Data Centers.