Ios Developer / Frontend Engineer Resume
SUMMARY
- 8 years of Senior iOS developer experience(iOS, iPad, macOS)
- Proactive self - learner who adapts to new technologies, including developing in Swift, Obj-C, PYTHON, Javascript
- Real-world Object-Oriented development experience and knowledge of design patterns, including MVC, MVVM, Delegation & Protocols, Composition, Façade, Factory, KVO, KVC, Singletons, Dependency Injection.
- Experienced developing rich application UI’s using Storyboards, XIBs, and programmatically.
- Familiarity with the iOS tool ecosystem for development, testing, debugging, and performance benchmarking.
- Cultivated an environment of excellence, through code design, code reviews, and paired programming.
- Partnered with cross-functional teams to define new product requirements, features, and functionality.
- Demonstrated strength in clarity, conciseness, and persuasiveness of written and verbal communication.
- Have heavily interfaced and collaborated with the Product and Design teams as well as Product Owners to define and implement business requirements.
- Experience in linking mobile client applications to critical server-side APIs.
- Experience with TDD and agile methodologies.
- Maintained high unit test coverage and continuous integration principles.
- Experienced with publishing and deploying apps and updates to the App Store.
- Considerable experience debugging and profiling iOS applications with Xcode, Instruments, crash logs.
- Worked in multicultural environments with local and remote teams in Agile environments.
- Firm believer of the Apple’s best practices targeted to mobile environments for: networking, memory management, battery status, responsive and intuitive design, managing multiple screen sizes and device types, internationalization.
- Worked with various teams in all steps of the software development lifecycle, from early steps in the requirements gathering process to the designing, and final builds and release.
- Advocate for coding best practices based on Object-Oriented Principles.
- Experience in using public online version control platforms such as SVN and Git.
- Self-motivated, fast learner, proficient in programming logic and easily adaptable to new technologies.
TECHNICAL SKILLS
Programming Languages & Tools: Swift, Objective-C, Xcode, Python, javascript
Testing Frameworks & Tools: Test-Driven Development (TDD), Unit Testing, Functional Testing, Scenario Testing, TestFlight, Instruments, Allocations, Leaks, LLDB
Software Project Tools & Methods: Agile, Scrum, Pair Programming, Xtreme Programming, Peer Code Review, Jira, Confluence, TeamTrack, OneStop, Trello, Slack
UI Implementation: I nterface Builder, Storyboards, Xibs, Nibs, Gesture Recognizers, Views, Auto Layout, Adaptive Layout
Version Control: Git, GitHub, Perforce, SourceTree, BitBucket, Tower
Continuous Integration Tools: Jenkins, Travis, Hudson
Third-Party Frameworks: Cocoa, CocoaPods, CocoaTouch,Reactive-X, RxSwift, RxCocoa, AWS, Firebase, Firebase Crashlytics, Firebase Crash Reporting, Alamofire, AFNetworking, RestKit, OpenGL, Realm
Core Frameworks & Services: Core Data, SQLite, Apple Push Notification Service (APNS), UIKit, Core Location, NSPredicate, NSOperations, NSJSONSerialization, NSXMLParser, CFNetwork, Core Audio, Core Bluetooth, Core Image, Core Animation, SpriteKit, SceneKit, CloudKit, Core Text, AVKit, AVFoundation, Health Kit, MapKit, PassKit
Architecture/Design Patterns: MVC, MVP, MVVM, Builder, Abstract Factory, Façade, Observer, Singleton, Visitor, Proxy, Strategy, Delegation, KVC, KVO, State, Mediator, Command, Interpreter, Dependency Injection, SOLID
PROFESSIONAL EXPERIENCE
Confidential iOS Developer / Frontend Engineer
Responsibilities:
- Worked as part of an iOS team of 10~12 developers. We have counter-parts for the similar module in each time zone to fully utilize the time.
- Primarily responsible for the messaging module.
- Developed the iOS application natively using XCode IDE.
- Migrated Objective-C code to Swift to make the application about 60% Swift
- Worked with QA department on testing, following up on and resolving issues QA spotted.
- Designed internal testing protocols
- Implemented MVVM architecture with various design patterns such as notification, observer, and delegate.
- Integrated API calls with Alamofire
- Used Postman to test RESTful API services
- Using CocoaPods, implemented various 3rd party frameworks to reduce the development time (AEXML, SwiftyJson, RxSwift, Alamofire, Kanna....
- Used Realm NoSQL database for data storage.
- Version control was transitioned from CVS to Git.
- Implored NSoPerations queue for threading/memory management employed NSOperations to manage serialization of operation tasks.
- Used memory graph debugger to detect memory leaks in the iOS application.
- Adapted to challenges and used innovation to keep project on-track and on deadline despite system-wide issues.
- Managed new requirement for features
- Used Jira to track and manage all tasks and issues.
- Contributed to most of the modules of the app (conferencing/scheduling/registration/messaging...)
- Managed network request/response via Alamofire
- All messaging activity was done by calling/receiving SDK APIs.
- Handled the signaling in the messaging area to send/receive messages
Confidential
Senior iOS Developer
Responsibilities:
- Coded Snaplot and iRecon apps in Swift using Xcode 11 in MVCS architectural pattern.
- Coded Stockwave, Provision and tOptimizer in Objective-C and Swift using Xcode 11 in MVCS architectural pattern.
- Updated Snaplot app for iOS to support Xcode 11 and iOS 13 updates.
- Developed UI updates for Xcode 11 and iOS 13 changes, specifically dealing with modal presentation changes and color changes. While ensuring the app maintained continuity with previous iOS versions.
- Improved data management by refactoring iOS legacy code to reduce race conditions and memory access issues leading to crashes.
- Team highly driven to increase unit test coverage increasing tests to 800+ unit tests for Snaplot.
- Used TDD to drive increase in number of unit tests. iOS development team size ranged from 3 to 6 developers.
- Major contributions to Snaplot would be in completing backlog items and fixing priority crash reports and implementing SSO.
- Major contributions to Stockwave, Provision and tOptimizer would be refactoring old Objective-C legacy code to Swift standards, implementing SSO and improving defect backlog.
- Communicated and worked with web/backend and IDP teams to implement Single Sign-On in multiple apps.
- Developed Single Sign On experience for apps working with OAuth 2.0 following the Proof Key Code Exchange (PKCE) standards.
- Communicated with Stakeholders about processes and development phases of SSO to ensure timely rollout of updates to users for new SSO experience.
- Used Firebase and Crashlytics for testing and identifying crash issues.
- Used Firebase Analytics and Events to track app performance for error logging.
- Worked with NSOperations to consume RESTful web services.
- Created SSO documentation for development team.
- Third-party tools included Firebase, Crashlytics, DeviceKit, GRDB, LaunchDarkly and AppAuth.