Position: iOS Engineer
Location: Detroit, MI
Duration: Direct Hire
Interview: Phone & F2F (Client will pay for F2F)
Work individually and on a team to participate in all aspects of software engineering including technical design, development, testing documentation, analysis and support based on user or system design specifications Responsible for individually completing small to medium sized projects as well as for the delivery of complex components of large projects while working as a member of a team. Provide deep expertise as a SME in one more areas of software development technology.
· Design, development, testing documentation, analysis and support based on user or system design specifications. Support technical projects through to completion according to project standards and user satisfaction. Responsible for the delivery of small to medium sized projects as well as for the delivery of complex components of large projects as part of a team. Projects may support multiple departments and Ilitch-owned companies.
· Take part in the research and proof-of-concepts of new technologies. Present findings to senior technologists in the organization.
· Develop software following corporate standards for, the design, development, testing, and support of software, systems, and applications. Produce excellent quality code with a focus on stability, security, and maintainability.
· Contribute to software architecture designs. Participate in the planning and design of future software and technical architectures.
· Work with fellow LCE developers as well as external resources located locally or off-shore.
· Participate in and actively contribute to formal design and code reviews for others’ work.
· Support QA in the development of integration test plans, test conditions, and expected test results.
· Resolve system issues and respond to suggestions for improvements.
· Provide support for production applications including on-call afterhours support on a rotational basis. Develop and maintain support documentation.
· Mentoring less-experienced developers in software development techniques and processes.
· Develop estimates for completion of programming projects and participate in developing formal project plans.
· Participates in technical aspects of system evaluation and vendor selection processes.
· Perform technical functions in the software development process such as performing builds and releases.
· Act as a subject matter expert in one or more areas of technology. Keep up to date with latest technology trends and developments.
MINIMUM KNOWLEDGE, SKILLS AND ABILITIES:
· Bachelor’s degree in Computer Science or related field
· Minimum of five (5) years of professional experience developing software in a structure environment
· Minimum of three (3) years’ experience working with data-driven systems using SQL and RDBMS.
· Experience working with third-party libraries and web service integration (SOAP, REST, JSON, XML) to connect mobile applications to back-end services
· Experience working with enterprise application architecture design patterns and how they translate into infrastructure/security deployments
· Experience with offline storage, threading, and performance tuning of mobile applications
· Familiarity with embedding analytics in mobile applications
· Familiarity with push notification services
· Excellent debugging and optimization skills
· Experience with Agile and Waterfall software development practices
· Demonstrated knowledge of advanced programming techniques and experience mentoring less senior developers.
· Experience using formal software management and source control tools such as Team Foundation Server, Aldon, SVN, or Git.
· Excellent analytical and problem-solving skills. Ability to find creative solutions to solve problems while staying within practice guidelines.
· Self-motivated, curious, creative and passionate about technology.
· Demonstrated written and verbal communication skills.
· Experience developing formal estimations for project completion.
· Experience with Object Oriented (OO) techniques, including an understanding of common OO and web/mobile application design patterns
· 3+ years of experience in working with Objective-C and/or Swift, and in-depth knowledge of the iOS SDK
· Experience with the Xcode IDE
· Experience with Cocoa Touch and other iOS frameworks
· Detailed knowledge of iOS UI design guidelines
· Experience with Auto Layout and designing for different screen sizes
PREFERRED SKILLS, KNOWLEDGE AND ABILITIES:
· Experience with Agile software development methodologies such as Scrum or Kanban.
· Masters degree in Computer Science or related field.
· Formal certifications such as Microsoft Certified Professional certifications or MCSE.
· Team or technical leadership experience.
OpenLogix Corporation is an Equal Opportunity Employer. OpenLogix does not discriminate on the basis of race, color, religion, gender, national origin, age, disability or any other characteristic protected by applicable state or federal civil rights laws.