About the role
Our client are looking for experienced Software Engineers who will work as part of a team within an agile environment. You will enjoy working across the complete software design lifecycle, from concept and scoping requirements through to design, build and testing.
You are a strong communicator and team player, able to build high-quality and scalable software, taking responsibility for the documenting and testing of your own code and contributing to the overall success of each project.
Key Responsibilities:
- Design and implement web applications and content management components to specification that are efficient, scalable and well abstracted.
- Liaise with the senior engineers and to explore and suggest appropriate technical solutions to achieve the required product features whilst safeguarding functionality, scalability and performance.
- Adhere to coding standards, writing clean, professional, and maintainable code.
- Write concise yet comprehensive technical documentation.
- Perform testing and quality assurance by writing unit and integration tests.
- Debug and optimise systems.
- Monitor work against the assigned tasks and provide progress updates and report any issues or technical difficulties to senior colleagues on a regular basis.
- Accurately estimate effort based on provided briefs.
- Deploy, install and configure software systems.
- Contribute to coding standards and best practices for application development.
- Provide necessary training and technical support for relevant applications and services.
Essential Requirements:
- Willingness to learn and work with new technologies.
- Experience of database design and optimisation including SQL and/or NoSQL technologies.
- Proficiency with Git.
- Linux systems administration experience.
Desirable Requirements:
- Commercial programming experience with Python and the Django framework.
- Experience with automated testing.
- Understanding of modern frontend web technologies (HTML5, JavaScript, CSS.)
- Experience of developing RESTful APIs.