Job Purpose
Design, develop, and improve software using engineering methodologies that deliver business, platform, and technology capabilities for customers and colleagues.
Responsibilities
* Develop high‑quality, scalable, and maintainable software solutions using industry‑aligned programming languages, frameworks, and tools.
* Ensure code is optimized for performance and adheres to secure coding practices.
* Collaborate across product, design, and engineering teams to define requirements, devise solution strategies, and align with business objectives.
* Participate in code reviews and promote a culture of code quality and knowledge sharing.
* Stay informed of industry technology trends and contribute to the organization’s technology communities.
* Implement effective unit‑testing practices to ensure code readability, reliability, and proper design.
* Deliver work in line with relevant rules, regulations, and codes of conduct.
* Manage risk, strengthen controls, and support the adoption of new policies and procedures.
* Advise and influence decision making within your area of expertise.
* Communicate complex and sensitive information to stakeholders.
Qualifications
* Experience in iOS app development; building and maintaining production iOS apps using Swift (SwiftUI and/or UIKit).
* Good understanding of the iOS SDK, application lifecycle, and Apple frameworks.
* Strong critical thinking and resourcefulness when debugging, evaluating trade‑offs, and solving complex problems.
* Excellent grasp of OOP and SOLID principles.
* Working knowledge of common iOS design patterns (MVC, MVVM, Coordinator, etc.).
* Ability to write maintainable, testable, and scalable code.
* Clear communicator capable of explaining technical decisions and collaborating with cross‑functional teams.
Preferred Skills
* Experience with CI/CD systems such as Jenkins or GitLab CI.
* Familiarity with automated testing and release pipelines.
* Knowledge of unit/UI testing (Swift Testing, XCUITest) and awareness of testing strategies (TDD).
* Understanding of user needs and business context when making technical decisions.
* Ability to balance code quality with delivery and user impact.
Leadership & People Management (if applicable)
* Lead and supervise a team, guiding professional development and coordinating resources.
* Demonstrate leadership behaviours: Listen, Energise, Align, and Develop.
Location
Edinburgh
#J-18808-Ljbffr