senior software engineer (integration)
Are you a Senior Software Engineer looking to elevate your skills and thrive in a supportive, fast-paced, and dynamic environment? Where the work you do drives real, innovative, meaningful, and valued outputs?
Working at with REPL, we will nurture your talent, working in highly collaborative teams on a variety of projects and products, all focused on delivering cutting-edge, market-leading solutions within the Retail domain for large, global brands. As a consumer-led, ever-changing market, the retail industry demands innovative and inspiring tech solutions. This is the foundation of the REPL ethos and shapes the way in which we work. We are passionate about using new technology and have embraced DevOps, Big Data and Machine Learning within our products.
About the role
We are looking for an experienced integration software engineer to support our growing customer base on many large, innovative development projects with well-known high street brands. You will be remarkable, with excellent problem-solving and communication skills. As a team player, you will fit straight into our open, collaborative, no-fear, egoless working environment.
REPL is an equal opportunity employer and we know the value of a diverse and inclusive workforce. We have very active communities for Women in Tech, Automation and Innovation and we are also actively involved in the local community.
We offer a flexible working environment. The majority of our Development Services team are based in our offices in Henley-in-Arden, Warwick, London but we are also now expanding to South Africa. An average week may be split between the office and working at home but as we are a consulting business you also may also be required to travel and work on-site with some of our customers.
What you’ll be doing:
- Integration development experience, ideally in platforms such as Mulesoft 3/ 4, Dell Boomi or other integration technologies.
- Participate and contribute in the design and development of Integration-based orchestrations and API development with customers/clients.
- Develop and execute complementary unit tests using appropriate technologies
- Assist in the development of logical and physical specifications
- Ability to identify, communicate, debug, and resolve technical defects
- Willingness to assist with implementing optimization workflows and orchestrations
- Experience of integrating various technologies; files, databases, JMS, web services etc.
- Experience orchestrating complex use cases involving multiple systems, incorporating error handling and logging
- Demonstrable understanding of Web Services (SOAP & REST), XML and JSON formats document schemas, HTTP protocol, and underlying internetworking concepts
- Develop code to a high standard and in accordance with the defined software development life cycle and coding standards.
- Experience in Continuous Integration and Continuous Deployment using Maven, Jenkins, Subversion, Git, and/or comparable toolsets.
- Experience with Java programming/development, with Java Enterprise and Spring experience preferred but not essential.
- Be aware of new technology and innovation and suggest innovative opportunities to help the business grow.
- Liaise with the Business Analyst Team to understand business requirements for Projects / Changes and to build the technical solution accordingly.
- Produce high quality technical specifications to describe the program logic and process flow of the developed code.
- Produce detailed roll out and back out documentation for projects and system enhancements.
- Some experience of database design and development
- Comfortable taking responsibility for building and testing features that will be delivered to end-users
- Analytical thinking, good decision-making skills
- The ability to analyse and debug existing code in terms of functionality and performance
- The ability to communicate effectively both inside and outside of the technical team
- The ability to quickly learn and adjust to new technologies and processes
- The ability to deliver clear, concise, well-structured code that adheres to commercial standards
- Take accountability, responsibility and be passionate for quality team delivery
- Strong team-building and personal skills
You will also have some experience of, or a desire to learn about the following:
- A working understanding of Agile software development practices e.g. Scrum, KanBan
- Working with cloud services
- Modern software development practices e.g. TDD, BDD, Pairing
- CI and build tools eg. Maven, Jenkins, Bamboo, MS VSTS, Azure DevOps
- Version control solutions eg. Git, Mercurial
- Design patterns (e.g. factory)