Atlanta, GA | Contract
This is an active and hands-on senior developer position, involving both the creation of new world class features as well as on going maintenance and bug fixes for one of the most popular applications in Apple’ s App Store.
The candidate will have the opportunity to help build and shape the our client' s application on all mobile devices as well as assist in the development, technical design, and architecture for upcoming new products for both iPhone, iPad, Apple Watch, and Apple TV as well as other emerging technologies including cognitive applications for the mobile space.
The candidate will be working in a Continuous Integration and Continuous Deployment environment.
- Design, develop, and maintain the next generation of applications based on product user feedback, strategic goals and customer/product/team collaboration
- Work with the Product Owner and Engineering Managers to develop comprehensive solutions to customer problems and company goals.
- Design, Architect, and Create reusable libraries that encapsulate commonly used behaviors.
- Create reusable user interface components.
- Work closely with peer developers and the supervisor to ensure all relevant and agreed upon aspects of the application are well-designed and tested.
- Guide and mentor junior developers.
- Refine the quality of the user experience
- Maintain existing software applications through product enhancements, performance improvements, and increasing scalability.
- Create and maintain unit tests leveraging all available tools
- Design with test scenarios in mind (TDD)
- Provide assistance to others in localizing and correcting software defects.
- Monitor applications for performance, availability, throughput, and application workflow
- Work with the product and design teams to help determine the most optimal way to implement a given products vision
- Participate in agile team discovery process: communicate feasibility of all solutions
- Add value during team retrospectives
- Perform timely and meaningful code reviews of peer developed solutions
EDUCATION AND EXPERIENCE
- Bachelor' s Degree (or equivalent) in Computer Science or related field
- Minimum of 8 years mobile development experience, of which 5 years must be using Objective-C, C, C++, or Swift for the iOS platform
- Minimum 2 years Object Oriented programming experience or equivalent education.
- Experience in iterative software development environments such as Agile or Kanban
- Experience with Test-Driven Development, Continuous Integration and other Agile practices
- Expert using Apple' s XCode and Instruments for software development and performance/optimization profiling.
- Expert in using standard debugging techniques such as logging, LLDB, and/or
- Instruments to localize and correct software defects.
- Well versed in the challenges related to mobile development including battery and radio usage as well as CPU and memory constraints.
- Understanding of common design patterns including Model-View- Controller.
- Hands on experience using smart phones and/or tablets preferably iPhone and/or iPad.
- Expert understanding of ARC as it relates to iOS Memory Management, including the concepts of strong vs weak and retain cycles.
- Ability to interact both in a team oriented setting as well as an individual.
- Strong verbal and written communication skills.
- Highly creative.
- Ability to work in a collaborative environment.
- A commitment to quality.
KNOWLEDGE, SKILLS AND ABILITIES
- Expert level Proficiency in Objective-C and XCode (design and development)
- Knowledge of and experience using Agile Development processes
- Understanding of Test Driven Design software development
- Strong problem solving skills.
- Able to convey information concisely and clearly to all levels of personnel
- Able to work closely and effectively with peer developers and work on several active projects simultaneously
- Exceptional interpersonal and teamwork skills
- Swift experience is preferred
- Proficiency with Git and/or GitHubFamiliarity with JIRA (Bug/Issue tracking tool)