Post Job Free

Resume

Sign in

Senior IOS Developer

Location:
Ann Arbor, MI, 48105
Posted:
January 15, 2024

Contact this candidate

Resume:

Daniel Monaghan

Senior iOS Mobile Apps Developer

Phone: 734-***-****

Email: ad07gp@r.postjobfree.com

Professional Summary

10+ years of experience in iOS Mobile App Development

* ********* **** ** the App Store

•Innovative Professional skilled in iOS mobile app developer with expertise in Swift development with versions Swift 1 – Swift 5, and with Objective-C and Cocoa frameworks

•Experience with all aspects of the software development lifecycle (SDLC)

•Experience working with iOS frameworks such as Core Data, Core Animation, Core Graphics, and Core Text

•Familiarity with RESTful APIs to connect iOS applications to back-end services

•Experience with third-party libraries and APIs in iOS mobile app development

•Native Enterprise iOS Development Experience (Objective-C and Swift)

•RESTful API and SOAP web services experience - consumption

•Experience with MVC frameworks and OO patterns in iOS

•Experience with layouts that handle phone and tablet resolutions

•Experience with iOS performance profilers such as instruments, allocations, and time

•Use of Apple Push Notification in iOS mobile app development

•Expertise in iOS Mobile app development experience using Xcode

•Accessing and modifying data using web services and JSON

•Experience with continuous builds and Git and SVN source control using SourceTree, BitBucket, and GitHub

•Investigating and debugging issues on iOS mobile platforms

•Experience with Swift, Objective-C, Xcode, iOS versions, debugging tools, memory management, multi-threading techniques, UI design

•Used to working in an Agile Test-Driven Development (TDD) environment and following strong quality processes

•Design and development of high-quality, scalable, and efficient solutions on schedule with available resources

•Experience developing commercial and enterprise iPhone/iPad applications

•Extensive knowledge of Keychain, TouchID, NSOperations, NSOperationsQueue, Push Notification, Local Notification, APNS, RESTful APIs, etc

•Work well collaborative with team members and other members of the organization

•Excellent communication skills; verbal and written, and able to document apps, and projects as well as facilitate code review and mentor developers

Technical Skills Summary

Programming Languages: Swift (Swift 1 – Swift 5. x), Objective-C

Database: SQLite, SQL, Oracle, VBA

Web Services: REST, SOAP, XML, JSON, AFNetworking, NSURLConnection, NSURLSession, Reachability, NSJSONSerialization, NSXMLSerialization, Grand Central Dispatch (GCD)

iOS Services: Apple Push Notification (APNS), CocoaPods, CocoaTouch

iOS Basic Classes: NSUserDefaults, NSNotificationCenter, NSOperationQueue

iOS Frameworks: AVFoundation, Core Graphics, Core Data

UI Implementation: AutoLayout, Storyboard, Xib, Interface Builder, Size Classes, UIKit, Auto Layout Constraints, Adaptive Layout.

Architecture: MVC, MVVM

Operating Systems: iOS, Linux, Windows

Mobile Map Tools: Core Location, MapKit, Location Kit, Google Maps API

Testing: TestFlight, Jenkins, Test-Driven Development (TDD)

Development Tools: Visual Studio, Xcode

Experience

Senior iOS App Developer

Domino’s Pizza LLC, Ann Arbor, Michigan September 2020 – Present

https://apps.apple.com/us/app/dominos-pizza-usa/id436491861

https://apps.apple.com/us/app/zero-click/id1093822449 (No longer available on Apple platforms but still downloadable on Android)

Joined Domino’s as an iOS accessibility subject matter expert shortly after the company had lost a lawsuit over the app and website being inaccessible while using screen readers. I worked on a team of about 10 people, including one developer for each platform (iOS, Android, and web), a project manager, and several QA personnel. As the accessibility team, our main task was to address an incredibly long list of accessibility issues that had been identified through a series of audits carried out by Deque, a company that specializes in accessibility auditing and development training. Our secondary task was to develop a list of easily understood and implementable standards and guidelines to be followed by all developers to create more reliably accessible features going forward. After two and a half years, we were ultimately successful in both of the goals. As the sole iOS developer on the accessibility team, fixed over 400 bugs in the app, and wrote the guidelines and best practices on accessible development practices for Domino's, which is being carried forward into the development of a completely new app that is presently being architected. After those two and a half years, the accessibility team was formally dissolved and all members were moved onto the regular development teams in different parts of the company. I worked for a period of approximately half a year after the dissolution of the accessibility team on more typical feature work and non-accessibility-related bug fixes before eventually parting ways with Domino's.

•Addressed VoiceOver-related bugs, ensuring accessibility by adding alt text to images and optimizing visible screen elements for screen reader focus and readability

•Worked in an older MVC architecture

•The codebase consisted mainly of very old Objective-C, with recent features in Swift and SwiftUI implemented in the past year

•Primarily utilized UIKit for UI development, with occasional use of SwiftUI for newer features

•Employed mostly storyboards, supplemented by occasional programmatic UI

•Performed majorly manual testing and conducted a few unit tests

•Contributed to improving testing practices and maintaining test files

•Utilized Singleton for managing feature flags, especially for features in beta testing

•Implemented the Facade pattern for menu items, navigating the complexity of some menu items with varying success

•Leveraged UIKit, DominosKit, and other relevant frameworks for development

•Part of an Accessibility team composed of developers from different platforms, QA personnel, and designers

•Collaborated with a diverse team to enhance accessibility across platforms

•Utilized JIRA for day-to-day story management and tracking

•Relied on Confluence for tracking, archival, information gathering, and notes on best practices

•Managed branches and merges using BitBucket/Stash

•Communicated and held meetings using Microsoft Outlook and Teams

•Shared design details through Figma

•Executed actual coding in Xcode

•Managed monthly release cycles, with bug fixes not tied to specific release dates like feature releases

•Implemented Singleton for managing feature flags, particularly for features in beta testing

•Managed currently selected store information using Singleton in various cases

•Employed the Facade pattern for menu items, addressing complexities associated with diverse menu items

•Contributed to improving testing practices and initiated efforts to maintain and update testing files

•Collaborated with a diverse team to enhance accessibility across different platforms

•Successfully navigated and contributed to a codebase with a mixture of old Objective-C, recent Swift, and SwiftUI

•Participated in a structured release process, ensuring regular and predictable updates

Senior iOS Developer

U.S. Bank, Minneapolis, MN March 2019 – September 2020

https://apps.apple.com/us/app/u-s-bank/id458734623

The purpose of this project was to build a new mobile iOS app for U.S. Bank that would move away from using a web-based experience more towards a smoother native iOS experience. At the time of my onboarding, other developers had built the fundamental frameworks and a number of the features for the new app. My task was to build some additional features as catch-up work to get the iOS app up to speed including security features like Reporting a Card Lost or Stolen, Adding an Authorized User, and Requesting a Credit Limit Increase, in line with what was available on the online banking website and mobile web. After this initial task was completed, my job then became to add new features and enhancements to the mobile iOS app that were not available on other platforms, such as integrating PayPal Push Provisioning and a marketing campaign for the new Credit Limit Increase feature.

•Created a new module within the app to load features in a web view, which was re-used several times throughout the app after creation

•Configured the app to work with many different new environments from which we consumed various APIs for loading both native-built and webview features

•Used proprietary bank frameworks and CocoaPods for consumption of RESTful web services

•Ensured security of both transmitted and locally stored customer information by encoding customer information in service calls and utilizing Keychain for locally stored user data

•Coordinated with the transmit security team on implementing two-factor authentication for first-time login on a device and when entering certain features

•Maintained stylistic consistency within the app while working on new features, while also adding a few new styles of our own as UX requirements demanded

•Navigated and added to a large existing codebase that was constantly being added to and changed by many other teams while utilizing 20+ CocoaPods

•Led and coordinated a team of 2-4 offshore iOS and Android developers

•Assisted .NET and Java API developers with debugging backend systems

•Took a leading role in planning features, stories, and team capacity for each quarterly Program Increment

•Worked closely with on-team desktop web, mobile web, Android, .NET, Java, and iOS developers and testers to ensure cross-platform functionality of features

•Refactored and reviewed code from other developers both on and off the team as required to ensure consistency, readability, and efficiency

•Ensured that all new features were built with accessibility in mind and assisted with testing of VoiceOver and Text Resizing accessibility features

•Added and maintained localization files in English and Spanish for all new native-built features and coordinated with external translation teams for Spanish content

•Added unit tests for all non-private methods in the app as a facet of TDD

•Maintained detailed documentation of new functionality through comments within the code, Confluence documents, SharePoint files, and commit descriptions

•Manually migrated many files and verified codebase integrity when DevOps changed the codebase from GitHub Team to GitHub Enterprise

•Performed manual ETM testing at a time when several members of our testing team became sick and injured at once

•Managed merge requests from other team members and created merge requests to monthly release branches, while reviewing and refactoring code as needed

•Created HockeyApp/AppCenter builds for the testing team and assisted with monthly release activities

•Worked with Jenkins for automation testing of submitted code and debugged pipeline failures at times when the Jenkins pipeline was unstable due to bad merges or code migration activities

•Found, escalated, and fixed minor and major defects discovered both during development and in production

•Added 5+ entirely new features to the U.S. Bank mobile iOS app

•Coordinated with an external team to integrate Adobe Analytics tracking of user interactions within the app to provide data on the frequency of use of new features

•Worked under pressure, with strict legal deadlines, and changing business priorities to provide deliverable and well-built features for each quarterly release

•Recognized and commended multiple times by co-workers on the team, project owners, and scrum masters for my dedication to my work and my knack for recognizing risks early and escalating them before they become major issues

Senior iOS Developer

Wellstar, Atlanta, GA June 2017 – March 2019

https://itunes.apple.com/us/app/wellstar/id1239465407

Wellstar users can use the iOS mobile app to find a doctor, practice, or other location near them (by GPS or address, schedule appointments, check in to urgent care and emergency room locations, access MyChart and patient records, get turn-by-turn directions, and connect to the customer care team.

•Implemented development of the iOS application in Xcode primarily in Swift and transitioning and refactoring some Objective-C code

•Implemented push notifications by creating APNS certificates and displayed all the notices in one location in the Notices Tab and handled push notifications effectively with the server for integration

•Consumed RESTful web services using Alamofire to access the data from the backend

•Worked with Storyboards to refactor several UI layouts based on wireframes to heighten the user experience

•Worked with Storyboards, Size Classes, and AutoLayout constraints for graceful orientation handling and support for various iPhone and iPad devices

•Worked with the team and individually to see projects through to completion using the Agile development process

•Wrote web service wrapper to form the request and parse the response to send it to UI

•XIBs for several views, while others are programmatically created

•Worked with the Instruments tool extensively at the end of the development cycle to minimize memory leaks and assure overall application stability

•Worked closely with team lead to mentor junior developers and assist with code reviews; to ensure best practices and quality coding

•Refactored legacy code and transitioned some hybrid-based under-bridging headers to Swift 4. x

•Worked with Objective C, and Cocoa Frameworks, which include UIKit, Foundation, UI Image Picker, and UI Date Picker

•Worked with the QA team to find and resolve defects

•Refactored some UI layouts using Storyboards following for better UI/Ex

•Ensured effective screen orientation and rotation with Storyboards, Size Classes, and AutoLayout constraints, testing on both iPhone and iPad devices

•Ensured iOS device backward compatibility

•Make sure we maintained a high coverage ratio for testing and worked with QA to make sure all quality issues were resolved

Senior iOS Developer

Crate & Barrell, Northbrook, IL May 2016 – June 2017

https://itunes.apple.com/us/app/crate-barrel/id529356019

This iOS mobile app provides both shopping and a gift registry. Users can buy online or scan items in-store to check prices. Speed checkout with the app, save favorites, and even create custom upholstery selections and orders in the app.

•Performed all roles from UI design to writing code

•SDLC used for the implementation cycle was Agile-based

•Developed in Xcode iOS IDE using Swift coding

•Invoked RESTful web services using Alamofire and parsed JSON responses using SwiftyJSON

•Refactored RESTful requests from NSURLSession to AFNetworking and backward compatibility with iOS 5+

•Adapted Core Animation and CALayer to crop and animate images over videos

•Added a new 'Nearby' function to the app using Mapkit, which helped locate nearby locations

•Worked with MVVM architecture; Delegation, Notifications, KVC, and Singleton design patterns

•Analyzed business requirements and translated them into technical specifications

•Analyzed and optimized the UI and the backend interface code for efficiency and performance.

•Used Xcode, Interface Builder, and XIBs as well as AutoLayout Constraints in the UI implementation

•Applied new layout, refactored source code, reduced app size, fixed memory leaks, reviewed source code, and optimized performance. Wrote unit test

•Managed project configuration

•Collaborated with the design team, QAs, scrum master, and product owner to implement enhancements or new applications during daily standups, sprint planning, and sprint retrospectives

•Worked with Jenkins CI server for builds and Git code repository using Test-Driven Development (TDD)

•JIRA is used for user stories, epics, and tasks, and we pulled items from JIRA to work on issues or backlogs when not working on features

Senior iOS Developer

Harry Norman Realty, Atlanta, GA March 2015 – May 2016

https://itunes.apple.com/us/app/harry-norman-home-search/id725684147

The Harry Norman Realty iOS app features a powerful search filter that lets users search for houses by address, city, zip, MLS#, bedrooms, baths, and more. The iOS mobile app features a favorites listing linked to the user's Harry Norman account that can be accessed on mobile or the web. Push notifications send users an email alert when any changes occur to the favorites listed.

•Collaborated with offshore teams

•Recommended and executed plans to improve development tools and processes

•Designed and implemented custom interactive controls using native iOS to solve complex interface usability issues

•Led working groups to develop migration strategies and prepare standard operating procedures

•Coordinated with QA testers for end-to-end unit testing and post-production testing

•Documented and maintained documentation on various client projects

•Wrote web services to interface with the iOS Mobile App. All web services are RESTful and use Open Authentication to implement a secure environment

•Implemented asynchronous network session classes using the native iOS NSURLSession collection of classes to consume data provided from RESTful services in JSON and XML

•Used CoreData for data persistence by storing relational data offline

•Develop dynamic configuration to switch between web service calls

Senior iOS Developer

Hilton Worldwide, Inc., McLean, VA May 2014 – March 2015

https://itunes.apple.com/us/app/hilton-honors/id635150066

The Hilton iOS app features are available at all Hilton brand hotels worldwide. Features include checking with the app, picking your room with street views included, ordering, food drink, room service, and staff assistance, and managing user Hilton Honors account.

•Was part of an iOS development team working on a new iOS mobile app for Hilton Hotels

•Worked in Xcode on the iOS app in Objective-C and Cocoa Touch Framework to build the app, including UI Kit, Map Kit, Foundation, UI Navigation View, UI Tab Bar Controller, UI Table View and Storyboard

•Used RestKit for consumption of RESTful web services with asynchronous back-end communications

•Worked with GIT to check and update the codebase changes

•Worked with UIKit Framework for development and maintenance

•Worked closely with a cross-functional team of testers and developers

•Re-fetching data for different views for smooth screen transition

•Improved search results and searching capabilities of branch locators

•Fixed bug issues in the application to enhance speed and performance

•GDB for debugging and working with Xcode

•Involved in Agile practices, attending daily Agile Scrum meetings and Sprint retrospective meetings

•Worked with an Agile, Scrum methodology to ensure delivery of high-quality work in every iteration

•Development of delegates for updating model information

•Responsible for gathering product integration, product requirements, product implementation, and support

•Worked with Navigation controllers, Navigation Bars, and tab Bars

•Conducted design and code reviews with Android and iOS, mobile, and tablet developers to ensure quality code

•Object Oriented Concepts and good development experience in using those concepts in building reusable code

Senior iOS Developer

Angie’s List, Indianapolis, IN August 2013 – May 2014

https://itunes.apple.com/us/app/angies-list-business

This iOS app allows users the same access as with the web app. Find contractors for home improvement, repairs, and maintenance projects, vetted by over 3 million members. Vet for quality, cost, and service with reviews by members. Use the app to take advantage of special offers. The app allows you to get quotes, price your job, and make appointments with contractors.

•Was part of the iOS mobile app development team developing this new app as a sister to the web app

•Implemented RESTful web services with AFNetworking and parsed JSON objects and data into detailed user info including name, link, etc.

•Participated in agile sprint planning meetings with the iOS development team

•Participated in Sprint Review Meeting where we discussed the progress of the project and took the necessary steps for the project to be completed successfully

•Performance tests and fixes are done through instruments

•Performed external testing using TestFlight extensively

•Performed QA on existing iOS applications

•Performed requirement analysis, code optimization, bug fixes, functionality evaluation, and application

•Developed mockups based on Apple HIG. Adopted the design theme across all three applications

•Responsible for maintaining the code versions according to the changes using GIT

•Responsible for planning, building, testing, and operating application technical components & environments

•Used Core Data to perform the persistence of data and used versioning for core data changes

•Used Crashlytics framework within the app to monitor the crashes during development

•Worked in JIRA for logging tasks tracking issues and managing backlog

Education

Bachelor of Science in Applied Physics

Georgia Institute of Technology, Atlanta, GA, USA



Contact this candidate