Post Job Free
Sign in

Senior Ios Developer

Location:
United States
Posted:
May 15, 2024

Contact this candidate

Resume:

Alwin Amoros

Senior iOS Lead Developer

Phone: 516-***-****

Email: ad5p70@r.postjobfree.com

Core Competencies

Full Stack Software Development iOS Application Development Software Development Lifecycle iOS SDK Stakeholder Management SwiftUI UIKit MVVM Architecture Pattern Objective C Data Structures & Algorithms Project Management

Full Stack Developer with 10+ years of experience in iOS mobile application development and working on the Swift and Objective.

Programming:

•Proficient in Swift, Objective-C, C, and C++, and adept in protocol-oriented programming (POP), Object-Oriented Programming techniques, Shell scripting.

•Applied Cocoa touch frameworks like UIKIT, SwiftUI, Combine, CoreData, CoreLocation, MapKit, WidgetKit, Widget Extension, Dynamic Island, CoreMotion, RealityKit, ARKit, CoreBluetooth for efficient app development.

Design Patterns and Architecture:

•Hands on exp with Architecture design patterns like Clean Architecture, MVC, MVVM, MVVM-C, VIPER,

•Hands on exp with design patterns like Pub Sub, KVO, KVC, Singleton, Delegate, Observer/Notification, Adapter, Factory, and Façade, SOLID, dependency injections among others.

UI Development:

•Expertise in designing and developing frontend UI/UX through SwiftUI, UIKIT Storyboards, XIBs, and programmatic means, leveraging Size Classes and Auto Layout Constraints.

•Highly experienced with SwiftUI concepts like ViewsModifiers, ViewBuilders, Previews, NavigationStack, Lists and ScrollViews, PropertyWrappers.

•Interoperability with UIKit and SwiftUI using UIViewControllerRepresentable and HostingViewControllers.

•SwiftUI Declarative Syntax, Layout System (using HStack, VStack, ZStack, Grids, Spacer, and Divider), State Management (using State, Binding, ObservedObject, StateObject), Canvas and Shapes (using Path, Shape and Canvas API.

•Expert in creating custom UIView components using UIKit and using UICollectionView flow layout, UITableViews.

•Expert in Creating universal app UI using UIKit and SwiftUI which works on all orientations in iPhone and iPad.

Unit and UI Testing:

•Used XCTest framework to write Unit and Integration UI tests using TDD.

•Applied Mocking and Stubbing technique to and Expectation wait and full fill approach to test async code.

CI/CD:

•Experience in creating jobs and tasks using Azure pipeline using yml file.

•Skilled in integrating Sonar Qube for test cases reports and code consistency.

•Used other Ci/CD tools like Jenkins, Fastlane, Github actions, Bitrise. CircleCI.

Cloud Integration:

•Expert in integrating Azure cloud (Mongo DB using Realm), AWS and Firebase.

•Integrated GC services like Crashlytics, Analytics, Remote Config (Feature flags).

Device Communication:

•Experience in iOS Network framework to do peer to peer communication b/w iOS devices.

•Expertise in Core Bluetooth BLE framework to connect with other hardware peripheral devices.

AR/ML:

•Expert in identifying 2D objects using ARKit and RealityKit using ARAnchors, and USBZ 3d model rendering.

•Created ML models for supervised learning using linear regression.

Network Communication:

•Worked with RESTful API and web services utilizing URLSession and parsing responses using Codable/NSJSONSerialization/JsonDecoder for JSON data.

•Worked on real time communication using web sockets and pub sub patterns.

•Implemented apple push notifications (APNS) and Rich and silent notifications.

Miscellaneous:

•Skilled in troubleshooting and testing using LLDB, NSLog & print statements, breakpoints, and Instruments.

•Proficient in source control with Git and SVN, utilizing third-party GUI clients like SourceTree, Tower, and GitHub

•Experience with SPM, CocoaPods and Cocoa Touch frameworks for iPhone and iPad applications, utilizing Xcode IDE, iOS Simulator, and Interface Builder

•Expertise in integrating payment frameworks like Stripe, Apple Pay, and PayPal Pay.

•Contributed problem-solving analysis and recommended solutions within project guidelines, emphasizing best practices in iOS app development, including scalability, reusable code, and consistency.

•Excellent communication, organizational skills, attention to detail, and a proven ability to meet tight deadlines.

•Expert in end-to-end development from requirement gathering to development to testing to releasing to app store.

•Have to do attitude with skill to work in small or large team pods and resolving technical conflicts.

•Expert in doing code reviews, mentoring developers, upskilling and self-motivating to solve problems.

Experience

Nearly 10 years of iOS Mobile App Development

Education

University of Central Florida FL

Bachelor of Science in Computer Engineering

Frameworks

Dependency Management Tools

SPM, Cocoa Pods, Carthage

Multimedia

AVFoundation, AVKit, BrightCov, HLS

Core Frameworks

Combine, Core Data, Core Location, CoreBluetooth, CoreGraphics

UI Implementation

SwifUI, UIKit, Auto Layout, Adaptive Layout, Storyboards, XIBS, MapKit, UIView, Views and View Controllers, UI Dynamic, Animation

Architecture

MVC, MVVM, MVVMC, VIPER, TCA, Clean Architecture

Testing

TDD, BDD, Unit Tests, UI tests, Snapshot testing, CICD, Automation, Appium

CI/CD

CircleCI, Jenkins, Github actions, ADO, Bitrise, Sonar Qube. Fastlane

Analytics Tools

Splunk, Dynatrace, Firebase, Adobe, Grafana

Technical Skills

Programming Languages

Swift, Objective-C, JavaScript, HTML, CSS,

Development Tools

Xcode, Interface Builder, Jira, Confluence, Slack, BitBucket, Git, GitHub, Jenkins CI, XCTest, Instruments

Methodologies

Agile, Scrum, Test-Driven Development, Pair Programming, Code Reviews, Unit Testing, Scenario Testing, Functional Testing, Automated Testing, Continuous Integration, OOP, POP, Functional Programming

Data Persistence

Core Data, Keychain, Plist, Realm, Files,Firebase

Network Communication

REST,SOAP,GraphQL Web Services, Alamo Fire, JWT, OAuth, Auth0, URL Session,JSON serialization, XML, SSL Pinning, Encryption, Headers, POST, GET, PUT,

Design Patterns

Singleton, Abstract Factory, Builder, Adapter, Decorator, Observer, Observer, Builder, Façade, Adapter, Delegation, factory, OOP, POP

3rd Party (and Apple) Frameworks

Firebase, Kingfisher, SnapKit, AlamoFire, Realm, ARKit,, PhoneNumberKit, RxSwift, BlinkId, Adobe

Work Experience

July 2023 – Present

JPMORGAN CHASE SENIOR IOS Lead/Architect DEVELOPER

New York, NY

App: https://apps.apple.com/us/app/chase-mobile-bank-invest/id298867247

•Undertook a comprehensive initiative to enhance the memo field functionality across the entire app, strategically centralized the logic, alleviating the view model from redundant tasks, and ensured a more streamlined codebase.

•Leveraging SplitIO, implemented feature gating and configuration management (Feature flag Switches), optimizing each view's parent configuration through a dedicated manager.

•Took charge of refactoring views that utilized the memo component, segregating Business as Usual (BAU) and the new feature.

•Worked across frameworks to implement Unified Memo, collaborating with iOS and Android teams.

•Assisted in the seamless migration of SplitIO configuration when transitioning from a different source for feature flags.

•Consolidated and streamlined memo logic across the Chase app, creating a unified helper class and providing comprehensive documentation.

•Contributed to the creation of Spanish content automation for comprehensive testing coverage.

•Initiated Spanish automation testing, documented setup procedures on Confluence, and recommended strategies to optimize hardcoded values for efficient and faster testing.

•Leveraged MVVM and MVC architecture, incorporating UIKit and SwiftUI for programmatic and interface-based view development.

•Applied XCTest and an in-house UITest framework for unit testing and feature testing.

•Implemented Coordinator Pattern, Dependency Injection, Inheritance Class, and Protocol-Oriented Programming.

•Created custom SwiftUI components and added widget and live activity.

•Collaborated within a team structure comprising 4 iOS developers, 1 Junior, 2 Seniors, and 1 Lead.

•Collaborating closely with product owners, gathered insights to architect the code effectively.

•Employed Jira for efficient ticket tracking and Jenkins for build management.

•Managed the codebase in Bitbucket, utilizing feature branches, developing branches, and releasing cuts.

•Facilitated knowledge sharing by working closely with other teams, ensuring smooth integration of components.

•Collaborated with Android counterparts to devise configurations for optimal behavior of the Memo feature.

•Actively participated in cross-functional discussions, ensuring a cohesive approach to framework setup for UITesting.

November 2021 – July 2023

ETRADE/MORGAN STANLEY SENIOR IOS APP DEVELOPER

Menlo Park, CA

App: https://apps.apple.com/us/app/e-trade-invest-trade-save/id313259740

•Refactored Watchlist Screen that used objc and UIKit to SwiftUI and async/await concurrency to do network calls.

•Updated CoreData Concurrency from main thread to use private queue context to perform coredata operations on background threads in the ETrade App

•Implemented security features to prevent the usage of the application on jailbroken devices and ensure that the app adheres to the latest security guidelines.

•Had done light weight migration for multiple releases in app and tested it thoroughly on multiple os and version in iOS

•All new features were developed using SwiftUI using MVVM architecture.

•Used Combine for events data binding.

•Integrated with MiniSnap SDK to capture check images for upload to the server.

•Refactored the watchOS app to use the latest SwiftUI architecture, updating and refactoring views to use SwiftUI.

•Ensured that the app met accessibility standards and adhered to the latest accessibility guidelines.

•Greatly revamped Unit Test Cases in the code base and improved code coverage from ~40% to ~85%

•Monitored Google Firebase crashalytics to assist the app to be in a 99.99% crash-free app

•Used SwiftUI features like View Modifiers, View Builders, property wrappers like State, binding, State Object, Observed Object, and Environment Object.

•Utilized latest async/await concurrency option for concurrency implementation in app .

•Used SizeClasses to define different layouts for different device sizes or orientations. SwiftUI provides two size classes: .compact and .regular for both horizontal and vertical dimensions.

•Had used @Environment(\.horizontalSizeClass) and @Environment(\.verticalSizeClass) to adapt UI based on size classes.

•Had used HStack and VStack to create adaptive layouts. These stacks automatically adapt their orientation based on the available spac

•Updated legacy code from Objective-C to Swift/SwiftUI to use the latest programming languages and frameworks.

•Converted xib files into SwiftUI files by updating legacy code to use modern SwiftUI syntax and architecture.

•Refactored and updated unit tests to cover more of the code base and improve overall test coverage.

•Generated and managed tasks and tickets based on daily stand-ups and other meetings and attended meetings to review and prioritize tasks, backlog, and stories.

•Refactored code to use actors and other techniques to prevent race-condition crashes.

•Monitored analytics tools like Google Firebase to ensure the app is as crash-free as possible.

•Worked with the tech leads to establish and maintain a consistent code style across the code base, using tools like SwiftLint.

•Worked closely with Scrum masters, product owners, and other stakeholders to estimate the time required to complete tasks and stories.

•Updated network code to use the latest async/await syntax.

•Migrating from legacy dependency managers like CocoPods to newer solutions like Swift Package Manager.

•Collaborated with DevOps to ensure that Pull Requests are not merged if automated tests are not passing.

•Used tools like Charles or Proxyman to debug issues in the app and used tools like Instruments to catch memory leaks in the app.

•Consumed and integrated data from RESTful APIs.

•Refactored major features in the app to use the latest programming languages and frameworks.

•Served on a dev team responsible for making new features in the app and overhauling some parts of the app to use SwiftUI.

•Used MiniSnap SDK to capture Check Images to upload to server.

•Assisted in revamping the watchOS version of the App to use SwiftUI

•Created the refactored version of the Watchlist View in our App using SwiftUI

•Major refactoring of the Trade View screen in our app. Refactored it to use SwiftUI and Swift.

•Converted in-house cocoa pods to Swift Package Manager.

•Improved the pipelines for our buildings by having the proper settings.

•Set up Jenkins pipeline to prevent merging with a broken building.

•Converted service classes with async functionality.

•Improved logic for DeepLink to be more dynamic.

•Cut down app size by creating more views that could be recycled.

•Actively participated in code reviews within and outside my teams.

•Worked closely with the product team that handles accessibility to create and follow up on handling accessibility throughout the app.

•Helped the Mentor team in how to handle accessibility throughout the app so that is friendly for users and meets the requirements of the product.

•Worked with a team of 8 people.

•Used Instrument Tool to cut down High CPU usage throughout the app.

•Used CocoaPods to load all third-party frameworks and manage dependencies.

•Utilized Core Data for persistence.

•Implemented a TDD methodology using XC Test to create Unit and UI test cases.

•Tracked and assigned tasks using JIRA.

•Using Firebase to analyze the application.

•Jenkins applied for continuous integration.

•Implemented architecture using MVVM pattern and incorporated various design patterns.

August 2019 – November 2021

FORD SENIOR IOS APP DEVELOPER

Detroit, MI

The FordPass App: https://apps.apple.com/us/app/fordpass/id1095418609

•Utilized PromiseKit to make network calls and retrieve information from backend servers

•Implemented AutoLayout constraints using SnapKit

•Worked with Core Bluetooth Framework for Remote lock/unlock feature

•Used RxSwift and RxCocoa to bind data to view elements so the view was updated automatically when the data changed.

•Integrated Google maps for showing vehical locations

•Worked on different features like MyAccount, FordPass Rewards, Message Center and Setting

•Utilized the MVVM design pattern for the architecture of the app so the codebase could be organized and easier to test.

•Used Grand Central Dispatch queues to handle uploading of data to backend servers.

•Utilized NSOperations and operation queues implement and abstract some of the common asynchronous tasks, such as image loading.

•Implemented certain views programmatically using NSLayoutConstraint and anchors.

•Utilized a deep linking framework so tapping on a URL opened the app and navigated to the appropriate part of the app.

•Used XCTest to test view models, view controllers, and another user interface to ensure it all worked as expected.

•Utilized Rally to create stories as well as track the progress of features and other tickets.

•Led daily standup meetings so the team could communicate what they had done the day before, and what they were going to do the current day, as well as listing out any blockers.

•Attended weekly meetings to demonstrate completed features to product owners to demonstrate the features were completed, as well as get feedback for potential improvements.

•Attended weekly story planning meetings where the team would meet to estimate the planned stories and features.

•Attended weekly meetings to identify potential blockers to development, as well as possible improvements to the app.

May 2018 – July 2019

NBC UNIVERSAL MEDIA, LLC SENIOR IOS DEVELOPER

New York, NY

The NBC App: https://itunes.apple.com/us/app/the-nbc-app-stream-tv-shows/id442839435

•The new NBC streaming media app can stream videos to all devices including TV with AirPlay and Chromecast.

•Worked as part of a small development team using Xcode IDE and coding entirely in Swift.

•The app is architected on an MVVM architecture pattern for maintainability and extensibility.

•Worked with HTTP Live Streaming (HLS)

•Utilized AVKit and Foundation Framework for Playing videos and live streams in app

•Worked with AV Foundation to adjust bitrates and speed of palying videos

•Used coredata for offline storage in app

•Worked on giving dark mode support in app

•Configured integration with services through APIs for AirPlay and Chromecast.

•Implemented streaming video directly to the app with AVFoundation.

•AlamoFire provided back-end communications with Grand Central Dispatch to manage threading in the background for high performance.

•Used Alamofire to write SessionManager classes to handle endpoint calls and networking tasks.

•Worked with the product owner to prioritize tasks in Sprint planning meetings.

•Implemented app with MVVM architecture.

•Saved data to the device using Core Data and secured user info with Keychain.

•Successfully troubleshot an issue with RESTKit limits on traffic handling which were causing a problem with RESTful services integration.

•Worked in conjunction with the design team on the iteration of the UI/UX design.

•Responsible for enhancing iOS modules including various interfaces.

•Collaborative technology planning, social media metrics, and iOS app marketing configurations.

•Used analytics tools to track user transaction statistics within the application.

•Managed app testing using automated texting and unit tests in XCTest.

•Agile Scrum process used by the iOS mobile app development team with daily scrums and bi-weekly sprints.

•Used Git with Jenkins for continuous integration as part of our quality process.

•Used Core Data to store and save user profiles, and favorites lists.

•Leveraged Git for version control, and Jenkins instance for continuous integration.

•UI developed utilizing storyboards, size classes, and auto layout constraints for conforming the UI to multiple device screen output sizes

•Enhanced user ratings and reviews ability using third-party tools to allow and encourage more valuable info from users.

March 2017 – April 2018

CREDIT SESAME IOS DEVELOPER

Mountain View, CA

https://itunes.apple.com/us/app/credit-sesame/id476718980

Free credit report card, credit alerts and manage your entire credit with the app.

•As part of the iOS development team, we worked with custom APIs to integrate credit services with high security.

•Worked on Credit Offers section

•Engineered Adobe Analytics implementation for complete app

•Designed and developed notification management feature in app

•Utilized Charts framework to display data in more intuitive way using pie and different types of charts.

•Redesigned Credit report summary screen in app

•The team used Xcode IDE, employing Interface Builder, Instruments, and onboard tools.

•Worked entirely in Swift to code the app and refactored Swift 3 to Swift 5 to transition the code base.

•Responsible for attending daily scrum stand-up meetings, sporadic sprint planning, and sprint retrospective meetings.

•Mentored newer members of the team and participated in code reviews.

•Refactored code to eliminate legacy frameworks that were no longer supported

•Removed dead code from the project to reduce project size.

•Worked on the new gallery screen implementation.

•Helped implement the new filters header and a lot of testing and bug fixing before delivery of the feature.

•Worked on the personal information section of the new home screen, implementing UI and display logic.

•Used Apptimize to set up feature flags and A/B experiments.

•Worked with UI/UX designers and managed implementation of UI in Xcode’s Interface Builder with storyboards and Xibs.

•Worked with Storyboards to refactor several UI layouts based on wireframes, as well as worked with Size Classes and AutoLayout constraints to optimize the user experience

•Implemented Core Data to persist and retrieve user information as well as store user progress.

•Implemented new menu design and functionality for an improved user experience

•Implementing SiteCatalyst to track all behaviors of users.

•Integrated Touch ID capabilities, using Local Authentication

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

Feb 2016 – Feb 2017

DICK’S SPORTING GOODS IOS MOBILE DEVELOPER

Coraopolis, PA

https://itunes.apple.com/us/app/dicks-sporting-goods-fitness/id556653197

A shopping app that doubles as a fitness app. This features personalized rewards, coupons, and scorecard tracking. ScoreCard points for achieving your activity goals each day by integrating with Apple Health, Garmin, Fitbit, and MapMyRun. Hit daily goals just by walking/moving. Get Rewards from your ScoreCard. Scan Rewards and track your points.

•Used Xcode IDE for iOS mobile app development in Swift, working with a hybrid code base where new features had been added in Swift on an Objective-C base with bridging headers.

•Used instruments, crash logs from both Crittercism and Quantum Metrics, Charles Proxy, and the Xcode debugger to track down and fix bugs reported by the QA and product support teams.

•Refactored code, transitioning the remaining code base from Objective-C to Swift.

•Storing log details into the database using APIs and retrieving them back in log data.

•Connection to web service based on AFNetorking was transitioned to AlamoFire.

•Delegate methods implemented to handle reception of response, data, error, and load finish.

•Involved in iOS performance testing along with Functional and regression tests.

•Followed the Agile methodology for implementing the project.

•Mentored junior developers and did code reviews to ensure quality and best practices.

•Utilized CoreData for the persistence of data and used versioning for data changes.

•Implemented UIScrollView to show information about the usage of the application.

•Worked with UIKit Framework for development and maintenance.

•Used Apple Push Notification Service for sending messages, notices, and alerts to users.

•Worked with Storyboards to refactor several UI layouts based on wireframes, as well as worked with Size Classes and AutoLayout constraints to optimize the user experience.

•Resolved numerous bugs and crash scenarios using NSLogs, Breakpoints, Instruments, and LLDB statements.

•Worked in MVVM architecture and implemented new features and functionality using various design patterns such as singleton, delegation, and builder.

Jan 2015 – Jan 2016

SPEEDWAY IOS MOBILE APP DEVELOPER

Enon, OH

https://itunes.apple.com/us/app/speedway-fuel-speedy-rewards/id568047979

This app features a wallet, rewards card, store location, and gas prices. Also features family sharing for up to six family members on the same account.

•Wrote unit tests using the XCTest framework for all the features I worked on. Wrote unit tests for some legacy code that was not covered by unit tests to increase code coverage.

•Worked in a hybrid code base of Swift and Objective-C with bridging headers using Xcode IDE.

•Worked on Earn rewards and redeem rewards section in app

•Utilized Mapkit and Corelocation framework for Store Locator feature

•Worked on solving bugs and issues for various screens in app

•Used Git to interact with the code repository.

•Used Git repository on Stash, Jira for project management, Confluence for documentation, and HipChat and Teams for communication.

•Developed the app in Xcode 7 using MVVM architecture.

•UI built using Storyboards.

•Memory management and profiling used Instruments and Time Profiler tool.

•Implemented Core Data structure for data persistence and storage.

•UITableViewCell with Interface Builder and implemented UIViewControllers.

•Design custom MapAnnotation. Handling delegates: didSelectAnnotationView, viewForAnnotation.

•Worked JSON requests according to the front end. Process the JSON requests according to different types of modules, actions, and request data;

•Design all views with auto layout and constraints.

•Worked with Objective-C and Swift hybrid code bases; practical experience working with bridging header files and minor issues with a dual language code base.

•Extensively used Objective C, Swift, and Cocoa frameworks for cross-functional mobile application development.

•Designing, developing, testing, and implementing apps in the App Store.

•UI and Application design with XIB files programmatically and using Interface Builder.

•Designed user interface (UI) with UIViewControllers, UITableViewControllers, and custom UITableViewCell with Interface Builder.

•Implemented many design patterns like KVO, Notifications, and Singleton.

•Using Git for code repository and version control we also had Jenkins CI for continuous integration.

•Regularly performed code reviews to ensure efficiency, readability, and maintainability.

•Analyzed existing code for improvements and optimizations.

April 2014 – Dec 2014

PAPA JOHN’S JUNIOR IOS DEVELOPER

Louisville, KY

https://itunes.apple.com/us/app/papa-johns-pizza/id407517450

•Worked on a small mobile app development team and worked cross-functionally with the Android development team to ensure parity.

•Coded the app in Xcode IDE in Objective-C with native and third-party frameworks and libraries.

•Responsible for quality assurance, testing, and collaboration with the QA team.

•Assisted project manager with Sprint Planning and Product Owner with prioritizing tasks in Jira.

•Implemented native iOS solutions that communicate with RESTful web services as fully functional prototypes for the development team using Objective-C.

•Process the JSON requests according to different types of modules, actions, and request data

•Consumed RESTful web services with AFNetworking, parsing JSON objects, and all RESTful web services used Open Authentication to implement a secure environment.

•Performed complete unit testing, and regression testing of the application.

•Utilized TestFlight for distribution of testing versions of the app before release to the App Store.

•Participated in review meetings and took the initiative to meet the QA testing targets.



Contact this candidate