Hardworking and passionate job seeker with strong organizational skills eager to secure entry to intermediate-level iOS Engineer position. Ready to help any team achieve company goals.
Overview
5
5
years of professional experience
Work History
iOS Developer
Cognizant Technology Solutions Corporation
10.2022 - 05.2023
Participated in design sessions for an in-house application with SOLID principles as the guideline for maintainability, scalability and testability
Developed part of an iOS application using Swift and UIKit using SnapKit as the layout framework
Wrote Unit and UITests for various ViewControllers, Networking and business logic code
Developed networking code using Apple's new async-await api.
Senior iOS Developer
Adanic Afzar Co
06.2021 - 05.2022
Successfully extracted navigation responsibility from all View Controllers to use Coordinator design pattern to improve code quality by making it more extendable, reusable and testable and moving ViewControllers one step towards Single Responsibleness
Successfully refactored data storage layer from Realm Database to Keychain to address security issues and reduce application size
Having SOLID principles in mind, I used Protocols and Generics to decouple the storage layer from application logic that resulted in an easily maintainable code
Because of this separation, we can now choose any database technology as we see fit by conforming the common data layer protocol
Used swift's protocols and generics to create reusable UI Components to be used across the code base to minimize boilerplate code and improve maintainability, scalability and testability of the source code
Refactored legacy code to change architecture from MVC to MVVM to achieve cleaner and more readable code and make it reactive as well
Created CI pipelines using Fastlane to improve developers' productivity and achieve faster delivery of the software to production.
iOS Developer
IranKish Credit Co
02.2018 - 04.2021
Responsible for Migrating code from Objective-c to Swift language
I rewrote all objective-c source files with swift language
Created a push notification layer to talk to apple APNS regardless of what third party library we use
At the time, it was only OneSignal service
However, it can now be any other push service like Firebase or Batch without much effort
The layer contains a protocol that contains the necessary functionality required by the application and can be conformed to in case we needed to change the push service
Used swift's protocols and generics to develop Networking functionalities as a separate layer for multiple applications
This contained a generic function capable of talking to an endpoint regardless of the datatype expected by that endpoint as well as the http method used
Responsible for publishing app to end users as well as company's enterprise customers outside app store using enterprise sign
Developed a wrapper layer on top of a third party library which used delegation to handle callbacks and changed it to use Closures instead
This made it extremely easier to work with the library as well as making the code more readable.
Education
MSc - Computer Science, Artificial Intelligence
Allameh Tabatabaei University
Tehran, Iran
01.2015
BSc - Computer Science
University of Tehran
Tehran, Iran
01.2012
Skills
IOS Development: Swift, Objective-C, UIKit, SwiftUI, Combine, AutoLayout, UIStackView, Foundation, Serialization, Data Persistence, Memory Management, Multithreading and Concurrency, Dependency Management, SOLID Design Principles, Push Notification, Protocol Oriented Programming (POP), Git, Design Patterns, Unit and UI Testing
Artificial Intelligence: Image Classification and Localization using Deep Convolutional Neural Networks (Deep CNNs), Video object detection using Yolo library, Caffe, Tensorflow, Matlab, OpenCV, Python for AI