Our mobile team has an opening for a talented Senior iOS Developer to play a key role in leading and developing captivating applications for phones, tablets, and watches using Swift. This is an exciting opportunity to contribute to the forefront of mobile technology in the digital marketing sector.
What you'll do:
Work closely with the product manager, UX designer, and peer engineers to understand the business and technical requirements of tasks as a mobile iOS developer. During daily standup sessions, sprint planning meetings, and retrospective meetings applying agile methodologies to:
Collaborate with Product Managers to refine/plan backlog using the JIRA web product and set priority for the user stories
Record progress on tasks using the JIRA web product
Participate in sprint planning and record estimates in JIRA.
Give demos of finalized work to team members and stakeholders
Work with the Constant Contact Mobile team and back-end services teams to deliver software solutions for iOS devices (phones and tablets) that meet functional requirements defined during the backlog refinement sessions with the product managers, using the Swift programming languages, and the Xcode development environment
Use the Swift programming languages and the Xcode development environment to build iOS mobile functionality as defined in the acceptance criteria in the user story
Integrate work with the mainline of the application using Github pull request process
Define and implement unit tests for the use cases using the XCTest framework
As needed, pick up more urgent programming tasks for issues of customers in production
Collaborate with other software teams at Constant Contact that provide back end services used by the mobile application, bringing the knowledge of the dependent software to the mobile team and affecting the Scrum Jira backlogs of the external teams as necessary when the mobile application requires changes to the dependent software. Understand the architecture of the Constant Contact toolkit desktop application - a Web application - and its relationship to the mobile apps in order to participate and affect architecture discussions
Promote and nurture good team practices and career growth by participating in code reviews, and pair programming. Documenting the functionality that you deliver
Contribute to system and application architecture and develop prototypes
Review the pull requests of peer engineers and recommend good practices in Github
Participate in the pair programming for knowledge sharing and collaboration.
Improve performance of the mobile application
Provide trainings to other team members
Document code where necessary, such as APIs, and keep team practices and knowledge up to date in the Confluence web product
Seek out learning opportunities like iOS, Swift UI and mobile developer conferences and online courses
Technical Skills
6+ years experience developing native mobile iOS applications is required to be successful in this role
Experience with SwiftUI, Combine, MVVM, MVI is required
Extensive experience with SwiftUI is a must
Must have experience with Async/Await
1+ years experience programming in Objective-C is desirable
Proven ability to design and implement architecture of iOS applications is required
Experience with unit testing and test-driven development is a plus