Software Engineer (Full Stack)
About the role
As a Full Stack Software Engineer, you will play a crucial role in developing, deploying, and maintaining scalable applications that directly impact our business objectives. This position offers the chance to contribute meaningfully across the entire software development lifecycle whilst working with a collaborative and forward-thinking engineering team.
Key responsibilities
- Design, develop, and implement full stack solutions using modern front-end and back-end technologies
- Collaborate with product managers, designers, and other engineers to translate requirements into robust technical solutions
- Write clean, maintainable, and well-documented code that adheres to established coding standards and best practices
- Develop and optimise both client-side and server-side components to ensure high performance and user experience
- Participate in code reviews, providing and receiving constructive feedback to enhance code quality
- Identify, troubleshoot, and resolve technical issues and performance bottlenecks
- Contribute to the design and architecture of scalable systems and databases
- Work with version control systems and contribute to continuous integration and continuous deployment pipelines
- Stay up-to-date with emerging technologies and industry best practices, sharing knowledge with the team
- Participate in agile development processes including sprint planning, stand-ups, and retrospectives
What we're looking for
- Bachelor's degree in Computer Science, Software Engineering, or a related field (or equivalent professional experience)
- Proven experience as a Full Stack Developer or similar role, with a portfolio demonstrating your work
- Proficiency in front-end technologies such as HTML, CSS, JavaScript, and modern frameworks (React, Vue.js, Angular, or similar)
- Strong back-end development experience with languages such as Java, Python, Node.js, C#, or Go
- Solid understanding of relational and non-relational databases (SQL and NoSQL)
- Experience with RESTful API design and development
- Familiarity with cloud platforms (AWS, Azure, Google Cloud, or similar) and containerisation technologies (Docker, Kubernetes)
- Knowledge of version control systems, particularly Git
- Excellent problem-solving skills and the ability to think critically about technical challenges
- Strong communication skills and the ability to work effectively in a team environment
- Experience with Agile methodologies and development practices
- Preferred: experience with microservices architecture, CI/CD pipelines, and testing frameworks (unit testing, integration testing)
- Preferred: familiarity with DevOps practices and infrastructure as code