Sr. Ios Engineer Resume
3.00/5 (Submit Your Rating)
Denver, CO
SUMMARY
- 7+ years’ combined experience in iOS mobile app development and software development.
- 6 mobile apps published on Apple Store.
- Experienced with Agile development and practices.
- Set up network calls in Swift with URLSession to fetch data from API.
- Made layouts with constraints that worked on various devices and orientations.
- Familiar with application architectures such as MVC, MVVM, MVP, and VIPER.
- Refactored MVC into an MVVM style application architect pattern.
- Wrote tests for views I made and set up mock data with calls for them with XCTest.
- Deep familiarity with languages of Swift and Obj - C in the XCode IDE.
- Working with JavaScript using WebPack and DevServer for development.
- Refactored Object-C into Swift for classes and created protocols to clean up the code.
- Familiar with Core Apple Frameworks such as Core Data, Core Location, and Core Bluetooth.
- Worked with different Data Persistence options such as Core Data, NSUserDefaults, and Keychain.
- Set up CRUD operations in core data to handle events on the entities.
- Dependency management utilizing CocoaPods and Carthage for third-party frameworks.
- Worked with MongoDB and set up the API to handle functions with the data using aggregates to quickly pull and join data between collections.
- Configured routes in Apache to serve pages to users.
- Set up pages using NextJS for SEO and strong ranking in Google.
- Built API based features using NodeJS to set up routes and with queries.
- Configured the deployment process with AppFlow to build apps to the app store.
- Experienced with Redux Architectures and creating components in React.
- Making tests for React with the React-Testing-Library using Jest.
- Written unit tests for NodeJS with Ava and set up coverage to show up in GitHub.
- Used Puppeteer to perform browser-based tests and make sure the masonry was correct.
- Set up SendGrid to work with APIs to send notifications to users.
- Worked with Firebase and Google Cloud Messaging to send push notifications along with setting up the APIs to store the endpoints after setting up the necessary permissions.
- Worked with WKWebView to display pages in iOS.
- Strong knowledge of RESTful APIs and handling data with Codable Protocol.
- Used WebView to display JavaScript along with setting up elements that can be used with eval to share data such as tokens.
- Implement Design Patterns such as Factory, Façade, Singleton (and many more) for creating optimal code quality.
- Designed collections in MongoDB and set up the API calls to pool connections with distribution in mind.
TECHNICAL SKILLS
- Swift
- Objective-C
- JavaScript
- Python
- C++
- Ruby iOS Tools
- Instruments
- Xcode IDE
- CocoaPods
- Carthage
- Software Management
- JIRA
- Agile/Scrum
- Github Issues
- Trello
- Data Persistence / Storage
- Core Data
- Keychain
- File System
- NSCoding / NSKeyedArchiver
- Realm
- PList
- NSUserDefaults
- Web Services
- SOAP -XML
- NodeJS
- Twilio
- SendGrid
- Apple Push Notification (APNS)
- Charles Proxy
- Devops
- Kubernetes
- CircleCI
- Jenkins
- Appflow
- Google Compute Engine
- Digital Ocean
- UI
- AutoLayout
- Storyboard
- Xibs
- Interface Builder
- Size Classes
- UIKit
- CALayers
- UIView
- Adaptive Layout
- Storybook
- Material-UI
- Ionic
- Software
- Adobe Illustrator
- Microsoft Office
- Apple iWork
- Frameworks
- Cocoa TouchReact
- Redux
- UIKit
- UIDynamicsAngular
- Ionic
- CoreLocation
- MapKit
- LocationKit
- PassKit
- CoreBluetooth
- CoreGraphicsHealthKit
- AVFoundation
- CloudKit
- CoreData
- EventKit
- Core Plot
- Firebase
- Webkit
- Messages
- LAMP
- Threading
- GCD
- NSOperations
- APIs
- Google API
- Twitter API
- Facebook API
- OpenWeather API
- Twilio API iOS macOSWindows
- Ubuntu
- Testing
- TDD
- Unit Testing
- Automated Testing
- Jenkins
- TestFlight
- Mocha
- Ava
- Karma
- Jest
- Puppeteer
- PHP Unit
- Skype / Slack
- Version Control
- Git
- Github
- Bitbucket
- Sourcetree
PROFESSIONAL EXPERIENCE
Sr. iOS Engineer
Confidential, Denver, CO
Responsibilities:
- Looked at concurrent network operations for fetching the correct image in a TableViewCell.
- Worked with Navbar and NavigationItem to ensure a custom title was properly set for the backTitle and made sure accessibility was correct.
- Used Accessibility Inspector to determine items had proper labels and traits in lists.
- Fixed an issue involving accessibility scroll to ensure only the label was being spelled out.
- Using CocoaPods developed on in-house pods and made sure the code was shared in all applicable applications.
- Was given a large high priority crasher and used memory leaks and zombie tools to determine the potential cause of the issue, along with offering options to refactor code in an effort to fix parts where these tools had shown errors.
- Refactored code into SwiftUI and created stories explaining what needed to be refactored and when it should be prioritized amongst the refactoring.
- Traced through a large codebase built several years ago to fix bugs and implement stories with the least amount of code changes (unless cleaning redundancies).
- Fixed issues with analytics and used in-house tools to determine the changes were valid.
- Used NavController as a means to determine supported InterfaceOrientations based on certain underlying views.
- Added analytical events when the application was backgrounded and foregrounded.
- Used Storyboards to add an icon shown for specific assets in a list.
- Worked on a team in two-week sprints with daily stand-up remotely in a high-scale production environment.
- Helped add business logic to the codebase so it could be used to build Spectrum Enterprise, a live streaming app for businesses.
- Used CharlesProxy to create rewrites for development and testing.
- Set up business logic to canary new features using configuration data fetched from the backend to determine if a user can implement a new feature.
Sr. iOS Engineer
Confidential, New York City, NY
Responsibilities:
- Set up Firebase Crashlytics in the apps to make sure any errors were sent to a database that performed special tasks like ticketing the issue for other developers.
- Communicated with the QA team to make sure any issues were ticketed and delegated them to developers I thought would be able to quickly handle.
- Helped on board developers and set up the documentation to get started developing locally.
- Used CoreLocation along with Google Maps API to find property listing and locations all the while optimizing the user experience.
- Optimized performance by working with back-end developers to better understand the data necessary to not leverage user experience.
- Refactored some features to use concurrency with GCD and asynchronous closures in Swift.
- Utilized Core Data to persist favorited Properties.
- Utilized CocoaPods for third party dependency management.
- Regularly participated in Code Reviews making sure all code quality was up to standards.
- Wrote unit tests with XCTest framework with TDD as the testing paradigm approach.
- Worked with Swift 4-5 on XCode 11-12.
- Agile Development with 2-week sprints, daily stand up, and pre-sprint planning.
- Integrated Push Notifications to notify the user on updates to property listings.
- Worked on full application end to end life cycle, from new feature grooming to releasing new builds to the app store.
- Publishing both front end consumer application to the Apple Store and Enterprise Application for internal business use via TestFlight.
- Utilized the Atlassian Suite for task management and documentation purposes.
- Worked hand in hand with Android developers to collaborate on ideas for architecture and features.
- Applied MVVM architecture.
- Wrote UI all programmatically utilizing a universal application layout with AutoLayout with NSLayoutConstraints.
- Maintained the apps overall performance with Instruments, monitoring application launch speed, memory allocations, time profiling, and general user metrics.
- Used SourceTree along with BitBucket for Git management.
Lead Web Developer
Confidential
Responsibilities:
- On boarded multiple developers and made sure the documentation for services was pertinent and sound so they could start to develop locally with no issues.
- Tasked with writing up questions for potential hires and reviewing their answers to identify the right candidates for the team.
- Worked with configuring the CI for the iOS applications to automate the process for building and testing when a code change passed. worked with international developers and made sure my communication was clear.
- Used Slack to facilitate Scrum for daily stand-ups in written form.
- Tasked with making sure tickets were written in github issues for each service based on Usersnap stories.
- Set up services in NodeJS for REST-ful api.
- Worked on MongoDB, Redis and websockets to create services that made games real time.
- Designed a pattern to make games easier to develop on, the full stack of games are separate from the website and we do not use an iframe for this.
- Used Sengrid and made a service that sends out communications to users for login, updates and rematches.
- Worked with Nextjs to create SEO friendly pages and designed them with an SEO expert to achieve the best ranking in Google.
- Tasked with setting up the facebook and google logins.
- Set up the login flow for email to use a magic link along with automatic profile creation.
- Utilized k8’s with a dev-ops to help configure services to be easily scalable and replicated.
- Worked with CircleCI to configure many different services to make sure the build and testing was quick.
- Developed many of the games using CSS and react-flip-toolkit to facilitate animations.
- Helped design a smooth build pattern involving named games in tags that trigger the specified game along with a version.
- Set up caching in S3 for images and other javascript, along with setting up caching for games with proper invalidation to work on S3’s distributed systems.
- Worked with a designer to make sure pages were set up with the proper masonry, helped design a few pages as well based on a thorough understanding of the patterns used for design for Confidential .
Sr. iOS Mobile App Developer
Confidential, San Francisco, CA
Responsibilities:
- Refactored Objective-C into Swift and set up tests to ensure stability within the application.
- Migrated the application from Swift 3 codebase to Swift 4.
- Delegated tasks to team members involving new features and made sure their work was on schedule.
- Reviewed code in pull requests making sure it followed the standards set up for Swift 4.
- Large Responsibility was with working on the Product lists and PDP of the application.
- Utilized CocoaTouch Frameworks for creating various UI screens with AutoLayout and Storyboards.
- Worked closely with the UI/UX designers to deliver the expected visual results and giving a timely, yet realistic, deadline for deliverables while maintaining the overall user experience.
- Tasked with making sure developers could use Swift 4 without breaking any of the current features and maintaining stability.
- Agile Environment with 1-week sprints and a bi-weekly release cycle.
- Used MVVM-C architecture.
- Connection to web service was achieved using GCD. Delegate methods implemented to handle reception of response, data, error, and load finish.
- Utilized a coordinator pattern to inject dependencies throughout the app as well as maintaining the Cart component of the application.
- Consuming REST-ful API web services and updating the application from using SwiftyJSON to Codable protocols.
- Utilized Postman and Charles Proxy to intercept API services for debugging the application and having live test cases for product-based features.
Mobile iOS Engineer
Confidential, Redmond, WA
Responsibilities:
- Set up views in the dashboard in Swift to show new wearables that were being designed.
- Utilized CoreBluetooth in order to communicate with various Bluetooth receiver wearables.
- Tasked with communicating between the application, the wearables sending data, and storing the information into a data persistent container.
- Adhered to HIPPA guideline by keeping user data secure storing information locally into HealthKit.
- AVFoundation for audio processing of the tailored virtual Coach Mara.
- GET and POST calls to cloud database for receiving up to date and tailored voice audio feedback for Virtual Coach.
- Fixed bugs in the display to show the correct feedback for users.
- Worked with Data Scientists to facilitate metrics for the user in meaningful views.
- Discussed proper techniques with the backend developers and the data scientists to send only data as needed.
- Tasked with helping designers come up with views that facilitated optimized data use after learning about constraints from the back end and data science teams and presenting them in a meaningful way.
- Worked on Short term plan feature for smaller progress goals.
- Worked with a team of 3 developers to overhaul the entire UI/UX of the application.
- Core Location and MapKit to track user location and distance for running workouts.
- Used MKAnnnotation to enhance performance and gather Latitude and Longitude coordinates.
- Carthage to maintain 3rd party dependencies.
Mobile Developer
Confidential, San Francisco, CA
Responsibilities:
- Started as a backend developer setting up services for front end consumption and transitioned to iOS Mobile development.
- Worked on the iOS fixing bugs with an agile workflow.
- Tasked with creating various minor features for the iOS application using Swift 2.
- Refactored some Objective-C written features into Swift 2.
- Set up network calls to the API in the iOS app.
- Worked with backend engineers to optimize the streaming service for the app.
- Created various views programmatically based on specific designs provided by designers.
- AVFoundation and AVKit to handle live streaming video services.
- Messaging/Chat application utilizing WebSocket gateways for direct TCP connection.
- Native iOS application using UIKit and other Core Libraries.
- Worked with the backend to get latency on the video throttling for routing of video services.
Software Developer
Confidential, Hartford, CT
Responsibilities:
- Worked with PHP to fix bugs throughout the codebase.
- Set up features using the LAMP stack for routing and API calls.
- Worked with sensitive client data and made sure requests were encrypted.
- Made API calls that required communication with mainframes that used COBOL and FORTRAN.
- Made tests in PHP Unit to ensure the features would withstand any potential technical debt.
- Refactored the front end into React as the company started migrating into a MEAN stack.
- Was tasked with designing features in PHP to help clients reach support faster.
- Configured routes in Apache for clients with sensitive information being sent over the wire.
- Worked on MySQL queries with the database to fetch sensitive information.
- Set up API calls for data in MySQL to send encrypted data to users.
- Worked with actuaries to set up scripts in MySQL that queried statistics for estimates.
- Used Google maps API to set up locations for insurance agents throughout the state.