Senior Ios Engineer Resume
Austin, TX
SUMMARY:
- 6 years of iOS mobile apps development experience, starting with iOS4; 5 published apps in the App Store and 3 enterprise apps
- Proficient in understanding customer and business needs, as well as server/hosting requirements, data modeling, business logic and UX/UI design
- Highly - experienced with design patterns such as MVC, MVVM, Delegation, Singleton, Categories, Notification, KVC, Blocks
- Increased security practices.
- Valuable experience in the entire software development life-cycle including requirements gathering, design, coding, testing, debugging and maintenance
- Strong working knowledge of Xcode, Cocoa touch, Objective-C, and iOS5 through iOS10
- Experienced persisting data on device using SQLite, CoreData, Realm and NSUserDefaults
- Experience integrating with multiple RESTful and SOAP web services, parsing JSON and XML, responses respectively
- Constructed and implemented UI designs using Storyboards, XIB files and programmatic UI
- Performed functional Unit Tests using the XCTest framework
- Solid understanding and use of various iOS frameworks such as: UIKit, MapKit, Core Location, AVFoundation, Core Audio, Quartz Core, Security, Data Protection, SSZipArchive, Fabric/Crashlytics, Urban Airship, AFNetworking, Social Framework, Event Kit
- Extensive use of Grand Central Dispatch (GCD) to perform tasks on different threads, allowing for a more lag free user experience
- Experienced developing with Watch Kit and watches
- Working experience in ARC, as well as the older, MRR for managing memory
- Experience working with Swift 1 through Swift 3
- Enthusiastic and willing to do whatever it takes to make sure tasks are completed on time and to the highest standard
TECHNICAL SKILLS:
Languages: Swift, Objective-C
Databases: SQLite, Core Data, Realm
Frameworks: Cocoa Touch, Core Location, Foundational, UIKit, Core Graphics, MapKit, XCTest, Google API, Facebook API, Event Kit, Watch Kit, Fabric/Crashlytics, SSZipArchive, Security Framework, Urban Airship, Fabric
Web Services: RESTful, SOAP, JSON, XML
IDEs: Xcode, Eclipse
Libraries: AFNetworking, Reachability, Red Laser, CocoaLumberJack
Version Control: GIT, SVN, SourceTree, Tower
Issue Tracking: JIRA
Methodologies: Agile, MVC, TDD, SCRUM, Waterfall-hybrid, Categories, Blocks, Continuous Integration, Delegation, Singleton, KVC, Notification, PUSH Notification, Localization
Analysis and Modeling: UML
Operating Systems: iOS4-iOS10, OS X, Linux, Windows.
Tools: Storyboards, Interface Builder, Separations, NSXMLParser, NSJSONSerialization, GCD, UIRefreshControl, NSURLCache, Keychain, Instruments - Allocations, Leaks, Zombies, LLDB, CocoaPods, Flinto, Sketch
Data Persistence: SQLite, Realm, Core Data, NSUserDefaults
PROFESSIONAL EXPERIENCE:
Confidential, Austin, TX
Senior iOS Engineer
Responsibilities:
- Finished the first app from design to working production line in a week.
- Responsible for project planning, architecture and design, implementation, testing, approval and deployment.
- Rearchitected the external facing app to be easier to extend.
- Migrated the code-base from Objective-C to Swift3 to keep it modern and sleek.
- Worked with a Swift-Objective-C hybrid code-base.
- Used AudioKit to play, record and email audio files that are used to run analysis on the server.
- Used Flinto to create and design micro-interactions to demonstrate prototypes before being built.
- Redesigned settings screen to what was designed with new reusable UI/UX components.
- Resolved critical issues causing an app to crash.
- Resolved critical issue involving network traffic and traffic through the web services. Troubleshooting and root cause analysis revealed a problem with RESTKit limits with handling of network traffic and restful web traffic
- Balanced priorities and scope creep to ensure timely deliveries and no missed dates
- Implemented sharing via Emails, Dropbox, Airdrop and more for large Audio Files
- Utilized GCD to keep the app running smoothly.
- Project used Agile methodology in 2 week sprints that resulted in quick turnarounds with bi-daily scrums.
- Implemented use of Android Studio versus Eclipse for development work.
- Decreased product development cycle times.
- Redesigned and engineered mobile agility process with high use of current technology, systems and existing organization assets.
- Worked with Objective-c and Swift hybrid code bases; practical experience working with bridging header files and minor issues with a dual language code base
- All code for the mobile and server applications were written using strict object-oriented design techniques.
- Refactored execution management to be handled in the background without locking up the main thread and UI using GCD; NSOperations also leveraged for more complicated concurrency concerns
Technologies: Swift 3.0, Objective-C, AudioKit, CallKit, Encrypted Core Data, Core Data, RESTKit, Flinto, Sketch, Storyboards, Singletons, Managers, Stateful programming, Push Notifications, Localization
Confidential, MN
Sr. iOS Developer
Responsibilities:
- Added a toolbar to improve user experience in dismissing the keyboard on iPhone
- Fixed a custom calendar implementation to work more predictable and fixed long standing issues
- Resolved crash scenarios that involved the calendar, when switching to a new calendar view
- Rebranded the app and changed assets, including updating the interface to be cleaner and use the newly defined colors
- Created a dynamically sized UITableViewCell to be able to fit all the information that needed to be shown for the cell
- Ensured sure that the apps' security requirements and directions by the security team were strongly followed
- Updated AFNetworking from version 1.3 to 3.1, to replace the now deprecated NSURLConnection with NSURLSession
- Delivered code continuously via 2 week sprints and daily deliverables, with updates to Jenkins as well as managing it
- Updated old scripts and jobs to keep the app as modern as possible
- Created POCs to move the app to a schema based deployment
- Created and maintained custom CocoaPods libraries, to promote code reuse throughout the organization
- Talked about best practices with other developers in the organizations
- Code stored in Bitbucket Repository
- Profiled the app using instruments to see performance leaks, memory optimizations and battery use
- Resolved long standing crashes and weird behavior that was intermittent in the app
- Rearchitected the app in several places to improve the readability, comments and stability to fit a more MVC pattern
Confidential, Austin, TX
Sr. iOS Developer
Responsibilities:
- Initial task was to complete login UI-refactoring based off wireframes from lead architect, using Storyboards, size classes and AutoLayout constraints
- Redesigned shopping list ViewController contents, including custom UITableViewCells
- Resolved crash scenario for iOS7.1.2 users when tapping shopping list and other bugs with Breakpoints, LLDB statements and Zombies
- Implemented Google+ login for users by working with Google API
- Added video functionality within app using AVFoundation library
- Invoked RESTful web services using AFNetworking
- Parsed JSON responses using NSJSONSerialization into NSObjects
- Worked with CocoaPods dependencies for necessary 3rd party abilities
- Optimized store locator functionality and refactored corresponding UI of workflow using Storyboards
- Enhanced performance of app by profiling app using several Instruments
- Handled optimizations of application for compatibility with iOS9 standard calls
- Created POCs in Swift2.0 to prototype current app functionality for decisions on integration
- Project matriculated utilizing the Agile/SCRUM methodology
- Code delivered in 2 week sprints
- Project developed on a team of 3 other iOS developers and 3 backend developers
- Code stored in Git repository; SourceTree used for version control functions
Confidential, Confidential, CA iOS Developer
Responsibilities:
- Created Singleton for converting measurement values from US to Metric based off user’s selection
- Redesigned views using Storyboards for expanding user preferences and filters for optimized searching
- Implemented social sharing APIs like Facebook, Twitter, Pinterest, and Google for allowing user to share recipes to the desired social network
- Made RESTful web calls using NSURLSession and parsed response JSON using NSJSONSerialization
- Utilized GCD for lazy loading, multithreaded workflow to invoke web service request on background to not tie up the main thread
- Added implementation to registration workflow that allows a user to register via Facebook and Google+ social network logins
- Utilized iCloud API for syncing shopping list among other iOS devices
- Refactored code and thoroughly-tested app to ensure compatibility with iOS8 SDK
- Redesigned the home screen experience and other views using Storyboards and AutoLayout constraints
- Code stored in SVN repo
- Project governed by Agile/SCRUM methodology
- Resolved numerous bugs using NSLogs, Breakpoints, LLDB statements and Instruments
Confidential, Seattle, WA iOS Developer
Responsibilities:
- Fully refactored UI into flat, minimalistic standard of iOS7 using Storyboards and AutoLayout constraints
- Constructed new UIs from wireframes from Lead Architect
- Refactored RESTful requests from NSURLConnection to NSURLSession to be compatible with iOS7 new standard
- Parsed JSON responses using NSJSONSerialization
- Enabled social sharing capabilities by implementing the Facebook API
- Imported XML formatted recipes from cooking sites and blogs utilizing NSXMLParser
- Project development team comprised of 3 other iOS developers and 3 back-end developers
- Project matriculated using Agile/SCRUM methodology; code delivered in 3 week sprints
- Code housed in Git repository
- Version control functioning handled by SourceTree application
- Debugged several bugs using NSLogs, Breakpoints, Instruments, and LLDB statements
Confidential, Bellevue, WA iOS Developer
Responsibilities:
- Map View implementation using the MapKit and Core Location Frameworks
- Web Services consumption on the iPhone to communicate with the MediaWiki API using the NSURLRequest and NSURLConnection objects natively; POC’s where made for using ASIHTTP
- Creating project and application architecture deliverables that are consistent with architecture principles, standards, methodologies, and best practices; namely allowing for maintainability and scalability
- Lead technical design sessions with the development teams, including the creation of class models, sequence diagrams, component models, etc., and detailed design specifications to ensuring that architecture standards are followed.
- XML Response parsing using the SAX NSXMLParser and NSXMLParserDelegate. JSON Response parsing using the SBJSON Framework.
- Data scrolling is achieved using UIScrollPane and UITextView
- Lead the technical analysis and evaluation of new technologies, vendors, products, and product enhancements with a strong point of view on end-user functionality and an eye for highly usable user interface design.
- Responsible for defining technical evaluation criteria for product and technology selection and determining technical approaches to ensure all architectural solutions result in a coherent systems design.
- Audio playback using the AVAudioPlayer from the AVFoundation Framework.
- This application was designed and implemented using iPhone SDK, Xcode, interface builder with XIB’s, objective-c and instruments for performance tuning/optimization