Carlos Varela
Senior iOS Developer
****************@*****.*** 929-***-****
Professional Summary
Professional IOS developer with over five years of experience in successfully launching features and products in a development environment. I am an avid developer that is eager to always expand my knowledge and skillset and deploy optimal solutions in all avenues.
Experience in both Swift and Objective-C coding using Xcode IDE to develop iOS mobile apps
6+ years of experience with Objective C, experience with Swift 3-5, 1+ year of experience in JavaScript, object-oriented, protocol-oriented, functional, and functional-reactive.
Detail oriented developer with experience in the entire software development lifecycle, including requirements-gathering, design, development, testing, debugging and maintenance.
Experience with Swift, Objective-C, Xcode, iOS versions, debugging tools, memory management, multi-threading techniques, UI design
Familiar with the use and integration of CoreData, SQLite, UserDefaults, Settings Bundle, pLists, Documents Directory and Codable & Arching/Unarchiving to store application data persistently.
Strong understanding of Application Architectures such as MVC, MVVM, MVP, and Coordinator patterns.
Experienced with various methodologies such as Test-Driven Development (TDD), Behavior Driven Development (BDD), Sprints, and Agile/SCRUM methodologies.
Comfortable working with and adding 3rd party dependencies to projects for specialized functionality, such as Alamofire, Firebase, and SnapKit, through CocoaPods and Carthage
Adept in the use and understanding of UIKit, CoreData, AVFoundation, MapKit, CoreLocation, XCTest, NSCoding, NSUserDefaults, SQLite, Bluetooth Low Energy (BLE), and other tools & frameworks
Experienced working with multithreading through GCD and NSOperations to execute tasks on background threads to free up and improve upon the user’s experience, UI/UX
Seasoned in the consumption of RESTful web services and parsing services responses using NSJSONSerialization for JSON data, and NSXMLParser for XML
Technical Skills
Languages: Swift 3-5, Objective-C, C++, Python, JavaScript
Frameworks: UIKit, MapKit, CoreLocation, AVFoundation, AVKit, Core Data, AlamoFire, AFNetworking, SnapKit, Firebase, Firebase Analytics
Tools: Charles Proxy, Postman, OpenGL, JIRA, Confluence, Valgrind
Testing: XCUITest, XCTest, TDD, BDD, Quick, Nimble,
IDEs: Xcode, VSCode, Visual Studios, Eclipse, NetBeans
Versioning Control: GIT, Github, Gitlab, SourceTree, Github Desktop, Terminal
Architecture: MVC, MVVM, Coordinator, MVP, VIPER
Design Patterns: Singleton, Façade, Factory, Adapter, Delegation, Notification, KVO, KVC,
UI/UX: Storyboards, XIBs, IB, Programmatic, SwiftUI
Data Persistency: NSUserDefaults, CoreData, SQLite, Keychain, FileManager
Professional Experience
Senior iOS Mobile App Developer March 2019 – present
New York Times, New York, NY
Worked on the front facing consumer application for the New York Times. The application is designed to bring the latest news and events right to your fingertips, delivering current events, tailored news based on consumer patterns, opinion pieces, podcasts, and more.
App: https://apps.apple.com/us/app/the-new-york-times/id284862083
Developed in an Agile environment, serving as Scrum Master and facilitating sprint planning, retrospective, backlog, review, and daily scrums.
Led working groups to develop migration strategies and prepare standard operating procedures.
Coordinated with QA testers for end-to-end unit testing.
Used CocoaPods to load all third-party frameworks and manage dependencies
AutoLayout for universal constraints with NSLayoutConstraints and Anchors.
Size Classes for varying UI implementation across iPhone and iPad devices to vary for Regular and Compact sizes
Revamped iOS widgets to new and updated iOS 14 Widgets
Application is with MVVM-C architecture for best separation of concerns
Worked with various design patterns such as Factory, Façade, Adapter, Delegations, Notifications, and KVO
Wrote Unit and UI tests with XCTest and XCUITest respectively to give optimal code coverage with a TDD approach.
Utilized URLSession to fetch RESTful API calls and decode data via the Codable protocols
Used Charles and Postman to debug network calls
Closely worked with all sides of the development process including QA, UI/UX team, Product, and AN/Backend Teams.
Used GCD for multithreading and dispatch groups for fetching segments of data.
Implemented best practices for getting information such as lay loading, pagination, and caching data
Assisted with usage of Flutter for implementing some of the game sections
Revamped a large amount of the code base to include Accessibility implementation to adhere to ADA Compliance guidelines as well as improve UI testing.
Accessibility Inspector for debugging accessibility compliance.
Jenkins for CI/CD pipeline and deployment to TestFlight for application deployment.
Instruments for testing app performance and memory management.
Senior iOS Engineer April 2018 - March 2019
Capital One, McLean, VA
Worked on a mobile application that allowed you to manage you bank accounts, credit cards, and home and auto loans. You can access you Credit report through the tool of Credit Wise as well as customize your notifications all while keeping your information secure and encrypted.
App: https://apps.apple.com/us/app/capital-one-mobile/id407558537
Worked with Swift and Xcode
Mentoring junior developers, teaching best practices and conducting regular paired programming sessions
Completed extensive bug-fixing using NSLog statements, Breakpoints, LLDB statements, and Instruments.
CocoaPods for third party dependency management
Took a BDD testing approach working with testing frameworks such as Quick and Nimble
Used a combination of Storyboards, XIBs, and programmatic approach to creating UI.
Regularly performed code reviews to ensure efficiency, readability, and maintainability
Integrated Firebase Crashlytics and analytics services to best track user usage and crash reports.
Gathered requirements, and interfaced with UI/UX designers and product owner to develop an attractive, user-friendly, customer-facing app.
Worked with Local Notifications to notify users when certain events occur.
Used Jenkins for continuous integration and continuous deployment.
Git Flow for branching strategy within GitLab as well as SourceTree and command line tools for git.
iOS Software Developer January 2017 - April 2018
Netflix, Los Gatos, CA
Video Streaming platform to bring all of your favorite movies and television shows right to your mobile device. Allowing for multiple different accounts per device, the whole family can have their very own customized experience.
App: https://apps.apple.com/us/app/netflix/id363590051
Agile Methodology, performing daily stand up, pre-sprint planning, and backlog grooming.
Two-week sprints with a monthly release cycle.
Used Cocoa Pods library and UIKit Framework, Foundation Framework, XCTest Frameworks, AVFoundation, and AVKit Frameworks
Utilized different local storage systems such as NSUserDefaults for application settings, Key Chain for Login credentials
Core Data for storing information of movies and other videos.
Implemented full Core Data stack of the NSPersistentContainers with NSManagedModelObjects, NSManagedObjectContexts, and NSPersistnetStoreCoordinator
Performed small lightweight Core data migrations when schema patterns changed
Implemented GCD and NSOperations for multithreading and asynchronous work
Used a TDD approach for writing and creating unit tests with XCTest
Utilized instrument’s Time Profiler, Allocations, and Leaks tool for analyzing and processing any memory leaks and other issues
iOS Mobile Developer September 2015 - January 2017
Duolingo, Pittsburgh, PA
Educational application to learn different 35+ languages through quick, bite-sized lessons. Go through many small lessons with the language of your choosing and dive right in to harness your inner Duolingual artisan.
App: https://apps.apple.com/us/app/duolingo-language-lessons/id570060128
Worked with Objective-C and Swift with Xcode
Migrated Objective-C code to Swift 2 and later to Swift 3
Application architecture with MVVM pattern
Utilized different design patterns code design patterns to optimize performance such as delegation, notifications, and singletons.
Worked in an Agile Team with 5 iOS developers alongside 5 AN developers.
Debugged and fixed bugs with break points, print statements, and Instruments
Worked Closely with QA for a better workflow.
Implemented AVFoundation for voice over to speak the language phrases back to the user.
Created animations with UIView animate functionality to draw different scenes
Developed navigation between views was mixture of using UINavigationController, UIGestureRecognizer, and UIPopoverController.
iOS Developer February 2014 - September 2015
Etsy, Brooklyn, AL
E-Commerce application to purchase various products from a wide range of categories. A specific application for both the buyer and the seller.
App: https://apps.apple.com/us/app/etsy-custom-creative-goods/id477128284
Developed the iOS mobile app using Objective-C and XCode.
Worked with UIKit Framework for development and maintenance
Used Storyboards and AutoLayout constraints to create universal layout designs.
Utilized XIBs and IBDesignables for UI/UX created interfaces
Implemented UITableViews and UICollectionViews to have and efficient user experience integrated into the Products and Product Detail Pages
Worked with MVC architecture and eventually started work in cascading the application towards MVVM architecture.
Utilized Github and SourceTree for source control
Regularly consumed RESTful API services with SwiftyJSON to have real time data from the backend
Carthage for dependency management utilizing various frameworks such as SwiftyJSON and AFNetworking
Education
Bachelor’s in Computer Science
University of Nevada