Senior Ios Developer Resume
New York City New, YorK
SUMMARY
- Over 6 years’ experience developing mobile based iOS applications for iPhone and iPad.
- 5 apps published to Apple Store. iOS work includes application architecture and software development.
- Development of customer - facing and enterprise iOS mobile applications in a variety of industries.
- Knowledge of Swift programming (Swift 4, Swift 5) with hands-on experience in Swift 1, Swift 2, Swift 3, Swift 4, Swift 5.
- Skill programming in Objective-C.
- Skilled with RxSwift.
- Skilled with SwiftUI.
- Experienced in solving issues with production environment and supported on-call production support.
- Complete knowledge in testing App on device using development profile.
- Object Oriented ABAP concepts like Encapsulation, Polymorphism, Inheritance, and Abstraction by using Classes, Attributes, Methods, and Events.
- Experienced in extracting data from iPhone /iPad device database using core data.
- Worked on latest versions of iOS and Xcode, and well versed with latest changes in the industry
- Proficient in memory management in both Manual Retain and Automatic Reference Counting (ARC) environments.
- Expertise in MVC, MVP, MVVM, design architecture, Cocoa design patterns and concepts like delegation, protocols, and categories.
- REST/SOAP Web Services and APIs.
- Experienced in using various design patterns, including Singleton, Notification, Blocks, and Delegation.
- Create and customize views, table views, tab bars and navigation bars.
- Experience implementing Bluetooth technologies.
TECHNICAL SKILLS
Programming Languages: Swift 4, Swift 5, SwiftUI, Objective-C, C, C++, Java, JavaScript, HTML, Python, SQL iOS Tools: Instruments, Carthage, Firebase Data Persistence Keychain, SQLiteCore Data
Web Services: Alamofire, AFNetworking, REST, JSON, SOAP, XML, Reachability iOS Services: NSJSONSerialization, NSXMLSerialization, Apple Push Notification (APNS), NSUserDefaults, NSNotificationCenter, NSOperationQueue, MessageUI, AddressBook.
Dependency Injection: Setter, Interface, Constructor, Swinject
Threading: GCD, NSOperations
Testing: TD, Unit Testing, XCTest, Automated Testing, Jenkins CI, TestFlight
Frameworks: UIKit, Cocoa Touch, RxSwift, RxCocoa, UIDynamics, CocoaPods, CoreLocation, MapKit, CoreBluetooth, CoreGraphics, Location Kit, QuartzCore, AVFoundation, CloudKit, CoreData, EventKit, Google Maps API
Databases: Microsoft SQL, Oracle, RoomDB, Firebase
Native Frameworks: Core Location, Core Data, Core Bluetooth, Core Graphics, Core Plot
Project Tools: Confluence, Jira
Version Control: Git, GitHub, SVN, SourceTree
Continuous Integration: Jenkins, Hudson, Travis, Bamboo
PROFESSIONAL EXPERIENCE
Confidential, New York City, New York
Senior iOS Developer
Responsibilities:
- Working in an Agile Environment, with two-week sprints.
- Working with a team of 3 iOS and 3 Android developers.
- Working directly with the project manager in setting up certifications, bundle identifiers, builds, and changes to Firebase.
- Collaborating with team in an Agile environment for close communication and support identifying new features/functions, delegating roles/responsibilities, and coordinating responsibilities through development cycle.
- Applied MVVM design patterns for modular and testable code structure.
- Programming the application in Swift, utilizing Swift Lint for best coding syntax.
- Implementing Push notifications services to the application.
- Setting up video recording functionality and playback features.
- Working in tandem with UI/UX designers for the UI development.
- Writing the entire application in Swift, utilizing Swift Lint for best coding syntax.
- Establishing VOIP support.
- Revamping the UI on a SwiftUI foundation.
- Expanding on the UI, giving further segregation to existing functionality for a better user experience.
- Utilizing a coordinator pattern for UI navigation.
- Utilizing Realm to store user device information.
- Setting up Firebase cloud messaging and directly navigated with Android team to have cross platform communication.
- Developing UI both programmatically and through Storyboards.
- Utilizing TestFlight to directly create builds for both internal and external testing.
- Handling release builds and the end-to-end release process to the App store.
- Applying Encryption services for encrypting and decrypting files when sending and receiving to Firebase.
- Creating in-depth documentation on Confluence for the application and steps for publishing onto the Apple Store.
Confidential, Bellevue, WA
Senior iOS Mobile Developer
Responsibilities:
- Worked in Xcode with Swift and introduced RxSwift in various parts of the application.
- Worked with MVVM architectural pattern with Delegation, Observer, and Singleton design patterns using Notifications and KVC.
- Worked with Core Data to prepopulate UI with persisted data received in prior web service calls.
- Utilized multithreading APIs, GCD/NSOperations, for downloading images on background thread as to not lock up the UI and ongoing animations.
- Performed code reviews to ensure efficiency, readability, and maintainability.
- Participated in review meetings and took the initiative to meet the QA testing targets.
- Added calendar integration using EventKit.
- Achieved source version control using Git and GitHub.
- Invoked RESTful webservices using Alamofire networking framework and parsed JSON responses using Codable protocol.
- Analyzed existing code for improvements and optimizations.
- Analyzed the production defects and fixed them in time for each release
- Refactored code to improve size and scalability of the iOS app.
Confidential, Oakland, CA
Senior iOS Mobile App Developer
Responsibilities:
- Participated in and contributed ideas in Agile project management meetings (Sprint Planning Meetings, Scrums, etc.).
- Applied MVVM architectural pattern and Delegation, Notifications, KVC, and Singleton design patterns.
- Programmed in Swift and Xcode.
- Implemented RxSwift to handle two-way binding.
- Managed third-party dependencies with CocoaPods.
- Adapted Core Animation and CALayer to crop and animate images over videos.
- Applied new layout, refactored source code, reduced app size, fixed memory leaks, reviewed source code, and optimized performance. Wrote unit tests.
- Implemented AVFoundation and AVCaptureSession to create a QR scanner to generate account addresses using AVCaptureMetadataOutput, allowing users to send funds using QR codes.
- Utilized core graphics, core animation, UIViewAnimateWithDuration, and UIDynamics to make the app more user friendly.
- Used AVFoundation for audio-video playback and management.
- Designed UI using Storyboard and Auto Layout constraints.
- Implemented Navigations between views for the view controllers using Segues.
- Followed Apple UI guidelines throughout the project.
- Utilized CoreData for persistence of data and used versioning for data changes.
- Worked closely with TDD, developing unit tests to validate functionality and business logic as per determined requirements documentation.
- Continuous integration and module testing handled with Jenkins.
Confidential, San Francisco, CA iOS Developer
Responsibilities:
- Engaged with an Agile Android Development team that applied Scrums and Sprints and worked together to identify the most appropriate technologies to apply, delegate responsibilities, and ensure development aligned with best-practice standards.
- Implemented MVVM for the architecture of the project using Model for Business logic andViewModelsfor binding the information with the View.
- Worked with Confidential Wallet API to create a new bitcoin wallet and get information about existing wallets such as balance and transaction history.
- Used OAuth2 protocol to securely store bitcoin private keys information, assuring user’s identity with a two-factor authentication process.
- Utilized Wallet API to create user accounts and configured to send money from primary accounts to specific account addresses or email addresses in the selected currency and amount.
- Migrated PayPal iOS SDK to PayPal Express Checkout to simplify the checkout experience for users, letting them use their PayPal balance, bank account, or credit card to buy Bitcoins directly in the app.
- Used Confidential Commerce API to dynamically create charges, generating payment addresses on user’s behalf, allowing to continuously monitor the blockchain to detect when payments were made.
- UsedStarscreamto provideWebsocketconnectivity to connect with GDAX API to guarantee real-time feed for Bitcoins trades activity and Bitcoins price changes.
- Implemented AVFoundation andAVCaptureSessionto create a QR scanner to generate account addresses usingAVCaptureMetadataOutput to allow users to send funds using QR codes.
- Configured TLS and App Transport Security to allow the app to connect to higher version of TLS servers and protect the user’s sensitive data traffic.
- Created a custom chart view usingCAShapeLayerandCGAffineTransformto generate anIBDesignableclass that was implemented for the developers of the team as the main view to create Bitcoin charts.
- Made use of XIB, Constraints, and Size Class to create decouple views, improving the user experience by supporting different screen sizes.
Confidential, San Diego, California
iOS Mobile App Developer
Responsibilities:
- Developed project entirely in Objective-C and XCode.
- Used Interface Builder to make UI improvements and fixes as instructed by QA and UI designers.
- Worked on two teams: One of three iOS developers and two UX developers; the other consisted of six iOS developers.
- Participated in discovery tasks in which Agile Dev Team members investigated new features and created a list of requirements.
- Debugged code with XCode, Breakpoints, and Instruments, and then fixed bugs after finding the root cause.
- Used JIRA for issue tracking; managed tickets to prioritize issues and workflow and track bug fixes and completions.
- Submitted code on Bitbucket for version control.
- Leveraged XCTest to sufficiently test all added code.
- Used JSON parser to parse fetched data from server to the iOS mobile app.
- RESTful integration points implemented to allow for interoperability between back-end systems and mobile apps.