As a Software Engineering Team Leader, you will be responsible for overseeing the technical aspects of software development projects from conception to deployment. You will lead a team of developers, providing guidance, mentorship, and technical expertise to ensure the successful delivery of high-quality software solutions. Collaborating closely with project managers, product owners, and other stakeholders, you will drive the development process forward, ensuring adherence to best practices, coding standards, and project timelines.
Responsibilities
- Lead and mentor a team of software developers, fostering a culture of collaboration, innovation, and excellence. Provide technical guidance and support to team members, helping them solve complex problems and develop their skills.
- Collaborate with project managers, product owners, and other stakeholders to define project requirements, budgets, timelines, and deliverables. Develop and maintain project plans, ensuring that development tasks are completed on schedule and within budget.
- Lead the design and architecture of software solutions, ensuring scalability, reliability, and maintainability. Evaluate technologies and frameworks, making informed decisions to meet project requirements and long-term goals.
- Participate in hands-on coding and development activities, contributing high-quality code that meets established standards and best practices. Review code produced by team members, providing feedback and guidance as needed.
- Implement and oversee processes for quality assurance and testing, including unit testing, integration testing, and user acceptance testing. Ensure that software solutions meet functional and performance requirements and address any issues or bugs in a timely manner. Highlight any security issues and propose mitigation measures to higher management.
- Create and maintain technical documentation, including design documents, architecture diagrams, and user manuals. Facilitate knowledge sharing within the team, promoting continuous learning and improvement. Create and assist in the creation of Standard Operating Procedures for the Software Development Division.
- Collaborate effectively with cross-functional teams, including designers, testers, and system administrators, to deliver integrated software solutions. Communicate project status, risks, and issues to stakeholders, and proactively address concerns to ensure project success.
- Provide regular trainings to the software development team as well as support to build a sustainable training system.
Qualifications
- Bachelor's or Master's Degree in Information Technology (Networks), Computer Science, or any related field
- 5+ years of relevant work experience
- Modern Python knowledge
- C++/C# dev with strong experience in Desktop. Windows Desktop development with WPF. Ability to deep dive into C++/C# libraries/rest API documentation.
- Strong understanding of architectural and security principles, design patterns, and best practices
- GitLab or GitHub CICD and Docker Compose containerization
- Experience with test automation
- Experience in agile project execution and management
- Experience in effort estimation
- Experience with cloud platforms (e.g., AWS, Azure, Google Cloud) and microservices architecture; Additional relevant certifications (e.g., TOGAF, AWS Certified Solutions Architect) are a plus.
- Experience with Revit API or any other AEC software API experience is a plus
- Experience with basic administration/troubleshooting of GCP or AWS or On-premises Linux VMs is a plus
- Strong analytical skills and ability to solve complex technical problems
- High level of accuracy and attention to detail in architectural designs and documentation