Senior Software Engineer
Posted 1 day 21 hours ago by Deepstreamtech
Permanent
Full Time
I.T. & Communications Jobs
England, United Kingdom
Job Description
Requirements 
- Minimum of 5+ years of experience in software engineering or a related field
- Advanced proficiency in Go, with a proven track record in building scalable, maintainable, and high-performance software systems
- Comprehensive understanding of the full software development lifecycle, including design, development, testing and deployment
- Extensive experience with cloud platforms (e.g., AWS, Azure) and containerisation technologies (e.g., Docker, Kubernetes) for deploying and managing software applications at scale
- Strong expertise in designing and maintaining data pipelines, APIs, and microservices architecture, as well as proficient management of relational and non-relational databases
- Excellent problem-solving skills, with a proactive approach to identifying, diagnosing, and resolving complex software issues in dynamic and fast-paced environments
- Ability to write clean, well-documented, and efficient code, following industry best practices such as test-driven development (TDD), version control, and CI/CD pipelines
- Demonstrated experience mentoring junior engineers, leading technical discussions, and contributing to architectural decisions
- Strong collaboration skills, with a history of working closely with cross-functional teams, including DevOps, QA, and product teams
- Lead the design and development of scalable, high-performance software applications, making architectural decisions to ensure efficiency, maintainability, and scalability
- Collaborate closely with cross-functional teams, including product managers, DevOps, and other engineers, to define, design, and implement new features that align with business and technical goals
- Ensure high standards of code quality by driving comprehensive testing strategies and actively participating in code reviews. Lead efforts to maintain and improve automation frameworks, driving continuous improvement in development and deployment processes
- Take ownership of troubleshooting and debugging complex issues across multiple systems. Identify performance bottlenecks, proactively implementing solutions to enhance reliability, performance, and scalability
- Drive involvement in all stages of the software lifecycle, from initial design and prototyping to deployment and maintenance, providing leadership and oversight of critical components of the project
- Communicate project status effectively to stakeholders and leadership, while identifying and mitigating risks to ensure timely delivery