Job Description
As a Senior Software Engineer - Team Lead, you will play a pivotal role in driving the development and delivery of high-quality software solutions. In addition to your technical expertise, you will lead and mentor a team of software engineers, ensuring they have the guidance and support needed to excel in their roles. Your strong leadership skills, combined with your deep understanding of software development best practices will be instrumental in driving the success of our company.
Responsibilities:
- Design, develop, and maintain scalable and high-performance software applications.
- Lead a team of software engineers in designing, developing, and deploying software solutions that align with project requirements and timelines.
- Provide technical leadership and guidance to the team, ensuring adherence to best practices, coding standards, and software development methodologies.
- Collaborate with other team member to define project requirements, scope, and deliverables.
- Conduct code reviews, identify areas for improvement, and mentor team members to enhance their technical skills and knowledge.
- Actively participate in the entire software development lifecycle, from requirements gathering and design to implementation, testing, and deployment.
- Drive technical decision-making, architecture, and technology selection to ensure scalability, performance, and maintainability of the software solutions.
- Collaborate with stakeholders to identify and address technical challenges, ensuring timely resolution and project success.
- Stay up-to-date with industry trends, emerging technologies, and best practices, and apply this knowledge to drive innovation and continuous improvement within the team.
- Lead by example, demonstrating a strong work ethic, professionalism, and a commitment to excellence in all aspects of software development.
Qualifications:
- Bachelor's or Master's degree in Computer Science, Software Engineering, or a related field.
- Proven experience as a Senior Software Engineer, with a track record of successfully delivering complex software projects.
- Strong leadership skills, with experience in leading and mentoring software development teams.
- Expertise in software development using modern programming languages/technologies such as React, Node.js, Typescript, Python, or similar.
- Familiarity with AWS, Docker, CI/CD would be a plus.
- In-depth understanding of software development methodologies, design patterns, and best practices.
- Experience with agile development methodologies, such as Scrum or Kanban.
- Solid knowledge of database systems, web technologies, and cloud platforms.
- Excellent problem-solving and analytical skills, with a strong attention to detail.
- Effective communication and interpersonal skills, with the ability to collaborate with both technical and non-technical stakeholders.
- Proactive and self-motivated, with a strong ability to prioritize tasks and meet project deadlines.