Social network you want to login/join with:
Software Engineering Lead (Golang), London
Client:
J Bandy Consulting
Location:
London, United Kingdom
Job Category:
Other
EU work permit required:
Yes
Job Reference:
Job Views:
34
Posted:
13.04.2025
Expiry Date:
28.05.2025
Job Description:
Reporting to the Head of Integrations, the Software Engineering Lead will be responsible for leading the development of the User interfaces, APIs, associated micro-services and any/all related application code through a full, methodical and robust software development life-cycle.
Responsibilities include:
Software Development:
- Web-based user interfaces, REST and GQL APIs, associated micro services and any/all related application code across the full-stack from human and machine interfaces (UIs and APIs), middleware, back-end services and persistence technology.
- Building robust, reliable, scalable and maintainable software that aligns with achieving the goals, missions and objectives of the business organization.
- Providing daily verbal and/or written updates of progress on work-items – reporting and escalating blocking factors or issues in a timely manner when applicable.
- Working efficiently and methodically to rapidly resolve defects and issues with the software as identified by line-managers, application users, product-owners and/or other developers.
- Architecting and designing complex software systems and processes.
- Securing software systems and processes according to industry standards and modern principles.
- Providing guidance, mentoring and support to team members.
- Automating tasks through scripting and other methodologies.
Team Working:
- Liaising with, contributing to and supporting other teams on work items when applicable and necessary.
- Conducting code reviews to provide valuable, constructive feedback that enhances the quality of the solution.
- Building and maintaining successful relationships between peers, colleagues and management within the team – and some parts of the wider organization.
- Recognition and appreciation of the skills of others within the team to utilize knowledge.
- Build and lead a high performing team of software engineers.
- Provide guidance, mentorship and professional development opportunities to team members.
- Provide Technical Leadership.
- Perform 1:1 with direct reports.
- Conduct professional performance evaluations at the cadence of company policy.
Research and Evaluate:
- Continuously improving your skill-set in technology, software or technical methods that will enhance your contributions to the goals and objectives of the business.
- Evaluating and suggesting ways to improve team and business productivity using new tooling, process improvements and/or new methods of working.
Key Accountabilities and Activities:
1. Software Engineering:
- Propose and facilitate discussions for solutions to software engineering problems and lead the team through to successful conclusions.
- Adhere to high-quality and industry-standard development principles while delivering solutions defect-free, on-time and on-budget.
- Design, develop, and unit test software following established security and architectural standards.
- Develop, refine, and tune integrations between application elements.
- Optimize system performance and scalability.
- Package and support deployment of releases following the SRE (Site Reliability Engineer) deployment process.
- When necessary, prepare reports, manuals and other documentation on the status, operation, and maintenance of the software.
- When necessary, create HLDs (High Level Design) and LLDs (Low Level Design) in compliance with security and design authority mandates.
- Takes autonomous ownership of system areas/functions/topics and ideas to progress development under their own initiative.
2. Technical Leadership:
- Host technical debates regarding architecture to successfully obtain ‘buy-in' on ideas from peers, colleagues and upper management.
- Maintain, share, drive, champion and publish a technical vision with peers.
- Maintain knowledge in a variety of different architectural patterns and identify solutions applicable to the organizational need.
- Conduct highly complex technical sessions to educate and inform peers, colleagues and management.
- Build and lead a high performing team of software engineers.
- Provide guidance, mentorship and professional development opportunities to team members.
- Work delegation and allocation.
- Lead on recruitment of new team members and onboarding.
- Foster a collaborative and innovative work environment that encourages knowledge sharing and cross functional collaboration.
- Planning & driving daily development activities.
- Providing coaching & mentoring to direct reports & teammates.
- Ensuring high standards of software quality are maintained through good practices & habits.
- Assessing, preparing & distributing documentation of process & application changes within the team & affected stakeholders.
- Conduct performance evaluations.
- Motivate teams to rapidly produce valuable, successful and long lasting results.
- Listen to differing ideas on technical vision and helps the team reach successful consensus.
3. Liaise and Support:
- Collaborating with developers, business analysts & software architects to plan, design, test & maintain the application.
- Assisting with collection & documentation of user requirements; Stories, estimates & work plans.
- Developing, refining & tuning integrations between application elements.
- Participating in peer-reviews of solution design & code.
- Analysing & resolving technical & application issues.
- Researching & evaluating software products.
- Packing & supporting deployment of releases.
4. Research and Evaluate:
- Researching & evaluating best practices.
- Evaluate processes in line with best practices.
- Assess opportunities for application and process improvement and prepare documentation of rationale to share with team members and other affected parties.
- Planning & driving development activities.
- Actively keeping knowledge current in STEM subjects or related subjects to the role.
5. Undertake Ad-hoc Projects:
Undertake ad-hoc activities and projects as required.
Essential Qualifications/ Certifications:
- Computer Science degree or similar.
Experience and Skills:
- Proven success as a technical team leader.
- Providing support and guidance to direct reports.
- Strong Golang skills and experience.
- Strong API development and integration experience.
- Strong GIT and CI/CD experience.
- TDD (Test Driven Development) experience.
- Experience with and a champion of Agile development methodologies.
- Proven ability to work independently & collaboratively in a fast-paced technical environment.
- Excellent ability to communicate in English (Written & Verbal).