Lead Software Engineer
AdviserPlus
As a Lead Software Engineer, you will play a critical role in driving the technical direction of software solutions as well as supporting the career and personal progression needs of a team of engineers.
This position requires strong leadership skills to guide a team of engineers, foster collaboration, providing technical mentorship, with a focus on the practical use of AI technologies to improve how we deliver software. The Lead Software Engineer will work closely with cross-functional teams to align technical strategies with business objectives and deliver robust solutions that meet client needs.
Technical Leadership:
- Champion the practical use of AI tools and technologies across our development practices.
- Provide leadership in the design, development, and deployment of software applications.
- Lead system design and architecture discussions to build scalable and robust systems.
- Drive best practices across the software engineering team, ensuring adherence to coding standards, design patterns, and performance optimization.
- Mentor and guide team members, promoting technical excellence and continuous improvement.
- Identify and evaluate opportunities to improve existing code, technical standards and ways of working.
- Take accountability for the accuracy of estimates, on-time project delivery and average cycle time for the team.
Software Development:
- Define and evolve an AI-first approach to software development
- Develop cloud-native AI solutions using industry-leading platforms and services to extend our existing products
- Develop high-quality software solutions using C#, .NET technologies, and frontend frameworks such as React.js.
- Write efficient, scalable, and maintainable code with a focus on high-quality standards and minimal defect leakage.
- Implement frontend solutions using Typescript, ASP.Net MVC, HTML5, CSS.
- Design and develop RESTful APIs and Web APIs, ensuring best practices in API design.
- Utilize SQL, Entity Framework, T-SQL and SQL Server for database management and optimization.
- Apply design patterns (e.g. OOP, SOLID, Clean Code) to create robust and reusable code components.
- Challenge, define and promote the use of AI agent capabilities to improve software engineering processes and delivery.
- Understand the OWASP Secure Coding Practices and establish security focussed development practices.
Cloud Computing & DevOps:
- Develop and deploy applications on Azure using services such as Azure Apps, Blob Storage, Service Bus, and Azure Functions.
- Utilize version control systems (Git) and participate in DevOps practices including CI/CD pipelines (e.g., YAML), Infrastructure as Code (e.g. Terraform).
- Leverage Azure DevOps for task management and deployment processes
- Lead collaboration efforts within the team, as well as with Architects, Platform Engineering, and Product Owners, to align technical solutions with business goals.
- Act as the primary technical liaison with clients to understand their business objectives and translate them into technical requirements.
- Communicate technical concepts and project progress clearly to both technical and non-technical stakeholders.
- Proactively provide feedback and foster a collaborative environment where team members can thrive.
Delivery:
- Oversee the delivery of software projects from small to large scale, ensuring that timelines and quality expectations are met.
- Monitor project progress and identify potential risks or deviations, implementing corrective actions as needed.
- Facilitate Agile ceremonies, ensuring the team follows Agile best practices.
- Ensure timely and efficient delivery of software that meets client and business requirements.
- Provide High-Level Sizing and Detailed estimates that accurately reflect project scope and complexity leading to minimal variance between estimated and actual effort.
- Work with the delivery lead to create a well-defined project plan with clear timelines and resource allocation.
- Take accountability for tasks progressing through each stage of the SDLC.
- Own and continuously improve the software release process, driving greater automation, reliability and deployment frequency while maintaining appropriate quality, security and governance controls.
People Management (20% of your time):
- Conduct one-to-one meetings, appraisals, and performance monitoring for team members, providing constructive feedback and identifying growth opportunities.
- Manage career progression within the team, including identifying training needs and supporting professional development.
- Handle conflict resolution and disciplinary matters with a fair and objective approach.
- Set and monitor objectives for team members, aligning their goals with overall project and company objectives.
- Participate in interviews and technical assessments to recruit top talent and ensure a high-performing team.
- Lead knowledge exchange sessions within the team and across the organization, fostering a culture of continuous learning and innovation.
- Organize and lead sessions to share insights and drive process improvements.
- Contribute to shaping policies, processes, and technical decisions within the team and organization.
Required:
- 7+ years of experience in software engineering, with a focus on backend and frontend technologies.
- Proven experience in leading software engineering teams and driving technical projects to successful completion.
- In-depth experience with C#,.NET 8.x+, React.js, and associated technologies.
- Expertise in SQL, Entity Framework, and SQL Server, with a strong understanding of database design and optimization.
- Hands-on experience with cloud platforms, particularly Azure, and its associated services.
- Experience working with automated software delivery processes, including CI/CD pipelines, automated testing and deployment automation.
- Experience working within “you build it, you run it” engineering models, with teams owning software through development, deployment and production, and applying modern engineering practices that enable frequent, safe and reliable releases.
Preferred:
- Experience in mentoring and managing a team of software engineers.
- Strong background in Agile methodologies and CI/CD pipeline management.
- Previous experience in client-facing roles, with the ability to translate business needs into technical requirements.
- Strong leadership abilities with experience in guiding and mentoring team members.
- Highly collaborative, with the ability to work effectively within teams and across departments.
Communication & Problem-Solving:
- Exceptional communication skills, with the ability to clearly articulate technical concepts to various stakeholders.
- Advanced problem-solving skills, with a focus on delivering innovative and effective solutions to complex challenges.
- Commitment to continuous learning and staying updated with the latest industry trends and technologies.
- Strong focus on process improvement and driving innovation within the team and organization.
AdviserPlus is fully committed to the principle of equal opportunities in employment and opposes all forms of unlawful or unfair discrimination, direct or indirect. All employees are expected to promote and work fully in line with the company’s Equal Opportunities Policy.
AdviserPlus is a Disability Confident Leader employer and welcomes applications from disabled people. If disabled applicants meet the minimum criteria for the job, they can request and will be offered a guaranteed interview. Should applicants require reasonable adjustment support for the interview, please contact the Resourcing Team.
#J-18808-LjbffrReference: WJ-766_21986898