iOS Software Engineer Developer
iOS Software Engineer
We are looking for an experienced and professional iOS Software Engineer to Deliver across the entire mobile application lifecycle, from concept /design/ build/ deploy /test, right through to release to app stores and continuing support.
Key job responsibilities
- As an iOS Software Engineer you will work as part of a strong cross functional Agile team on The Telegraph apps, bringing them to the next level of innovation and usability and creating an engaging and satisfying experience for the end-user.
- You will develop and extend the reach of our highly-rated existing applications, discussing with the senior engineers and the whole team what is the best way of implementing the requirements defined by the business. This will include collaborating with product owners and design colleagues to deliver inspirational apps, and continue to optimise their performance post release, providing effective support in identifying pitfalls and the root cause/solution of any issue that may arise.
- A key part of this role will be to develop and produce functional solutions with quality designs and code in accordance to architecture design standards, code standards and environment configuration management.
- You will also build prototypes at tech scoping stage of projects and create and maintain a robust technical framework to support the apps
- You will also be involved in designing and implementing reusable components to connect to our set of APIs; you will work closely with the rest of the team in defining the best architectural approach to implement the set of components so that they will be ready to be reused across our range of apps and in any future new app.
- Work in a matrix managed, fast paced Engineering team, helping drive the delivery and technical competency of your team and the entire department forward.
- Work in an agile, cross functional team, taking responsibility for the engineering team deliverables and quality.
- Work with the Solution Architects and the Senior Engineers to ensure the team delivers to required quality and adheres to defined best practices.
- Be proactive, hands on, involved in all tasks and take on sprint backlog items.
- Seek out and actively promote ideas and techniques in the community – both within The Telegraph and externally in the broader developers community
- Understand the impact of any changes to the bigger The Telegraph ecosystem
- Take responsibility for the delivery for tasks from initial design to delivery into production and support
- Understand the impact changes will have on load and performance
- Support the QA Testers in your team, defining test scenarios and related cases, identifying tools and best practices to ensure the quality of our products is always very high.
- You are comfortable working with uncertainty. You can tackle constraints and work around them.
- You hold and express considered opinions, and modify them when faced with contrary evidence. Above all, you let the facts do the talking whenever possible.
- You have been heard saying “it’s good enough” and “let’s ship it”, but also “what is our goal?” and “this should be nowhere near production”.
- You do what it takes to ensure a successful outcome, knowing when to compromise and when not to.
- You have a deep understanding of what motivates, inspires and stifles software teams.
- You appreciate that what you do is a key piece of a bigger puzzle. You strive to understand the other pieces and ‘the whole’.
- A very good knowledge of Swift is mandatory for this role
- Deep knowledge of the iOS platform, Xcode, Swift and Objective C and proven experience in developing engaging native iOS applications (multiple apps available on the Apple store)
- A good understanding of iOS UX/UI guidelines/best practices and the ability to engage with the creative team to deliver pragmatic solutions, balancing design, quality and velocity
- Proven experience with outside data sources and API’s (JSON, SOAP, Rest, XML)
- Flair for clean code, reusability, testability (TDD, SOLID) and readability
- OO design skills and ability to produce clean, maintainable, decoupled and testable code
- Knowledge and experience in development using a number of design patterns, with an understanding of the positives and negative aspects of these patterns
- Experience in TDD and testing suites for iOS (e.g. GHUnit, OCUnit, Appium)
- Experience with continuous integration, Gradle, Jenkins,, test-driven development, BDD
- Experience with an exception handling, crash reporting, static code analysis tools
- Experience in using Instruments to control app performances
- Confident working with version control systems such as Stash, Git or Bitbucket
- Hands-on experience of continuous delivery
- Very good understanding of the Agile principles and proven experience into translating those in the daily task developing mobile apps. Great knowledge of the Atlassian suite of tools
- Strong focus on writing Unit Tests wherever possible, structuring the code in the best possible way for that scope
- Solid understanding and practical knowledge of the full mobile development and application lifecycle
- Experience with mobile development issues related to performance optimisation, caching, security and native components / SDK's
- Working knowledge of the general mobile landscape, architectures, trends and emerging technologies
- Excellent communication skills across all levels of the organisation and external 3rd parties
- A highly flexible, adaptable and resilient personality, with the ability to work in an international team environment
Nice to have skills
- Experience with A/B testing, test coverage and other best practices.
- Experience in Appium or any other automation tools
- Experience with Google Firebase
- Experience with Xcode's command-line tools
- Experience in integrating Adobe analytics SDK
- Experience with at least one server-side technology (e.g. PHP) and REST API development
- Shows sensitivity and respect for others' feelings, cultures and beliefs, showing respect for diversity.
- Makes a positive contribution to the team, supporting colleagues in their day-to-day work.
- Establishes constructive and collaborative relationships with immediate colleagues.
- Passes on information promptly, keeping colleagues up to date.
- Handles disagreements as they occur, seeking a constructive solution.
Courage to Challenge
- Stands by own proposals in the face of difficult questions, providing supporting evidence.
- Explores and takes into account the full range of viewpoints.
- Adapts a questioning approach to clarify or more fully understand an issue.
- Helps to uncover pertinent facts to move a debate forward.
- Consults others for ideas, advice and direction when facing unusual problems
- Interested in finding out about the organisation and the connections between wider organisational issues and their own role.
- Inquisitive about current issues and developments within the developers community and how they impact on current practice.
- Extends understanding to underlying issues and causes.
- Open to trying new ideas and takes on board change.
- Reflects, analyses and tests ideas and insights with others
- Assesses the value of information and data before applying it to a decision.
- Ensures details and facts are correct, complete and consistent, ensuring that conclusions drawn from the information are built on solid foundations.
- Use previous experience, standard procedures and common sense to make decisions.
- Accurately collects and interprets relevant data in order to support organisation decision-making and delivery of task.
- Is able to use common sense and knowledge to solve problems
Driven to Deliver
- Demonstrates a consistently strong bias for action and a desire to deliver.
- Identifies the steps to achieve agreed tasks, goals and objectives in the immediate or short term.
- Focuses own activity on the agreed priorities getting things done efficiently and effectively.
- Keeps track of own progress, completing work to deadlines or informing others when targets cannot be met.
- Consistently delivers to expectations and commitments, meeting or exceeding agreed standards
This job was originally posted as www.jobsite.co.uk/job/960300043