We are representing our client in the global technology and engineering space to look for an experienced Assistant/ Software Lead to take charge of developing software applications using Agile development methodologies. This role will lead software development projects from design through deployment and play a key role in mentoring junior engineers.
The ideal candidate will have strong technical skills, Agile experience, and a passion for building scalable, maintainable software solutions. You will be a key player in leading Agile ceremonies and guiding the development team to meet sprint goals, resolve blockers, and continuously improve the software delivery process.
Responsibilities:
- Primary technical point of contact for clients, collaborating closely with client stakeholders to understand their requirements, challenges, and business goals.
- Manage client relationships and expectations, ensuring that technical solutions align with business objectives and project timelines.
- Provide regular updates to clients on project status, deliverables, and potential risks, maintaining transparency and fostering trust.
- Lead the design, architecture, and development of software solutions tailored to client needs, ensuring that solutions are scalable, secure, and maintainable.
- Oversee the implementation of best practices in software development, including code quality, performance, and security.
- Provide hands-on development leadership, contributing to key software components and resolving complex technical issues.
- Lead Agile ceremonies (sprint planning, daily standups, retrospectives, etc.), ensuring that the development team is focused and aligned with client priorities.
- Collaborate with product owners, business analysts, and other stakeholders to define and refine requirements, breaking them down into actionable user stories.
- Ensure timely delivery of features and functionality, managing project scope and mitigating risks.
- Lead and mentor a team of developers, fostering a collaborative and high performance team environment.
- Provide technical guidance, coaching, and support to team members, ensuring adherence to coding standards and best practices.
- Promote knowledge-sharing and continuous learning within the team, encouraging the adoption of new technologies and development approaches.
- Ensure robust, scalable, and secure code by conducting code reviews and promoting a culture of quality.
- Drive continuous improvement in the development process, leveraging feedback, retrospectives, and lessons learned to enhance future project delivery.
- Ensure that the software meets or exceeds client expectations and quality standards upon delivery.
- Provide ongoing post-launch support, working with clients to address any issues or improvements post-deployment.
- Build long-term client relationships, identifying opportunities for further collaboration or future projects.
Requirements:
- Minimum 5+ years of professional software development experience, with at least 2 years in a senior or lead role.
- Demonstrated experience in leading and delivering software solutions for clients, including gathering requirements, managing client expectations, and ensuring successful delivery.
- Experience in designing and implementing scalable and maintainable systems, including microservices, RESTful APIs, and cloud architectures.
- Proven track record of successfully delivering IT projects within deadlines, budgets, and scope, while ensuring client satisfaction.
- Proficiency in at least one of the following languages: Java, Python, JavaScript, C#, Go, Ruby, or PHP.
- Experience with modern web frameworks (e.g., React, Angular, Spring Boot, Django, Node.js) and/or mobile development frameworks (e.g., React Native, Flutter).
- Expertise in both relational databases (e.g., MySQL, PostgreSQL) and NoSQL databases (e.g., MongoDB, Cassandra).
- Familiarity with Git and CI/CD tools such as Jenkins, GitLab CI, CircleCI, or similar.
- Experience leading Agile teams using Scrum, Kanban, or other frameworks, with a strong understanding of Agile project management tools (e.g., Jira, Trello).
- Experience with automated testing frameworks (e.g., JUnit, Mocha, Jest) and a strong understanding of software quality assurance practices.
- Familiarity with containerization tools like Docker and Kubernetes for deploying and scaling applications.