Senior Ios Developer Resume
3.00/5 (Submit Your Rating)
SUMMARY
- Proficient with the use of architectural patterns like MVC, MVVM
- Professional expertise on implementing REST API (URLSession, Data Task, Result Type, JSON serialization, Codable)
- Very familiar with design patterns such as Protocol, Delegation, Notification, Observer, Singleton
- Multithreading tasks implementation using GCD and writing thread customization using Operations and Dispatch Groups
- Familiar with implementation of persistent solution with native frameworks like User Defaults, Core Data, 3rd parties like Firebase, MongoDB
- Worked in iOS development environments having daily meetings with Agile/Scrum as Software Engineering processes
- Proficient with Continuous Integration tools like Jenkins
- Familiar with logic testing using XCode XCTest and UI Flow Testing
- Developed and maintained apps UI with a great UX as per team requirements, Storyboard with Auto Layout being used for rapid development and programmatic approach to facilitate multiple inputs
- Good hands on with various frameworks such as AVKit, Core Location, Core Bluetooth and 3rd parties AlamoFire, MessageKit, SnapKit
- Comfortable to work in a team setup, fast learner
- Debugging skills with Instruments to detect memory leaks and optimize resources usage
- Web Development with HTML, CSS, Bootstrap, DOM, jQuery
TECHNICAL SKILLS
- Swift, SwiftUI, Objective - C
- Map, Reduce, Filter
- Protocols
- Delegation
- Singleton
- Extensions
- Generics
- MVC, MVVM
- GCD, NSOperations
- REST, SOAP API
- URL Session
- DataTask
- Result type
- Error type
- JSON Serialization
- Codable
- GitHub
- XCTests, XCUITests
- Jenkins
- XCode
- StoryBoard, XIB
- Interface Builder
- Programmatic UI
- Size classes
- Property, size, constraints inspectors
- Project, issue, debug, breakpoint navigators
- CocoaPods
- Plist
- User Defaults
- CoreData
- Firebase
- CoreLocation
- CoreBletooth
- AVFoundation
PROFESSIONAL EXPERIENCE
Confidential
Senior iOS Developer
Responsibilities:
- MVVM used as the architectural pattern
- Worked on Network requests to make API calls with proper error and response handling
- Data decoded using Codable into custom Model
- Used GCD to allow for concurrent threads and keep Main thread from bottleneck
- Upgraded display of hotels and residences results to conform to the latest version of MapKit
- Utilized Instruments to lower memory consumption throughout life cycle
- Re-designed results details with Table View using custom cells designed with XIB
- Auto Layout implemented for different size classes
- Wrote and performed XCTests in XCode
- Had daily Agile/Scrum meetings to discuss development process and determine upcoming sprint goals
Confidential
Senior iOS developer
Responsibilities:
- Updated app and revamped UI according to Design team requests
- Worked on improving views transitions using Navigation Controllers and modal presentations
- Modified use of ScrollViews from TableViews to CollectionViews and vice versa to better accommodate for regular size classes devices
- Handled REST API calls for account balances and in real time UI updates
- Optimized asynchronous loading of Transfer tab, implementing Pagination and lazy loading
- Used JSON parser to decode data downloaded from server
- Implemented coding of data generated by the app and POST requests to the API
Confidential
Senior iOS developer
Responsibilities:
- Utilized User Defaults and CoreData to locally save user tasks, lists and preferences
- Maintained user account information on database up to date with local settings using Firebase
- Set property Observer on database objects to allow for an immediate update on user device
- Performed fetch, write, delete operations on database using singleton to avoid race conditions and asynchronous operations to allow synchronization between multiple devices
- Implemented reminders based on time or location using native Notifications and Core Location framework
- Optimized app memory usage while in a background state and transitions between states using Delegate functions
- Participated in daily meetings to ensure weekly update releases
- Sprint times typically set to a week