profile-pic
Vetted Talent

Irshad Ahmad

Vetted Talent

Seasoned iOS Developer with 7+ years of extensive experience in designing and developing large-scale applications with complex user interfaces. Proficient in Swift and SwiftUI, I have a proven track record of delivering rich, interactive, and high-performance applications using the latest iOS technologies. Develop My expertise spans the entire development lifecycle, from conceptualization and design to implementation, testing, and deployment. Proficient in User Authentication frameworks like Firebase, Facebook, Google etc. In Previous roles developed 10+ iOS apps for brands like FabIndia, PwC, Nike, BlackJack Pizza & Heathrow Airport etc. Extensively worked on MVC, MVVM design architecture, Cocoa design patterns and concepts like delegation, protocol and categories. Experience in working with data parsing forms such as JSON and XML to dynamicall ydisplay data on iOS Application. Design applications using Storyboards, XIB files, SwiftUI View and Programmatic UI building. Experience with GIT code repositories, and Git flow workflow. Familiarity with Agile methodologies and continuous integration/continuous deployment (CI/CD). Highly experienced working directly with clients, as a programmer and also as a leader of software implementation. Establish and maintain a productive working relationship with management, Clients, external teams and team members.

  • Role

    Senior iOS Engineer

  • Years of Experience

    9.3 years

  • Professional Portfolio

    View here

Skillsets

  • MVC - 7.0 Years
  • User authentication
  • Unit Testing
  • data parsing
  • Cocoa design patterns
  • CI/CD
  • CI/CD
  • Agile methodologies
  • Agile methodologies
  • MVC - 8 Years
  • Swift - 8.0 Years
  • MVVM - 5.0 Years
  • Objective C - 2.0 Years
  • Rest APIs - 7 Years
  • iOS - 7 Years
  • Design patterns - 7 Years
  • Firebase - 7 Years
  • Xcode - 9.0 Years
  • Objective C - 5 Years
  • SwiftUI - 1 Years

Vetted For

9Skills
  • Roles & Skills
  • Results
  • Details
  • icon-skill_image
    Senior iOS Engineer (Remote)AI Screening
  • 57%
    icon-arrow-down
  • Skills assessed :Dependency Injection, Reactive/Declarative programming, routing mediation, Singleton, Combine Framework, Firebase/ NoSQL, UIkit, iOS, Swift
  • Score: 51/90

Professional Summary

9.3Years
  • Feb, 2024 - Present1 yr 7 months

    Senior iOS Engineer

    DMI
  • Sep, 2022 - Aug, 2023 11 months

    Senior iOS Developer

    Uplers
  • Aug, 2021 - Jun, 2022 10 months

    Senior iOS Developer

    Good Works Lab
  • Aug, 2017 - Dec, 20203 yr 4 months

    iOS Engineer

    Subcodevs IT Consulting
  • Jan, 2021 - Jun, 2021 5 months

    iOS Software Engineer

    Customer Analytics

Applications & Tools Known

  • icon-tool

    SwiftUI

  • icon-tool

    Swift Package Manager

  • icon-tool

    Xcode

  • icon-tool

    Objective-C

  • icon-tool

    CocoaPods

  • icon-tool

    Android Studio

  • icon-tool

    Cocoa Touch

  • icon-tool

    SQLite

  • icon-tool

    Git

  • icon-tool

    Microsoft Word

Work History

9.3Years

Senior iOS Engineer

DMI
Feb, 2024 - Present1 yr 7 months
    Engaged in code reviews with team to brainstorm areas requiring improvement, validate design and implementation of features. Participated in meetings to develop designs and methods for user stories and requirements. Wrote and created clean, readable and testable code to assure verifiability of components. Provide technical guidance and mentorship to junior developers. Collaborate with cross-functional teams to define, design, and ship new features.

Senior iOS Developer

Uplers
Sep, 2022 - Aug, 2023 11 months
    Implement complex UIs and features with SwiftUI and UIKit. Coordinated with back-end developers, designers, and team to produce high quality solutions. Write clean, maintainable, and efficient code using Swift and Objective-C. Optimize application performance and ensure responsiveness. Conduct code reviews to ensure code quality and adherence to best practices. Work closely with product managers to understand requirements and translate them into technical specifications.

Senior iOS Developer

Good Works Lab
Aug, 2021 - Jun, 2022 10 months
    Lead the design, development, and maintenance of iOS applications. Write clean, maintainable, and efficient code using Swift and Objective-C. Implement complex UIs and features with SwiftUI and UIKit. Optimize application performance and ensure responsiveness. Work closely with product managers to understand requirements and translate them into technical specifications. Conduct code reviews to ensure code quality and adherence to best practices.

iOS Software Engineer

Customer Analytics
Jan, 2021 - Jun, 2021 5 months
    Lead the design, development, and maintenance of iOS applications. Write clean, maintainable, and efficient code using Swift and Objective-C. Implement complex UIs and features with SwiftUI and UIKit. Optimize application performance and ensure responsiveness.

iOS Engineer

Subcodevs IT Consulting
Aug, 2017 - Dec, 20203 yr 4 months
    Developed and maintain application in iOS applications. Conducted code reviews to uphold quality standards, ensuring consistent adherence to best practices within the team. Conducted user testing sessions, collecting valuable feedback for app improvements and enhancing overall user satisfaction.

Achievements

  • Achieved 100% app store approval rate on developed applications.
  • Developed 30+ iOS apps for brands like FabIndia, PwC, Nike, BlackJack Pizza & CECOR etc.
  • Achieved 100% app store approval rate on developed applications
  • Maintained portfolio of 30+ successfully published applications available via Apple App Store

Major Projects

6Projects

Lyca Digital

    A project at Uplers where Irshad engaged in code reviews, designed prototype applications, planned storyboards, participated in meetings, coordinated with team members, and wrote clean, readable and testable code.

Freelancer Projects on Upwork

    Applied Apple's Swift development language to code native apps for iOS platform. Maintained portfolio of 30+ successfully published applications available via Apple App Store. Maintained existing mobile applications by designing patches to be applied via iOS automatic updates. Integrated existing third-party APIs to shorten development times and add interactivity with Product or Service.

OCSalsa, ElmUnity, MySwaasth, GoPlayBook and many more

Car and Bike

Good Works Lab
Aug, 2021 - Jun, 2022 10 months

    Engaged in code reviews with team to brainstorm areas requiring improvement, validate design and

    implementation of features.

    Designed prototype applications to reduce developments costs and establish more clarity of user perception and

    needs.

    Planned storyboards for clients to guarantee designs and ideas met client requirements and expectations.

Cecor Enterprise iPad App

Customer Analytics LLC
Jan, 2021 - Jun, 2021 5 months

    Translated basic design plans into full iOS app frameworks, delegating project

    components to appropriate team members.

    Applied Agile software development methodology to elevate final products and

    streamline development efforts.

    Researched and selected APIs for integration into development projects.

Blackjack Pizza & Salads

Subcodevs IT Consulting Pvt Ltd
Dec, 2019 - Dec, 20201 yr
    • Developed application in iOS.
    • UI Integration.
    • Integrating third party frameworks and maintaining entire applications.
    • Coordinated and collaborated code with other team members via Gitlab.
    • Identifying potential problems and resolving application bottlenecks.
    • Maintaining the code of the application
    • Designing and implementing application updates.

Education

  • B. Tech(CS)

    Adhunik College Of Engineering (2016)

Certifications

  • Google anlytics

    Google

Interests

  • Gardening
  • Cooking
  • Reading
  • AI-interview Questions & Answers

    Hi, my name is Irshad Ahmed and I have completed my graduation in 2016 and then I have started working as a junior iOS developer and initially I started working with Objective-C and there I have worked around like 3-4 months in the Objective-C then I have started working in the SIFT technology and there I have and since then I am continuously working in the SIFT technology and if we talk about my complete experience technology wise, so I have around like 8 years of experience in the SIFT and the 1 year of experience in the SIFT UI and around 6 months of experience in the Objective-C and in my recent experience I was working with Uplers and the client was the Leica Digital and I have worked around 1 year with them and my roles and the responsibility were to develop an end-to-end functionality of the assigned feature with the proper event testing and the working environment were quite simple. So, we do have the daily scrum meetings and we frequently communicate with each other with the backend team as well and in the daily scrum meetings we basically discuss with the deadline and any blocker if we have and we work on the blocker if we have any blocker in the current task and majorly I work with the e-commerce industry and the telecom industry. Majorly I work with the telecom industry and the e-commerce industry and initially I worked with the ad industry as well.

    So, to test the, to write the unit test cases for the asynchronous code, we basically use the expectations. So, first we have to create the expectations, then we will call our asynchronous code and once we will receive the response from the asynchronous code, we will fulfill our expectations, okay. And then we will wait for the expectations. So, once we will fulfill, then we will write a condition accordingly, whether we get the desired result or not. If we get the desired result, then accordingly we will write our assertion, okay, like xct assert not nil or maybe if we are getting like success response, then we will write like xct assert true or xct assert false. So, accordingly based on the asynchronous response, we can write our assertions and yes, and there is a like API available, like expectation, which we use basically to write the unit test cases for the asynchronous code.

    how would you implement a custom animation between two views controller to create a custom animation between two view controller basically we need to define the navigation delegate and the transition delegate and then in the delegate when the controller is moved from one controller to another controller or maybe it's coming like back from the second view controller to first view controller we will receive the delegate in this delegate in this transition delegate we have to define the transition context and the animation which we need to apply between those two view controllers

    Can you showcase how to use Error Handling in SIFT and handle different error cases? So Error Handling in SIFT is quite simple, it's not complex. So we already have an enum available in the SIFT called Error and on the top of that we can define our own custom enum like API error or some specific error. And we can define another use case like invalid response format or internal server errors and like that or maybe custom error. So we can define different use case and once we get that kind of error from the APIs then we can accordingly, according to the cases defined in the enum, we can simply handle our cases inside the application. So this is the standard way. So first we need to define the enum with the error cases like invalid JSON format, invalid request, invalid data or like no internet connection and all. So we can define all the cases and according to that case we can handle the error inside the application.

    So, network layer abstraction is basically what we do, we need to create a protocol oriented base the network layer, so let's suppose we are working with the authentication and we have to create the authentication network layer, so first we will define a protocol for the authentication network layer and on the top of that protocol we will create a service and if any API, oh sorry, if any class is consuming that particular network layer then we will simply tell them to use the protocol, not the actual service.

    That's fine.

    Yes, so in this code, basically, this view, a specific view, is a random view. It is a list of items, but initially, the items is basically, it's an empty, okay. So item is basically empty, so it is not going to render anything. Eventually, it is going to crash the application because the item does not have any object in it. It's just a nil initially. So that is the problem with it.

    Take care.

    So, I have used MVVM besides MVC, so MVVM, the benefit of using MVVM over the MVC is that, so MVVM basically increase the separation of concern and also increase the testability and separate the basically business logic from the view. The problem with the MVC is that you have to write every logic and everything inside the controller itself that become very huge and messy and by using MVVM, we can clearly separate our business logic from the views and basically the logic layer is clearly separate from the view itself, so that define basically the separation of concern and improve the testability and improve the reusability and yes, so that is the most of the benefit by using like using MVVM over the MVC.

    So, we can, so there are like couple of ways to debug an application which basically crashing intermittently. So, in the Xcode, in the Xcode breakpoint navigator, there is a tool available in the Xcode called breakpoint navigator in that there is a specific type of breakpoint that is called exceptional breakpoint and we will hit that breakpoint, we will add this breakpoint and we will run the application and as soon as the crash is going to happen, it will automatically stop it at the specific line of code where exactly causing the crash. So, in that way, we can debug this intermittent crash issue in the iOS application and this is the easiest way of debugging it.

    So, to implement a biometric authentication, we already have the framework available from the Apple and in that there are two kinds of biometric authentication available for the older devices, it's a Touch ID and for the newer devices like iPhone 10, 11, 12 it's a Face ID. So, there are two types of biometric authentication available and we already have the native library available from the Apple and we can implement those in order to implement the authentication feature, biometric authentication, either it's a Face ID or Touch ID, it's quite simple and straightforward.