************@*****.***
Billy Zedan
·iOS professional with 7+ years of experience in native mobile development
·5 apps published
·Experienced with design patterns including Inheritance, MVC, MVVM, Delegation & Protocols, Notifications, KVO & KVC, and Singleton.
·Fluent in the operation of RESTful API and web services utilizing NSURLSession and parsing responses using Codable/NSJSONSerialization for JSON data.
·Experienced in design and development for frontend UI/UX utilizing Storyboards, XIBs, and programmatic means in conjunction with Size Classes and Auto Layout Constraints.
·Experienced in organizational programming through the MVC and MVVM structures
·Fluent with data persistence though means including User Defaults, Core Data, Cloud Storage, and other databases
·Adept in testing logic with the XCTest framework for unit testing
·Adept in additional languages including C, C++, Objective C, Java, and Javascript
Programming
Swift, SwiftUI, Objective-C
Map, Reduce, Filter
App interface Design
XCode
StoryBoard, XIB
Interface Builder
Programmatic UI
Size classes
Property, size, constraints inspectors
Project, issue, debug, breakpoint navigators
Networking
REST, SOAP API
URL Session
DataTask
Result type
Error type
JSON Serialization
Codable
Source Control
GitHub
Testing
·XCTests, XCUITests
·Jenkins
Design Patterns
·Protocols
·Delegation
·Singleton
·Extensions
·Generics
·MVC, MVVM
·GCD, NSOperations
Frameworks
·CocoaPods
·Plist
·User Defaults
·CoreData
·Firebase
·CoreLocation
·CoreBluetooth
·AVFoundation
EXPERIENCE
Trello — Senior iOS Developer
New York, NY : August 2018 - PRESENT
https://apps.apple.com/us/app/trello-organize-anything/id461504587#?platform=iphone
Worked with Trello for two years to improve on the Boards section of the app, allowing the user to add new Boards, display all of them on a TableView with different headers to separate and organize the Boards, including Starred Boards for any Boards with high importance, and Personal Boards, for solo projects to separate them from team projects for additional organization, with a search text bar at the top of the screen to filter through the Boards. Then once a Board has been selected, the user is brought to a new screen with lists, and each list filled with cards, again on a TableView, and also with a text field search function at the top. Once the user has selected a card from a list, the user will be brought to a final screen with the title, description, due date for time notifications, labels, members list to know who is working on that card, checklist, and activity, displaying a history of what has been changed to the card
-Programmatic and Storyboard design for the elements on each page.
-Attached keys to individual Boards to allow the search function to work.
-Worked on backend, sending the data to Trello database for storage to be called by additional team members.
-Populated the UI with backend data using Restful API’s.
-Worked on Network requests to make API calls with proper error and response handling.
-Utilized URLSession with closure callbacks with the Result type to asynchronously update the UI.
-Worked with MVVM-C architecture pattern for modularity and scalability.
-Handled concurrency through the use GCD and NSOperations.
-Maintained high test coverage and ensured that all issues found by QA were fully addressed and resolved, as well as user experience improvements suggested by QA.
-Used SourceTree for Git GUI with a continuous integration server (Jenkins).
-Github for source control follow GitFlow branching strategy.
-Worked in an Agile environment following Test-Driven Development (TDD) methodology, using Git and Jenkins CI server.
Money — Senior iOS Mobile Developer
February 2017 - June 2018
https://apps.apple.com/app/id1185488696
Worked with Jumsoft for 18 months fixing and improving features such as the transaction history. The app allows you to separate different bank accounts for you to keep track of payments and help you budget your money. Previously the app displayed the amount added and removed from the account in view but did not display the new total after each transaction, only at the end of the last transaction. Added the total remaining after each transaction in order to provide the user a history of the total within the account.
-Programmatic design for the elements on each account page.
-Organized the transactions by time they were added, with newest at the top.
-Transactions completed on the current day are separated from other transactions, label as Today and Recent.
-After each transaction is added, the total remaining is update and saved along with the other information on that transaction.
-Worked in an Agile methodology with 2-week sprints, daily stand up, monthly releases, and back log grooming.
-Involved in iOS performance testing along with Functional and Regression Tests, Unit Testing, Test Results review and other quality related work.
-Utilized XCTest for unit tests.
-Cocoapods to control all 3rd party framework management
-Used iCloud in order to store the data to be able to view across devices.
Netflix — iOS Mobile Engineer
Los Gatos, CA : November 2015 - January 2017
https://apps.apple.com/us/app/netflix/id363590051
Worked with Netflix for a little longer than a year improving the search function and UI/UX Design. Worked with Netflix S3 Database in order to produce a list of all the movies in order to filter through the list using the search function, displaying results in order of relevance, starting with title and then into the description. Also helped improve on the appearance of the app.
-Organized the data being delivered, first displaying matching titles, then matching descriptions for the keys searched for by the user
-Wrote and performed XCTests in XCode
-Had daily Agile/Scrum meetings to discuss development process and determine upcoming sprint goals
-Worked closely with UI/UX designers to in order to create advanced UI following Apple’s Human Interface Guidelines.
-Wrote UI with a hybrid approach via Storyboards and programmatically.
-Utilized the full Atlassian Suite with JIRA for task management, Confluence for documentation, and BitBucket for source control.
-Connection to web service was achieved using GCD. Delegate methods implemented to handle reception of response, data, error, and load finish.
What’s App — iOS Developer
Menlo Park, CA : February 2013 - October 2015
https://apps.apple.com/us/app/whatsapp-messenger/id310633997
Worked with WhatsApp for 30 months after deciding to specialize in iOS, developing and improving my skills throughout my time with them. Worked with their chat system, having live updates with the data passing between devices through SQLite database. Worked with observers obtaining single instances of event updates to efficiently receive data after a message is sent
-Developed my understanding of iOS language
-Worked with sending and receiving data from database in real time
-MVC architecture to promote a smooth separation of concerns and delegation of responsibilities.
-Utilized patterns such as delegation and notifications for communication across the application.
-Programmatic and Storyboard design on the chat messages display
EDUCATION
Florida Institute of Technology, Melbourne Florida — BoS in Computer Engineering