Senior Ios Mobile Engineer Resume
SUMMARY
- Proficient in understanding customer and business needs, as well as server/hosting requirements, data modeling, business logic and UX/UI design.
- Valuable experience in the entire software development lifecycle including requirements gathering, design, coding, testing, debugging and maintenance
- Strong working knowledge of Xcode, Cocoa Touch, Objective - C, Swift, and iOS5 through iOS13
- Experience in quality, reusable code in Swift and Objective-C, and in transitioning codebase from Swift to Objective-C using bridging headers.
- Unit tests and Scenario tests to ensure accuracy. Tracks record of identifying largest risk areas and driving resolution of these issues.
- Extremely knowledgeable and familiar with 3rd party frameworks such as SnapKit, Alamofire, AFNetworking, and Kingfisher, using CocoaPods
- Used to working in an Agile Test-Driven Development (TDD) environment and other more Business oriented methodologies such as BDD with Cucumber.
- Working knowledge on Bluetooth Low Energy (BLE) Communication, unit testing and automated testing.
- Writes code that is consistent, reusable, scalable, and clean.
- Object Oriented Programming expertise; firmly grasps the key principles of polymorphism, inheritance, data abstraction, and data encapsulation
- Experienced in implementing multiple OOP architectures including: MVC, MVVM, MVP, Façade, Adapter, Singleton, Delegation, Notifications, Factory, Decorator, etc.
- Grand Central Dispatch (GCD) to perform tasks on threads, allowing for a more lag free user experience
- Experienced developing with Watch Kit and creating applications that have cross communication between Apple Watch and iOS applications
- Strong understanding of UI designs and Apple’s User Interface Guidelines
- Creating and developing UI with Storyboards, XIBs, Interface Builder, AutoLayout, Programmatic Constraints and Anchors
- Worked with both aspects of application flow using Storyboarding and NIB files.
- Knowledgeable of storing data persistently locally including but not limited to NSUserDefaults with NSCoding Protocols, FileManager with file streams, pLists, CoreData with the persistent store and entities, and 3rd-party databases such as Realm and SQLite.
- Experience with SVN and Git for version control with both command line / terminal, and with GUI’s like GitHub Desktop and Sourcetree.
- Ensures app stability and quality with Instruments such as Allocations for memory management, Time Profiler for speed performance, and Zombies for general memory optimizations
TECHNICAL SKILLS
Languages: Swift, Objective-C, Java, JavaScript, PHP
Source Control: Git, BitBucket, GitHub, SourceTree, GitHub Desktop
iOS Tools: XCode, Instruments, Allocations, Accessibility Inspector, CocoaPods
Frameworks: CocoaTouch, UIKit, CoreLocation, MapKit, UIDynamics, PassKit, CoreBluetooth, AVFoundation, Core Data, TVMLKit, WatchKit, SwiftUI, GCD, Adobe Analytics, Kingfisher
Software: Adobe Illustrator, Pixelmator, Sketch, AutoCAD, Zeplin, Microsoft Office Suite, Apple iWork, JIRA, ConfluenceDesign Patterns: Singletons, Factory, Adapter, Chain of Responsibility, Notifications, MVP, MVC, MVVM, VIPER
Testing: TDD, BDD, XCTest, Cucumber, Quick, Nimble, UI Automation, TestFlight, Jenkins
Data Persistence: UserDefaults, pLists, CoreData, NSKeyArchiver, NSCoding, Keychain, SQLite, Realm
Soft Skills: Troubleshooting, Time Management, Effective Communication, Organizational, Analytical
OS: iOS, macOS, Linux, Windows, tvOS, watchOS, ipadOS
PROFESSIONAL EXPERIENCE
Senior iOS Mobile Engineer
Confidential
Responsibilities:
- Work with IT leadership, product managers and the business community to define and document requirements and ideate software solutions.
- Translate conceptual system requirements into technical front-end and back-end requirements through relevant data and architecture modeling exercises.
- Constantly monitoring Crashlytics report, and resolving the critical issue immediately, secure a very low crash rate
- Worked in an Agile development environment with 2-week sprints to allow for quick turnovers and process changes, Daily Standup, and pre-sprint planning
- Add utility functions, common UI pieces to the code base that can easily be reused, keeping the app look consistent
- Gathered Analytics with Adobe
- Utilized Codable to decode and encode models, NSJSONSerialization to convert to and from JSON files
- Modified the network layer from URLSession for fetching REST APIs to Alamofire
- Enforced Dependency Inversion standards through protocols making sure modules were not tightly coupled with abstraction
- Profiled the app using instruments to see performance leaks, memory optimizations and battery use
- The project team used Git as the code repository, managed with Atlassian SourceTree.
- Utilized AVFoundation and AVKit to perform video streaming services
- Created and worked on POCs for experimental applications on tvOS
- Plan, execute, and manage integration of new applications with existing systems and software and the implementation of new application integration technology.
- Create/develop, test and maintain scalable, web and mobile applications, including databases and integrations.
- Perform Unit Testing and debugging of applications to ensure quality, responsiveness and efficiency of the delivered requirements and overall health of the system.
- Perform application patches and updates.
- Develop/incorporate stringent security controls within solutions.
Senior iOS Developer
Confidential
Responsibilities:
- Work closely with front end product managers, delivery managers, solutions architects and other front end and back end software developers.
- Utilized AVFoundation and AVKit for video streaming utilizing WebSocket APIs.
- Worked with a hybrid codebase with Swift and Objective-C
- Ensured type safety and application interoperability between Objective-C and Swift Languages to avoid runtime errors
- Worked on optimization for downloading large video files and video streaming of video files locally on the file system
- Responsible for issue tracking and project management in JIRA Agile
- MVVM architecture for the application for effective modularity and module decoupling
- Reviewed existing iOS device client codebases and improved them.
- Implemented features in Swift using Xcode IDE with XCTest for writing Unit, Integration and End-To-End Tests.
- Serve as the go to Mobile application technical resource for IOS.
- Collaborated and lead other vendor/off-shore app development team ensuring all efforts adhere to industry standard and internally defined best practices.