About the Role
We are looking for a hands-on and passionate Full Stack Lead to join our team and take a leading role in the development of cutting-edge applications, including those involving machine learning and AI. You will be responsible for designing, developing, and deploying full stack solutions, guiding and mentoring other developers, and ensuring the delivery of high-quality, scalable, and maintainable code. You will have a deep understanding of front-end and back-end technologies, with proven expertise in React, Node.js, and Python, as well as some hands-on experience with ML engineering principles.
Responsibilities:
- Technical Leadership:
- Provide technical leadership and guidance to a team of full stack developers.
- Design and architect full stack solutions for complex applications, including those with AI/ML components.
- Define coding standards and best practices, and ensure adherence across the team.
- Conduct code reviews and provide constructive feedback.
- Stay up-to-date with the latest technologies and trends in full stack development and AI/ML.
- Full Stack Development:
- Develop and maintain web applications using React, Node.js, and Python.
- Build reusable components and libraries for future use.
- Design and implement RESTful APIs for communication between front-end and back-end.
- Optimize applications for maximum speed and scalability.
- Write clean, efficient, and well-documented code.
- AI/ML Integration:
- Collaborate with data scientists and ML engineers to integrate machine learning models into applications.
- Build and maintain the infrastructure for deploying and serving ML models.
- Implement data pipelines for processing and feeding data to ML models.
- Monitor the performance of ML models in production and identify areas for improvement.
- Project Management:
- Participate in sprint planning and task estimation.
- Track progress and report on development activities.
- Identify and mitigate potential risks and issues.
- Ensure timely delivery of high-quality software.
Skills:
- Essential:
- JavaScript (Mastery): Deep understanding of JavaScript, including ES6+ features and asynchronous programming. Mastery of React ecosystem, including state management (e.g., Redux, Context API), routing, and testing.
- Node.js (Proficiency): Proficient in building scalable and performant back-end applications with Node.js and Express.js. Experience with middleware, authentication, and authorization.
- Python (Proficiency): Proficient in Python and at least one web framework (e.g., Flask, Django). Experience with data structures, algorithms, and object-oriented programming.
- Databases (Experience): Experience with both relational databases (e.g., PostgreSQL) and NoSQL databases (e.g., MongoDB). Ability to design database schemas and optimize queries.
- API Design (Experience): Solid understanding of RESTful API design principles. Experience with API documentation tools (e.g., Swagger).
- Version Control (Mastery): Mastery of Git and version control best practices, including branching, merging, and conflict resolution.
- Containers and Orchestration (Experience): Hands-on experience with Docker for containerizing applications. Familiarity with Kubernetes for orchestrating and managing containers.
- Testing (Proficiency): Proficient in writing unit tests and integration tests. Experience with testing frameworks for both front-end and back-end.
- Communication & Collaboration (Mastery): Excellent written and verbal communication skills. Proven ability to collaborate effectively with cross-functional teams.
- Leadership & Mentorship (Proficiency): Strong leadership and mentoring skills. Ability to guide and motivate a team of developers.
- Desirable:
- Cloud Platforms (Experience): Experience with cloud platforms like AWS or Azure. Knowledge of cloud services relevant to application deployment and scaling.
- DevOps (Experience): Experience with DevOps practices and CI/CD pipelines. Familiarity with tools like Jenkins or Azure DevOps.
- Machine Learning (Experience): Familiarity with machine learning algorithms and libraries (e.g., scikit-learn, TensorFlow, PyTorch). Experience with data processing and visualization tools.
Qualifications:
- Essential:
- Bachelor's degree in Computer Science or related field.
- 6+ years of experience in full stack development, with at least 2 years in a lead role.
- Proven experience in developing and deploying applications with AI/ML components.