Senior Mobile Engineer – Inside IR35
Your role will be to inspire, lead and drive the continuous improvement of our processes, tooling and engineering practices. Our engineering leads are all hands on coders, and can be either front or back end specialists or full stack developers. This role is delivery-focussed and so although it will not require day-to-day coding we do expect senior team members to be able to read and debug code across a variety of platforms and languages. There will be a requirement for some out of hours working to support releases.
Your responsibilities will include:
• Build upon a history of technical leading engineering teams and a track record of delivery within those teams.
• Inspiring others and leading by example, with a supportive and collaborative attitude in a maturing Agile and DevOps environment.
• Be experienced in Continuous Integration and Continuous Delivery practices and able to guide teams in the adoption of those practices
• Demonstrate a deep, hands on knowledge of TDD and BDD techniques
• Familiar with a couple of different languages, and well-versed in at least one
• Keen to collaborate with others, and you’ll give thought about how software fits into the bigger picture
• Show expertise in the latest technologies, processes and tools and how they can be utilised to deliver frequently, safely, efficiently and to a high standard.
• Play a leading role in the banks Engineering discipline, driving best practice and standards compliance within first direct and global IT
• Work with the Engineering management team to ensure that the members of the Engineering discipline can maximise their potential and that of the discipline.
• Work closely with the first direct Portfolio Management team to proactively identify enabling changes required for future Engineering work
• Work with the Scrum Teams to encourage and enable Agile and DevOps ways of working.
• first direct promotes a DevOps culture, so you will need to look beyond pure programming and get involved with the deployment and operation of the software we build.
The ideal candidate for this role be familiar with all and expert in some of the following:
• Practical experience of Java 8, Spring Boot, Maven, IntelliJ, Node JS, React,
• Native iOS development – Swift 4, XCode and CocoaPods
• Native Android development – Java, Kotlin, Android Studio
• Data engineering – Python
• Experience consuming REST APIs and utilising JSON for web or mobile applications
• Agile Methodologies – Scrum, Kanban, SAFe, Pair Programming
• Agile Tooling – Jira, Confluence, Slack
• CI/CD tools such as Jenkins, Git, GitHub, Nexus
• Test automation development utilising –JUnit, Wiremock, Mockito
• PaaS / IaaS – Pivotal Cloud Foundry, Mule API Gateway, AWS
• Application Monitoring – Splunk, AppDynamics
In addition to the detail listed above, the ideal candidate will:
• Be an approachable, collaborative, supportive and inspiring technical leader of people.
• Have an ability and desire to keep with up with current trends and learn new technologies in order to develop Full Stack engineering capabilities.
• A strong desire to find ways to continually improve the service delivered to customers.
• Outstanding written and spoken communication skills; an ability to adapt communication to the audience and the message to be conveyed.
• A proven track record of leading teams to deliver significant change
• Regularly demonstrate these qualities – drive, motivation, determination, dedication, resiliency, honesty and enthusiasm
• A track record of constantly looking for ways to do things better and an excellent understanding of the mechanism necessary to successfully implement change
• A flexible and adaptable management style with experience of developing yourself and others
• Excellent written and spoken communication skills; an ability to communicate with impact, ensuring complex information is articulated in a meaningful way to wide and varied audiences
• Build effective networks across business areas, developing relationships based on mutual trust and encouraging others to do the same