Post Job Free

Resume

Sign in

Senior IOS Developer

Location:
Boydton, VA
Posted:
April 29, 2024

Contact this candidate

Resume:

Dominic Scafati

ad4sxe@r.postjobfree.com

704-***-****

Senior iOS Developer

Professional Summary

•10 years of experience in I.T. and mobile app development, creating apps for iOS devices, using XCode and iOS SDK with Swift, Objective-C, and Cocoa frameworks.

•Experienced in Swift programming language for modern, safe, and performant iOS app development, along with a deep understanding of Objective-C for legacy code integration and migration.

•Proficient in creating and managing a comprehensive user interface with UIKit and SwiftUI, ensuring responsive and adaptive design across all iOS devices.

•Skilled with reactive frameworks such as RxSwift and Combine.

•Extensive use of Core Data for local data storage, offering efficient object graph management and persistence, optimizing app performance with faulting and caching mechanisms.

•Skilled in crafting fluid user experiences with Core Animation, creating custom layer-based animations and transitions to enhance interactivity.

•In-depth involvement in every phase of the Software Development Life Cycle (SDLC), ensuring a structured and methodical approach from requirement analysis to deployment and maintenance.

•Source control management using Git for distributed version control, with proficiency in GitHub for remote collaboration and SourceTree for a user-friendly graphical interface.

•Solid grasp of Object-Oriented Programming (OOP) principles, including encapsulation, abstraction, inheritance, and polymorphism, to create reusable and modular code structures.

•Implementing continuous integration (CI) pipelines with Jenkins, automating the build, test, and deployment processes to ensure consistent code quality and delivery.

•Familiarity with XCTest for unit and UI testing to validate app functionality and robustness, and utilizing TestFlight for beta testing and collecting user feedback pre-App Store release.

•Agile development methodology practitioner, participating in daily scrums, sprint planning, and reviews, fostering a collaborative and iterative project environment.

•Utilization of Atlassian JIRA for issue tracking and sprint management, along with Confluence for project documentation and knowledge sharing.

•Knowledge of software design patterns such as Façade for simplifying complex interfaces, Builder for constructing complex objects, and Observer for event handling.

•Experience with architectural design patterns including VIPER for separation of concerns, MVP and MVVM for decoupling UI logic from business logic, enhancing testability and maintainability.

•Integration of third-party libraries and frameworks such as Alamofire for HTTP networking and RxSwift for reactive programming, leveraging CocoaPods for dependency resolution and project configuration.

•Employing RESTful API integration for seamless server-client data exchange, parsing JSON responses efficiently to update app content dynamically.

•Implementing push notification services to engage users with timely updates and personalized content, increasing app retention and user satisfaction.

•Advanced UI development using Interface Builder with Storyboards and XIB files, as well as programmatic UI construction using Auto Layout for dynamic layout configurations.

•Proficient in advanced debugging techniques and performance optimization using Xcode Instruments, identifying and resolving memory leaks, bottlenecks, and ensuring smooth app operation.

•Adherence to best practices for code reviews using GitHub Pull Requests, promoting code quality, readability, and collaborative improvements within the development team.

Technical Skills

iOS Frameworks:

GCD, NSOperations, Combine, pLists, Extensions, Protocols, Categories, XCTest, Instruments, PDFKit, MapKit, CoreLocation, Allocations, Accessibility, XCUITest, FireBase, RxSwift, Core Animation, AVFoundation, AVKit, WKWebViews, SpriteKit, SceneKit, CoreML, Vision, Metal, ARKit, CloudKit, StoreKit, CoreGraphics, CoreText, CoreImage, CoreAudio, CoreBluetooth, CoreMotion, EventKit, Network, NotificationCenter, SafariServices, UserNotifications, WatchKit, WebKit.

UI/UX:

UIKit, AutoLayout, NSAnchors, NSConstraints, Programmatic UI, SwiftUI, XIBs, Storyboards, Interface Builder.

Dependency Management:

CocoaPods, Carthage, Swift Package Manager.

Web Technology:

JSON, XML, HTML5, REST, SOAP, Codable, NSJSONSerialization, URLSession, AlamoFire, GraphQL.

Data Persistency:

MySQL, Core Data, SQL, Realm, UserDefaults, Keychain.

Code Management Tools:

XCode, Oracle, JGrasp, Visual Studio, Command Line, GIT, SourceTree.

Programming Languages:

Swift, Objective C, C#, C++, Java, Javascript, Python.

App Architecture/Design Patterns:

MVC, MVVM, VIPER, Singleton, KVO, Factory, Observer, Delegation, Notifications, Façade, Adapter.

Cross-platform mobile app development:

React Native, Flutter.

Experience

Lead iOS App Architect / Developer (September 2021 – Present)

Ally Financial Inc. - Charlotte, NC

https://apps.apple.com/us/app/ally-banking-investing/id514374715

I have used various tools and skills to develop and improve the Ally Financial app, which is a platform for managing different financial services, such as credit cards, deposits, loans, and investments. Some of my experience and skills are:

•Utilized Swift and SwiftUI as primary languages for development, creating modern and user-friendly interfaces and functionalities for the app.

•Leveraging SwiftUI's declarative syntax to build reactive UIs that automatically update in response to state changes, streamlining the development process.

•Utilized Swift Macros to generate code at compile time, avoiding duplicate and boilerplate code.

•Incorporating platform-specific features like Dark Mode support and dynamic accessibility options using SwiftUI's adaptive view modifiers to optimize the app's presentation across iOS, iPadOS, macOS, and watchOS.

•Implementing the MVVM architectural pattern to promote clean separation of concerns, resulting in a codebase that is both scalable and maintainable.

•Creating an engaging AR-based educational feature within the app, using interactive tutorials and gamified learning modules to teach users about key financial concepts.

•Conducting unit tests to ensure code integrity using XCTest and employing behavior-driven development frameworks like Quick for comprehensive test coverage.

•Used Flutter secure storage plugin to securely store sensitive user data, such as access tokens, passwords, and financial information.

•Managing a vast array of CocoaPods dependencies, streamlining the integration of third-party libraries such as Alamofire for networking and Kingfisher for image caching.

•Adopted Combine for reactive programming, streamlining asynchronous operations and event handling, leading to more efficient and responsive app behavior.

•Collaborating as a Lead within a team-centric environment, utilizing tools like JIRA for task tracking, GitLab for source code management, SourceTree for Git operations, Slack for communication, and Zoom for virtual meetings.

•Tackling complex networking challenges, utilizing API testing tools such as Postman and Charles Proxy to troubleshoot and optimize network requests and responses.

•Designing sophisticated algorithms for data privacy, employing NSRegularExpression and Swift String methods to identify and anonymize sensitive user information within text input.

•Facilitating A/B testing and feature rollouts using feature flags, enabling controlled experimentation and phased feature releases without disrupting the user experience.

•Enhancing the app's payment capabilities by integrating Stripe and Apple Pay SDKs, offering users secure and effortless payment processing options.

•Handling various aspects of the app's deposit functionality, demonstrating adaptability across different domains, and implementing data persistence solutions with Core Data and Realm.

•Crafting custom UI components with SwiftUI, employing a compositional approach to design reusable views that contribute to a consistent look and feel across the app.

•Implementing CI/CD pipelines using CircleCI and Jenkins to automate the build, test, and deployment workflows, leveraging Fastlane for automation and Firebase Test Lab for cloud-based app testing.

Lead / Senior iOS Architect / Developer (December 2019 – September 2021)

HBO - New York, NY (Remote)

https://apps.apple.com/us/app/hbo-max-stream-tv-movies/id971265422

As a key developer for the HBO Max app, a premier streaming platform for TV shows and movies, I utilized a range of advanced iOS development tools and methodologies to enhance user experience and app functionality:

•Participated in Leading Agile Scrum meetings with the mobile team, fostering a collaborative environment to streamline development workflows and improve cross-functional communication.

•Integrated the Picasso image loading library for efficient image display and processing, ensuring fast and memory-efficient image handling within the UI.

•Utilized CocoaPods and SPM to load third-party frameworks and manage dependencies.

•Employed Auto Layout to design a flexible and adaptive UI, meticulously setting universal constraints for consistent visual presentation across various device resolutions.

•Led and Mentored junior developers in Swift programming, conducting thorough code reviews and providing guidance on best practices and advanced language features.

•Managed external library dependencies using the CocoaPods dependency manager, simplifying the integration and maintenance of third-party resources within the Cocoa framework.

•Implemented AVFoundation and AVKit for robust video processing capabilities, enhancing the streaming experience with high-quality video playback features.

•Explored the potential of Core ML by prototyping intelligent content recommendation systems, enhancing the app's ability to surface relevant movies and shows based on user preferences.

•Leveraged Combine's declarative syntax and reactive streams to simplify complex asynchronous workflows, such as video playback and content fetching.

•Build Flutter application using Dart programming and BLoC Architecture pattern.

•Developed a system for storing raw video data using the iOS file manager, enabling offline video viewing and optimizing the app for on-the-go access.

•Maintained detailed documentation for app updates, including comprehensive change logs for version releases and patches to track progress and facilitate debugging.

•Programmed alert mechanisms using UIKit to handle system events, such as low battery notifications and network availability checks, improving the app's responsiveness to user context.

•Increased unit test coverage to 85%, refactoring the codebase with protocol-oriented programming to allow for mock dependency injections and more effective testing.

•Implemented intelligent caching strategies to optimize network data usage and enhance performance, particularly for the final production build of the app.

•Utilized Xcode and Swift to build and maintain apps across Apple platforms, leveraging Swift's powerful features for clean and expressive coding.

•Created a reactive user interface with SwiftUI, adopting a declarative approach that automatically updates views in response to state changes, streamlining UI development.

•Designed and managed a variety of UI components with UIKit, using Storyboard and Interface Builder to visually construct and arrange interface elements for a polished user experience.

•Leveraged CloudKit to implement cloud-based data storage and synchronization, allowing users to seamlessly access their watch history, favorites, and settings across devices, and providing shared data access in a public database for a unified user experience.

Senior iOS Mobile Developer (October 2018 – November 2019)

Hotels.com by Expedia - Bellevue, WA (Remote)

https://apps.apple.com/app/hotels-com-hotel-booking-last/id284971959

As a Senior iOS Mobile Developer at Hotels.com by Expedia, I played a pivotal role in the development and enhancement of their mobile application, leveraging a wide array of iOS development tools and methodologies:

•Developed the application in Xcode, utilizing both Swift for modern feature implementation and Objective-C for maintaining and updating legacy code components.

•Applied the MVVM architectural pattern to facilitate clean separation of concerns, alongside design patterns such as Delegation for event handling, Observer for state and data changes, and Singleton for shared resource management.

•Designed and implemented Core Data models to pre-populate the user interface with data and provide offline data persistence on the user's device, enhancing the app's responsiveness and user experience.

•Established network connections and asynchronous data handling using Grand Central Dispatch (GCD), implementing closure callback methods to manage the reception of network responses, data processing, error handling, and completion events.

•Integrated ARKit to develop an innovative feature that enabled users to virtually preview hotel rooms and amenities in augmented reality, significantly improving customer engagement and increasing booking conversion rates and app revenue.

•Conducted regular code reviews to optimize app performance, eliminate redundant code, and maintain high standards of code quality and efficiency across the development team.

•Managed source version control with GitHub, ensuring collaborative and organized code management, and facilitating smooth team workflows.

•Implemented RESTful web services using the Alamofire networking library to streamline server communication and data exchange processes within the application.

•Crafted code to parse JSON data and property list (pList) files, enabling the structured storage and retrieval of app configuration and data.

•Enhanced the app's map features using MapKit, CoreLocation, and MKAnnotations, refining the map view UI and improving functionality to accurately retrieve latitude and longitude coordinates for hotel locations.

•Debugged and resolved coding issues encountered by team members, contributing to a seamless and stable user experience across various iOS devices and ensuring the app's high performance.

Mobile iOS Software Engineer (May 2018 – October 2018)

Capital One - New York, New York

https://apps.apple.com/us/app/capital-one-mobile/id407558537

As a Mobile iOS Software Engineer at Capital One, I was responsible for creating and optimizing the iOS client codebase in alignment with the company's product strategy. My role involved close collaboration with cross-functional teams and a strong focus on quality and performance:

•Engineered iOS client solutions, contributing to the development of the Capital One mobile app, a key platform for financial management and services.

•Collaborated with a team of Software Engineers, UX/UI Designers, Quality Engineers, and Product Owners/Analysts to craft high-quality, user-centric mobile experiences.

•Engaged in rigorous code review sessions, providing constructive feedback to peers and ensuring that all team deliverables adhered to the highest standards of quality.

•Utilized Xcode to organize and manage the codebase, adhering to the Model-View-ViewModel (MVVM) architectural pattern for improved scalability and maintainability.

•Applied well-established coding conventions during code reviews, emphasizing maintainability, readability, and adherence to industry best practices.

•Led the development and optimization of new and existing features, ensuring code efficiency and optimal app performance for an enhanced user experience.

•Committed to continuous learning and skill enhancement in Swift, CocoaPods, and Xcode, staying abreast of the latest advancements throughout the Software Development Life Cycle (SDLC).

•Contributed to team discussions and decision-making, advocating for coding consistency and a unified approach to improve codebase readability and team efficiency.

iOS Engineer (September 2017- February 2018)

Penske- Tampa, FL

https://apps.apple.com/us/app/penske-fleet/id1090092046

As an iOS Engineer at Penske, I was instrumental in enhancing the Penske Fleet app, a tool designed to streamline fleet management and operations. My role involved leveraging modern iOS technologies and collaborative tools to deliver a high-quality mobile experience:

•Managed source control using Git, collaborating with remote team members through Bitbucket and tracked project progress and issues with JIRA.

•Applied my expertise in Firebase for real-time data synchronization and user authentication, Realm for local database management, RxSwift, and RxCocoa for reactive programming constructs to enhance the app's core infrastructure.

•Integrated various third-party libraries and Swift packages using CocoaPods and Swift Package Manager to enrich the app's UI and add advanced functionalities.

•Performed code refactoring to ensure compatibility with updated UI designs and improve overall code quality in line with modern Swift best practices.

•Thrived within an Agile development framework, contributing to sprint planning, daily stand-ups, and retrospectives to ensure project milestones were met efficiently.

•Oversaw source control and version management tasks, ensuring seamless data integration and code consistency across the development team's contributions.

•Served as the primary technical point of contact, providing leadership and support for multiple native and responsive mobile modules, resolving technical challenges promptly.

•Developed and debugged both Swift and Objective-C code, ensuring a robust and error-free codebase across the application.

•Demonstrated the ability to work effectively both independently and as part of a team, contributing to all stages of the Software Development Life Cycle (SDLC) to drive project success.

iOS Software Developer (October 2016 – September 2017)

Starbucks Coffee - Seattle, Washington

https://apps.apple.com/us/app/starbucks/id331177714

As a dedicated iOS developer at Starbucks Coffee, I was focused on advancing the user interface of the Starbucks app, a cornerstone of the brand's digital presence and customer engagement strategy. My contributions were pivotal in shaping the app's design and functionality:

•Led the development and refinement of the Starbucks App's user interface, implementing sleek and user-friendly designs that enhanced customer interaction.

•Collaborated extensively with the UX/UI design team and other cross-disciplinary team members to create a seamless and accessible app experience for users and business partners.

•Engaged in code optimization efforts alongside senior developers, honing my technical skills and elevating the app's performance.

•Maintained and refactored existing Objective-C codebases, gradually migrating to Swift while preserving functionality and performance.

•Employed UIKit extensively for constructing intricate user interfaces, adhering to Apple's Human Interface Guidelines for a consistent and intuitive experience.

•Conducted in-depth debugging and optimization of UI-related code, ensuring a visually appealing and smooth user experience across the app.

•Actively participated in establishing coding standards and best practices within the team, adhering to MVC/MVVM patterns and engaging in thorough code reviews.

•Enhanced app quality by developing a suite of unit tests and automated UI tests, contributing to a robust and reliable application.

•Applied my knowledge and expertise in integrating a variety of backend services, including RESTful and GraphQL APIs, implementing push notifications for user engagement, and developing multi-threaded applications for optimal performance.

•Demonstrated advanced proficiency in modern mobile architecture patterns, employing VIPER, MVVM, and MVP to structure the app's codebase, and utilized reactive programming techniques to manage data flow and user events effectively.

iOS Mobile Developer (February 2014 – September 2016)

Squarespace - New York, NY

https://apps.apple.com/us/app/squarespace/id1361797894

During my tenure at Squarespace, I played a pivotal role in the development of their iOS application, focusing on crafting a superior user interface and enhancing user experience:

•Took the lead in developing and refining the user interface of the Squarespace iOS application, ensuring an engaging and intuitive experience for users across the platform.

•Engaged in close collaboration with the design team and cross-functional team members to design and implement a user-friendly app interface that catered to the needs of both individual users and business clients.

•Dedicated efforts to code optimization, working alongside senior developers to enhance my skills and contribute to the app's performance improvements.

•Leveraged Objective-C to update and maintain legacy components of the Squarespace app, ensuring backwards compatibility and a smooth transition to newer Swift codebases.

•Utilized UIKit to create custom UI components and views, ensuring pixel-perfect designs and optimized performance across various iOS devices and screen sizes.

•Conducted thorough debugging of UI code, streamlining and refining interface interactions to ensure fluidity and aesthetic appeal.

•Actively engaged in the adoption of coding best practices, contributing to the team's use of Xcode, adhering to MVC/MVVM architectures, and participating in rigorous code review processes.

•Significantly improved the app's overall quality by developing comprehensive unit tests and implementing automated UI testing protocols.

•Applied my technical knowledge in integrating backend services such as RESTful and GraphQL APIs, configuring push notifications for improved user engagement, and developing efficient multithreaded operations within the app.

•Demonstrated a high level of proficiency in modern mobile architectural patterns, utilizing VIPER, MVVM, and MVP to construct a well-organized and maintainable codebase, while also embracing reactive programming techniques to handle asynchronous data and events with finesse.

Education

Hillsborough Community College

Tampa, Florida

Associate degree in Multimedia and Game Design

University of South Florida

Tampa, Florida

Bachelor’s Degree in Computer Systems



Contact this candidate