Lead Ios Developer Resume
Philadelphia, PA
SUMMARY
- 6 years of experience with iOS, XCode, Objective - C, and more recently with Swift for the past 3 years
- 8 years’ software development experience dealing with Web / game development, and mobile
- Worked on 5 large iOS mobile applications dealing with both front end and back end concerns
- Strong with Swift 2, Swift 3, and familiar with Swift 4, Objective-C as well as use of Xcode, iOS 9.3, and beta builds
- Fluent with NSURLConnection, NSURLSession, RestKit, AFnetworking, and AlamoFire for Web service consumption
- Expertise in CoreGraphics, CoreAnimation, UIDynamics, UIViewAnimateWithDuration and the like for embellishing and bringing UI to life; knowledgeable of the Apple H.I.G
- Experience with Coredata, SQLite, NSCoding (archiving/unarchiving), PLists, Documents/Temporary directory, NSUserDefaults and Keychain
- Very skilled at debugging issues and jumping into code bases; good with crash logs, LLDB statements, breakpoints, and instruments
- Versed in unit testing with XCT & XCUI frameworks for verifying both business logic and UI functionality
- Comfortable with memory management under ARC/MRC, dealing with retain/release/autorelease
- Utilized MVC, MVVM, Delegation/Protocols, Observer, Singleton, Decorator, Block, and similar design patterns
- Worked with both SVN & GIT via command line and GUI tools like SourceTree, Tower, BitBucket, etc
- Some familiarity with hybrid applications utilizing phonegap/cordova, Xamarin, etc
- Prior use of Cocoapods and Carthage for handling dependencies of third party frameworks
- Effective communicator both orally and written, with experience interacting with overseas teams
- Capable of leading tasks such as code/peer reviews, doing paired programing, and general mentoring of junior developers
- Highly motivated Software Engineer with a passion for technological advancement, always looking to constantly learn and grow
- Very good at solving complex problems dealing with intricate algorithms, time complexity, and general computer science issues
- Keen and up to date with the latest news via apple release events, blogs, and developer sites
TECHNICAL SKILLS
Languages: Swift, Objective-C, C#/ ASP, C/C++, JAVA, HTML5, CSS, Javascript, CSS, Python
Databases: SQLite, *Coredata, ORACLE, MySQL, SQLServer, Odoo(OpenERP)
Web Services: REST, SOAP, ASPX Custom WS (JSON/XML as output)
IDEs: XCode, Visual Studio, Eclipse. NetBeans, Xamarin, CodeBlocks
Version Control Tools: SVN, GIT, TFS
Analysis and Modeling: UML, ERM
Operating Systems: iOS, OS X, Windows, Linux
Methodologies: PSP, SCRUM, Agile, TDD iOS
PROFESSIONAL EXPERIENCE
Confidential, Philadelphia, PA
Lead iOS Developer
Responsibilities:
- Worked on new features and implemented these features while supporting and mentoring programmers who were new to mobile development.
- Refactored most of the existing iOS code base to facilitate the integration of new junior developers, reduce code debt, and significantly improve readability.
- Actively participated in meetings outside of the mobile department to improve communication across the entire IoT project.
- Took part in the entire software development lifecycle of the iOS mobile application, from functional architecture and design to creation of distribution certificates to identify our team and allow us to submit our app to the app store.
- Maintained constant communication with Automation Testing and QA teams throughout.
- Developed Unit tests and elaborated solutions to facilitate API Service mocking.
- Sat in on at least two sessions a week.to refine the product functionality and acceptance criteria.
- Investigated all technological queries and limitations for iOS.
- Adapted to remote team members working from different cities.
- Implemented silent and local notification systems for both iOS 9 and 10
- Used an assortment of multiple storyboards and XIBs in Interface Builder for the UI/UX.
- All code was peer reviewed either in code reviews or in pair programming.
- The iOS mobile application was written in Swift 3.0, using Xcode, and we did a POC for Swift 4.0.
- Used and improved a HAL parsing and mapping internal library in Objective-C..
- Wrote message overlays that utilized some RxSwift.
- Worked with Firebase, Splunk and Localytics for analytics.
- Maintained an MVVM pattern across most of the application
- AppAuth client SDK for iOS was used to authenticate and authorize end-users because it implements modern security and usability best practices for native app authentication and authorization.
- Used SwiftyGif for high performance animated GIF support animation of all GIFs
- CocoaPods was used to implement third-party frameworks.
- Charles Proxy was constantly used to test any API calls.
- Used various QR Code generators (QR Code Maker, Qrafter, QR Studio) to facilitate gateway activation testing.
- Teamcity was used to automatically run unit and UI tests.
- Gerrit used as code review system for Git to manage peer code review.
- Jira and Confluence for Stories, Bugs and Documentation.
Confidential, Detroit, MI
Senior iOS Developer
Responsibilities:
- Fully automated the building and uploading process of over 120 Apps to iTunes Connect, using Jenkins, XCodebuild command line arguments, Fast Lane, Deliver, Spaceship, Bash Scripts and Java.
- Kept track of the applications, teams and accounts of these Apps on iTunes Connect and Apple Developer, and also ensured that Certificates, Provisioning Profiles and Testing devices were up-to-date.
- Provided environment specific builds on a daily basis to both in-house and client QA teams for various tests, such as: Push Notifications, location specific feeds, ads, and UI.
- Maintained an assortment of third party libraries, with and without CocoaPods, including RestKit, AFNetworking, Reveal, Google Analytics, Flurry, Millennial, HockeyApp and Social Networking SDKs.
- Worked on multiple projects simultaneously and updated, maintained, and refactored code in both Objective-C and Swift
- Ensured peer reviewed quality using Pull Requests on Github
- Implemented a Gitflow Workflow branching system, using SourceTree and Bitbucket, to facilitate releases and reduce QA delays when dealing with clients and time sensitive releases.
- Tracked projects with both weekly and biweekly Sprints using Jira and Confluence.
- Communicated with several teams through daily standups, HipChat and Lync.
Confidential
Senior iOS Developer
Responsibilities:
- Designed for iOS 7.1 or later; XCode 7 with iOS 9 used for testing and future proofing project
- Worked under an Agile Scrum methodology with 2 week sprints. Comfortable with daily stand-up meetings, sprint planning sessions, retrospectives, code reviews, burn down charts and user stories
- Project compatible with iPhone, iPad, and iPod touch; size classes and constraints used to handle all possible screen sizes
- Work delegated via JIRA / Rally systems, and continuous integration handled with Jenkins. Testflight used for app distribution
- Planned with design and business team members screen flows for requested flows and implemented all of the screen designs decided upon according to those requirements
- Tasked with a given set of APIs from the old platform and worked with Backend developers to improve mobile performance and a better user experience based on the flow of API usage
- Various prototypes done in Swift to prove its viability and readiness. Also created prototypes for apple watch for simple actionable notifications
- Used NSURLSession to connect RESTful API services and maintained background image downloads, uploads, chat conversations, and messages from system; block and delegate based call backs used
- Used 3rd party Cocoa Lumberjack to do custom logging and disabled NSLogs. This granted the ability to capture more elaborate logs
- CoreData was added to handle persistent user information and shopping data, refreshed and cleared after some time
- Created a custom title view for top navigation bar in order to show a consistent search bar, which wasn’t able to be normally added to the navigation bar due to iOS limitations on number of buttons
- Used Apple Map SDK to display an approximate location of delivery items, using our partners backend information containing driver coordinates. This was visualized via custom MKAnnotations and POI pins
- Used Google Analytics and AppsFlyer events to capture user triggered events, screen views, goal conversions among other fall off data to identify improvement points within the app
Confidential iOS Developer
Responsibilities:
- Ensured UI optimized for iPhone 6/6+, and iPad screen sizes
- Refactored several UI layouts based off wireframes to heighten the user experience
- Invoked RESTful web calls using proprietary API and parsed JSON responses using NSJSONSerialization
- Knowledgeable with third parties like AFNetworking/RestKit/AlamoFire and others; third party dependencies handled manually and via Cocoapods / Carthage
- Used multithreading techniques for downloading images on background thread with GCD as not to lock up the UI
- Enhanced and optimized map functionality using MapKit, CoreLocation, and MKAnnotations
- Resolved numerous bugs and crash scenarios using NSLogs, Breakpoints, Instruments and LLDB statements
- Implemented redesign of UI using Storyboards with size classes, and AutoLayout constraints for graceful orientation handling
- Profiled the application extensively using Instruments to improve performance through multiple sprints
- Worked on development team with 5 other iOS developers and 4 Backend developers
- Project managed using Agile/SCRUM techniques; code delivered in 3 week sprints
- Wrote Unit Tests for code using XCTest library
- Code housed in Git repository
Confidential iOS Developer
Responsibilities:
- Fully transitioned from programmatic UI to XIB/programmatic hybrid for greater simplicity and leveraging of the interface builders power/capabilities
- Proficient navigating between nib files with both modal presentations and pushes onto navigation controllers stack
- Constructed new UIs from wireframes from Lead Architect
- Added Localization to the app to enable content to be translated in multiple languages
- Enabled Push Notifications within app for providing notifications to user
- Equipped application to consume Expedia API for providing hotel content for user
- Implemented new menu design and functionality for an improved user experience
- Refactored RESTful request calls from NSURLConnection to ASIHTTP 3rd party framework for greater power and control
- Parsed JSON responses using NSJSONSerialization; minor familiarity with SBJSON
- Project development team comprised of 3 other iOS developers and 2 Backend developers
- Project matriculated using Agile/SCRUM methodology; code delivered in 2 week sprints
- Version control functioning handled by SourceTree application, code house in Git repository; proficient with cloning, branching, rebasing, pushing, pulling, resolving merge conflicts
- Resolved several bugs using NSLogs, Breakpoints, Instruments, and LLDB statements