
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.
Senior iOS Engineer
BounteousSenior iOS Engineer
SoGoodSenior iOS Engineer
DMISenior iOS Developer
Good Works LabiOS Engineer Consultant
UplersiOS Engineer Consultant
PwCiOS Software Engineer
Customer AnalyticsiOS Engineer
Subcodevs IT Consulting
SwiftUI

Swift Package Manager

Xcode

Objective-C

CocoaPods
Android Studio

Cocoa Touch

SQLite

Git

Microsoft Word
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.
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.
Hi, my name is Irshad Ahmed and I have completed my graduation in 2016 and then I started working as a junior iOS developer. Initially, I started working with Objective-C and I worked around 3-4 months in Objective-C. Then I started working in SIFT technology and I have been continuously working in SIFT technology since then. If we talk about my complete experience, technology-wise, I have around 8 years of experience in SIFT, 1 year of experience in SIFT UI, and around 6 months of experience in Objective-C. In my recent experience, I was working with Uplers, and the client was Leica Digital. I have worked around 1 year with them. My roles and responsibilities were to develop an end-to-end functionality of the assigned feature with proper event testing, and the working environment was quite simple. We had daily scrum meetings, and we frequently communicated with each other and the backend team as well. In the daily scrum meetings, we discussed deadlines and any blockers we had, and we worked on blockers if we had any. I majorly work with the e-commerce industry and the telecom industry. I work with the telecom industry and the e-commerce industry, and initially I also worked with the ad industry.
So, to test the asynchronous code, we basically use expectations. First, we create the expectations, then we call our asynchronous code and receive the response. We then fulfill our expectations once we receive the response. After that, we wait for the expectations to be fulfilled. Once fulfilled, we write a condition based on whether we get the desired result or not. If we get the desired result, we write our assertion accordingly, such as xct assert not nil or xct assert true. The expectation API is available to help us write unit test cases for 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 for the network layer. So let's suppose we are working with authentication and we have to create the authentication network layer. So first, we will define a protocol for the authentication network layer, and on top of that protocol, we will create a service. If any API, or if any class is consuming that particular network layer, then we will simply tell them to use the protocol, not the actual service.
I'll make the corrections. Interviewer: So, can you tell us a little bit about your background? Candidate: Yeah, sure. I have a bachelor's degree in computer science from University of California, and I've been working as a software engineer for about five years now. I've been working with Java and C++ for most of my career, and I've also done some projects with Python. Interviewer: That's great. Can you give us an example of a project you worked on? Candidate: Yeah, like I worked on a project where we had to build a chatbot using natural language processing. It was a really challenging project, but it was also a great learning experience for me. Interviewer: I see. How do you stay up-to-date with the latest developments in the field? Candidate:, I try to read a lot of articles and blogs, and I also attend conferences and meetups whenever I can. Like, I recently attended a conference on AI and machine learning, and it was really inspiring to see all the new advancements in the field. Interviewer: That's terrific. Can you tell us about a time when you had to overcome a difficult challenge? Candidate: Yeah, like I recall a project where we had to meet a really tight deadline, and one of our team members was out sick. We had to work together to deliver the project on time, and it was a great experience for me in terms of teamwork and time management. Interviewer: I appreciate that. Do you have any questions for us? Candidate: Yeah, I do. Can you tell me more about the company culture and what a typical day looks like for someone in this role? Interviewer: Absolutely. We'd be happy to answer any questions you have.
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 are basically empty. So, the item is empty, and 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's just nil initially. So, that is the problem with it.
Take care.
So, I have used MVVM besides MVC, so MVVM, the benefits of using MVVM over MVC are that, MVVM basically increases the separation of concern and also increases the testability and separates the business logic from the view. The problem with MVC is that you have to write every logic and everything inside the controller itself, which becomes very huge and messy. By using MVVM, we can clearly separate our business logic from the views and the logic layer is clearly separate from the view itself, which defines the separation of concern and improves the testability and reusability. That is the most of the benefit of using MVVM over MVC.
So, we can use like a couple of ways to debug an application which is basically crashing intermittently. In Xcode, in the Xcode breakpoint navigator, there is a tool available called the breakpoint navigator. In that, there is a specific type of breakpoint called an exception breakpoint. We will hit that breakpoint, add it, and run the application. As soon as the crash is going to happen, it will automatically stop at the specific line of code where the crash is exactly occurring. So, in that way, we can debug this intermittent crash issue in the iOS application, and this is one of the easiest ways of debugging it.
So, to implement a biometric authentication, we already have the framework available from Apple. In that, there are two kinds of biometric authentication available for older devices: Touch ID, and for newer devices like the iPhone 10, 11, 12, it's Face ID. So, there are two types of biometric authentication available. We already have the native library available from Apple, and we can implement those in order to implement the authentication feature, either Face ID or Touch ID, which is quite simple and straightforward.