HARISH DESHMUKH
Summary
* ***** ** ********** ** developing iOS applications for iPhone and iPad and integrating with various Databases and Client-Server applications.
Extensive experience in IOS application design and implementation using Objective-C, Cocoa Touch and Swift.
Experience with Xcode (3.x to 9.x), Interface Builder, Instruments, Storyboard and Static Analyzer including development, debugging, profiling, optimizing, and build process.
Experienced in all aspects of iPhone, iPad and iPad Mini application development, iOS Provisioning Portal and the processes involved including designing for all types of screen sizes and orientations.
Expertise in MVC design architecture.
Have technical proficiency and thorough understanding in the following Frameworks: iPhone SDK, UIKit, Map Kit, Web Kit, Audio Toolbox, AV Foundation, Cocoa design patterns and concepts like delegation, protocols and categories, Core foundation, Core Data, Core Location, Core services, Core Graphics, Core animation, Quartz core, Address Book, Bluetooth API’s and Message.
Complete understanding of Object Oriented Features (Inheritance, Polymorphism, Abstraction and Encapsulation).
Experience in Layout designing along with strong knowledge in User Experience design and usability testing.
Strong understanding of managing Development Certificate, Creating App IDs, Assigning Devices, provisioning portal, Installing Development Provisioning Profiles SSL certification for push notification and iTunes connect for deploying applications to the app store.
Ability to perform Analyzing tool to debug and perform memory management.
Proficient in using Instruments for memory leaks/ memory management and performance analysis.
Creating static libraries and frameworks in iOS for Objective C and Swift.
Calling C++ code from Objective C and Swift.
Parsing JSON in Swift.
Experience in building and developing custom libraries.
Used XML parser, JSON, CSV to retrieve data for display on the iPhone/iPad from server.
Experience in integrating Push Notifications and Network Connectivity.
Thorough knowledge of working with Core Data and Multithreading.
Worked closely with product managers, customers and other stakeholders to proactively gather and understand usability concerns and areas for improvement to achieve user-friendly design, performance improvement, documenting code, refactoring, continuous integration and deployment, and unit testing.
Solid understanding of IOS design patterns and frameworks.
Experienced with the Software Development Life Cycle (SDLC) process, which includes designing and implementing the software, debugging, fixing and maintaining the software.
Sound Knowledge in Apple Human Interface Guidelines.
Experience in leading the entire app lifecycle right from concept stage until delivery and post launch support.
Education
Bachelor of Engineering (B.E.) in Comp Sci. [2010], with First Class from Sinhgad College of Engineering, Pune University, Maharashtra, India
Technical Skills
Programming Skills: Objective C, Swift, C, C++, Cocoa development for iPhone, iPod and
iPad devices, Java, J2EE, HTML, and JavaScript.
Software, Tools & Platform: Xcode (3.x to 9.x), iPhone, iPad, iOS Simulator, Instruments, Cocoa
Pods, Crashlytics, Eclipse, JIRA
Databases: SQLite, Core data, MYSQL, MS Access
Operating System: Mac OS, iOS
Version Control: SVN, Bitbucket, Clearcase, Github, Gerrit, Phabricator
Contact Details
Email: ********@*****.***
Phone No.: +1-812-***-****
Current Address: Edison, NJ (USA)
Professional Experience
Nov 2016 – Till date Cognizant Technology Solutions US Corp USA Senior Associate
Jan 2016 – Oct 2016 KPIT Infosystems USA Technical Lead
Jul 2010 – Dec 2015 KPIT Technologies INDIA Senior Software Engineer
Work Experience
Project: Clover Go–Mobile Point of Sale
Client: First Data Corporation
App store link: https://itunes.apple.com/us/app/clover-go-mobile-point-of-sale/id999050522?mt=8
Description:
It is a Mobile Payments App which accepts payments on the go, anywhere you have wireless or cellular coverage. Clover Go makes it easy to take your business to your customers.
Securely and reliably accept credit and signature debit cards – including contactless, chip & swipe cards – with ease, right from your connected smartphone or tablet. Clover Go also comes with clear and intuitive reporting on sales activity along with insights on other local companies in your industry. Reliable support is available whenever you need it.
- Simple: Ready out of the box charge, connect and use your Clover Go reader with your iOS phone or tablet
- Portable: Goes wherever your business takes you
- Secure: Accept payments with the confidence that comes with TransArmor® protection
Responsibilities:
Developed the payments SDK which connects with the readers and processes payments when an order is placed from an iPhone or iPad
Developed the entire application using Swift.
Use of delegate pattern in entire application
Debugging backend calls with the help of APIGEE
Parsed JSON data in Swift.
Created frameworks for Objective C and Swift.
Co-ordinating with the offshore team and assigning tasks.
Doing code reviews.
Responsible for rolling out builds via Fabric
Worked closely within a cross functional team of developers.
Helped conduct meetings to discuss best practices and streamlining of code
Use of Agile methodology using JIRA
Environment: Mac OS, Xcode 9.x, iOS 9+, iPhone/iPad, Swift, Xcode, Cocoa Touch Framework
Project: Cummins ADEPT Support
Client: Cummins Inc.
App store link: https://itunes.apple.com/us/app/cummins-adept-support/id1153014674?mt=8
Description:
Cummins ADEPT Support helped you diagnose, repair, and update the Route Parameter Manager in your Cummins ADEPT™ equipped truck. It is a service tool for iOS devices which connects to the engine via Bluetooth/Wi-Fi adapter. It supports Parameters monitoring, Read/Reset Fault Codes, Calibration Update, Map Update, Audit Trail, etc. The project is developed using Swift language. It integrates with static C++ libraries to read data from adapter mounted over the engine.
Responsibilities:
Designed wireframes for both iPhone and iPad application
Developed the entire application using Swift.
Created various views, table views, customized views and popovers in Swift.
Called C++ code in Swift and Objective C using bridging header.
Created Objective C++ wrapper for C++ code.
Parsed JSON data in Swift.
Created Static libraries and frameworks for Objective C and Swift.
Co-ordinating with the offshore team and assigning tasks.
Doing code reviews.
Responsible for the Code Delivery to the Client.
Worked closely within a cross functional team of developers.
Helped conduct meetings to discuss best practices and streamlining of code
Created models in MVC and development of delegates for updating model information.
Performed all tasks from UI design and implementation to writing code for various features.
Creation and execution of module based unit test cases.
Testing and Bug fixing.
User acceptance testing.
Engaged in the full project life cycle including analysis, design, development, testing and deployment phases.
Environment: Mac OS, Xcode 7.x, iOS 7+, iPhone/iPad, Swift, Xcode, Cocoa Touch, Cocoa Framework, Interface Builder.
Project: FSA
Client: Weatherford Inc.
Description:
FSA is a Field Service Automation app. It can accommodate hundreds of field workers and includes all of the standard service functions such as work order management, inventory tracking, timesheet and Job time recording. Workers can “punch” in and out from their mobile phones, so you can better track hourly-paid workers. Technicians can also search part inventory and record materials for better inventory management. Each technician only sees the information that is relevant to the job, including step-by-step prompts for completing the work. It also provides access to work order and inventory history, Camera capture of completed work, Questionnaire, Signature pad to capture customer acceptance, etc.
Different Modules Involved in the Project:
Login: User sends the username password and device id to the login web service. Once the user is authenticated,
Home: This is a landing page after successful login. It has 4 different options namely Meeting Collaboration, My Documents, Reports, People.
Service Orders: This screen shoes details like today’s meeting, option to view the meeting in week wise. The meeting information is shown at abstract level like subject, number of attachment, number of annotation, number of comments & participants. On click on particular meeting, respective meeting details screen is shown.
Inventory: Screen displays meeting related information, meeting owner, participants, time, attachment with counter of number of comments, annotation. A pop up is provided to add a task or decision. On click of a document it is opened in the “Document Viewer Screen”. There is a refresh button on top of screen, so that user can refresh it manually.
History: Document should be shown in read only mode, with option to navigate between the pages. Alongside documents, the comments should also be visible.
Calendar: User can create a meeting by entering details like To, Subject, Location, Start time, End time, Time zone, etc.
Audit: This is a landing page after successful login. It has 4 different options namely Meeting Collaboration, My Documents, Reports, People.
Take Photo: This screen shoes details like today’s meeting, option to view the meeting in week wise. The meeting information is shown at abstract level like subject, number of attachment, number of annotation, number of comments & participants. On click on particular meeting, respective meeting details screen is shown.
Job Comments and Signature: Screen displays meeting related information, meeting owner, participants, time, attachment with counter of number of comments, annotation. A pop up is provided to add a task or decision. On click of a document it is opened in the “Document Viewer Screen”. There is a refresh button on top of screen, so that user can refresh it manually.
Timesheet: Document should be shown in read only mode, with option to navigate between the pages. Alongside documents, the comments should also be visible.
Reschedule: User can create a meeting by entering details like To, Subject, Location, Start time, End time, Time zone, etc.
Report: User can create a meeting by entering details like To, Subject, Location, Start time, End time, Time zone, etc.
Responsibilities:
Worked extensively on Multi View applications and customizing Table views, Navigation bar, Tab Bar.
Designed wireframes for both iPhone and iPad application
Designed and implemented the entire application using Xcode 6.
Responsible for the Code Delivery to the Project Manager.
Worked closely within a cross functional team of testers and developers.
Implemented the scroll functionality by using UI Scroll View on all screens of the app.
Helped conduct meetings to discuss best practices and streamlining of code
Implemented Core Data for persistent storage of user data.
Created models in MVC and development of delegates for updating model information.
Created various views, table views, customized views and popovers.
Redesigned several screens as per newer wireframe.
Created dynamic checklist and send it back to server by calling web services through JSON libraries and saving it using Core Data.
Performed all tasks from UI design and implementation to writing code for various features.
Worked on table view controller and made customized table view cells according to the client
Used Zbarcode for search products using barcode and QR Codes.
Understand the design documents created by designer and based on that creation of classes.
Creation of module based unit test cases.
Execution of unit test cases.
Testing and Bug fixing.
User acceptance testing.
Engaged in the full project life cycle including analysis, design, development, testing and deployment phases.
Environment: Mac OS, Xcode 6.x, iOS 7+, iPhone, Objective C, Xcode, Cocoa Touch, Cocoa Framework, Interface Builder, iPhone Simulator.
Project: Meeting App
Client: Reliance Ltd
Description:
It is a Collaborating app, which has different features like Meeting Collaboration, My Document (Shared Drive), Reports (BI reporting tool) & People. The app is connected to SharePoint at backend. It captures all meeting related artefacts in one location so that it is easy to manage for all as well as it will enable collaborations. The audience for the application are Manager & above level users mostly. Application facilitates easy scheduling of meetings, creation of meeting workspaces, uploading and sharing of documents, enabling discussions on meeting topic / /documents and related information, posting of minutes and assignment of tasks through SharePoint. The application needs to be online whenever it needs to sync the data with the server.
Different Modules Involved in the Project:
Login: After successful log in, user will be navigated to Home Screen. If user is already logged in using AD credential to any other app developed by RIL then system should ask whether user wants to use same or different credential.
Home: This is a landing page after successful login. It has 4 different options namely Meeting Collaboration, My Documents, Reports, People.
Meeting Dashboard: This screen shoes details like today’s meeting, option to view the meeting in week wise. The meeting information is shown at abstract level like subject, number of attachment, number of annotation, number of comments & participants. On click on particular meeting, respective meeting details screen is shown.
Meeting Details: Screen displays meeting related information, meeting owner, participants, time, attachment with counter of number of comments, annotation. A pop up is provided to add a task or decision. On click of a document it is opened in the “Document Viewer Screen”. There is a refresh button on top of screen, so that user can refresh it manually.
Document Viewer: Document should be shown in read only mode, with option to navigate between the pages. Alongside documents, the comments should also be visible.
Create Meeting: User can create a meeting by entering details like To, Subject, Location, Start time, End time, Time zone, etc.
Responsibilities:
Screen designing based on the mock-up selected by the client.
Coding and integration with backend SAP through SOAP web services.
Played key role in analysis of business requirements, documentation, and creating wireframes.
Creation of task breakup and estimation.
Production support to the users.
Technical discussion with other team member.
Execution of build, release and deployment process.
Manage the day to day technical activities & tech project plan of the tech team.
Serve as a single point of contact/responsibility for building and executing the technical implementation plan.
Issue solving and bug fixing reported by quality team.
Peer review of code and supporting documents.
Understand the design documents created by designer and based on that creation of classes.
Bug fixing & User acceptance testing.
Performed the quality assurance of the application by reporting the issues to the development team.
Primary role was to work with a team of 5 and make sure deadlines were met
Created daily and weekly reports for Project Manager
Implemented NS Operation Queue and NSURLConnection to integrate with backend web services.
Pre-fetching data for different views for smooth screen transition
Environment: Mac OS, Xcode IDE, iOS 8, iPad, Objective-C, Xcode 5.x, Cocoa Touch, Cocoa Framework, Interface Builder, iPhone Simulator.
Project: LW WM
Client: Loudoun Water
Description:
LW WM is an Integrated ERP System for Loudoun Water. The app allows Utility Company service technician to connect with the internal SAP system and to receive service orders on priority, review/check material required, have GPS service location via map, take a photo to document service changes or problems complete and finalize service order and much more providing an extreme and complete, easy to use service technician tool and experience.
Different Modules Involved in the Project:
Account Management: Before login, the user sees the End User Agreement Acceptance (EULA) screen.
Main Menu: It allows the user to create a new work order or to view list of available work orders.
Work Orders List: It displays list of all the service orders with details like order no., priority, type, status and description.
Order Details: The details related to that particular work order are shown which can be edited and updated by the service technician. The customer details along with the route for the addresses are also displayed on map.
Equipment details: The details about the equipment to be used and its availability in the inventory are also shown.
Meter Read: This is an editable screen which allows the technician to enter meter reading, installation details, date, etc.
Operations: All the details regarding the operations performed like work centre, start date, end date, duration, plant information are updated.
Service Information: The technician can take photo of the repairs done, save them, take signature and send them back along with other information.
Responsibilities:
Screen designing based on the mock-up selected by the client.
Coding and integration with backend SAP through SOAP web services.
Played key role in analysis of business requirements, documentation, and creating wireframes.
Creation of task breakup and estimation.
Production support to the users.
Technical discussion with other team member.
Execution of build, release and deployment process.
Manage the day to day technical activities & tech project plan of the tech team.
Serve as a single point of contact/responsibility for building and executing the technical implementation plan.
Issue solving and bug fixing reported by quality team.
Peer review of code and supporting documents.
Designed the HTTP interface which uses the NSURLConnection and NSURL Request classes of Cocoa Touch to make network requests.
Environment: Mac OS, Xcode IDE, iOS 6, iPhone/iPad, Xcode 4.6, Objective-C, Instruments, IOS Simulator, UIKit, Map Kit, Core Location, Core Data
Project: iLeaveReq
Client: Sparta USA
Description:
The iLeaveReq is a Leave Management application to maintain the employee’s leaves. It helps in efficiently managing the leave approval program. Leave Management process includes creating a leave request by defining the leave type, leave approver and the tenure of the leave. Employees can view their leave status as well as apply for leave which is directed to concerned person for approval. Managers can view the leave requests and approve or reject the leave request.
http://itunes.apple.com/us/app/ileavereq/id536473074?ls=1&mt=8
Different Modules Involved in the Project:
Account Set up & Login: The user will have to set up his account. After creating the account, the user can be able to login with the provided credentials.
Create Request: The user can create a leave request by providing details like leave type, duration, leave approver, reason, etc.
Leave Requests: The user can view list of all the submitted leaves along with their status. Selecting on a particular leave will show all the details of the leave.
Approve Leave: The applied leave with all the details is shown. User can Accept or Reject a particular leave.
Responsibilities:
Screen development, coding and integration with backend SAP through SOAP web services.
Played key role in analysis of business requirements, documentation, and creating wireframes.
Creation of task breakup and estimation.
Production support to the users.
Technical discussion with other team member.
Working on Problem Requests and Change Requests. Study the System Design Documents (SDR) and implementing the changes in the current software, involves analysis & modifications in current software and design document (SDR).
Execution of build, release and deployment process.
Manage the day to day technical activities & tech project plan of the tech team.
Serve as a single point of contact/responsibility for building and executing the technical implementation plan.
Implemented using Automatic Reference Counting (ARC)
Parsed server side response with NSJSONSerialization
Environment: Mac OS, Xcode 4.x, iOS 5+, iPhone, Mac OS, iOS 6, Objective-C, Instruments, IOS Simulator, UIKit
Project: iStratos CRM
Client: Fisker
Description:
The iStratos CRM is a functional application that is integrated and connects with a backend SAP CRM for Utilities ERP system. The iStratos CRM accelerates sales cycles, maximizes revenue and improves the customer experience with a single-source platform that enables sales, marketing and service users to engage and nurture customers in any channel, across all touch points throughout the entire customer life cycle. It interacts with SAP CRM through SOAP web services. The application has been developed with the sales personnel in mind by offering the CRM functionalities like Appointments, Accounts/Contacts, Leads, Activities and Opportunities management.
http://itunes.apple.com/us/app/istratoscrm/id532501321?ls=1&mt=8
Different Modules Involved in the Project:
Dashboard: The dashboard will display list of appointments, activities/tasks, top accounts, and alerts.
Appointments: It shows the appointments of the user for current date. User can create a new appointment as well as edit and update an existing appointment. The locations of appointments are shown by pins pointed on map. On successfully creating/updating an appointment, it is successfully send to SAP through SOAP web services.
Accounts/Contacts: The user can search for accounts using different search criteria like name, phone, postal code, and city. It displays the list of accounts after searching along with their details. The contacts for that particular account are also shown along with their details. User can create a new Prospect/Contact and also update existing Prospect/Contact.
Leads: The user can search for Leads with search criteria like Account Id, Contact Person, Qualification Level, Status, etc. A new Lead can be created as well as existing Lead can be modified and updated.
Activities: The user can view list of all the activities filtered by Status i.e. Open, In Process or Completed. User can search for an Activity, create a new Activity and updated existing Activity.
Opportunities: The user can search for an activity based on different search criteria like Account, Contact Person, Sales Stage, Status, etc. User can create a new Opportunity or update an existing Opportunity.
Responsibilities:
Extensively UI designed with Split view and support orientation as well
Worked extensively with Objective-C, Xcode and Storyboard for the application at hand.
Screen development, coding and integration with backend SAP through SOAP web services.
Played key role in analysis of business requirements, documentation, and creating wireframes.
Web services used to connect to database were NSURL, NSURLConnection, and Grand Central Dispatch
Creation of task breakup and estimation.
Production support to the users.
Technical discussion with other team member.
Execution of build, release and deployment process.
Manage the day to day technical activities & tech project plan of the tech team.
Serve as a single point of contact/responsibility for building and executing the technical implementation plan.
Core Data Framework was implemented.
Environment: Mac OS, Xcode 4.x, iOS 4/5, iPad, Objective-C, Cocoa Touch, Cocoa Framework, Interface Builder, iPhone Simulator.
Project: iSunas WM
Client: Qatar Steel
Description:
The iSunas WM app allows Utility Company service technician to connect with the internal SAP system and to receive service orders on priority, review/check material required, have GPS service location via map, take a photo to document service changes or problems complete and finalize service order and much more providing an extreme and complete, easy to use service technician tool and experience. The application iSunas WM has been developed to enable Work Order management functionality of SAP. The Mobile application interacts with SAP through SOAP web services. Details to access SOAP web services and authentication settings can be changed through “Settings”. Also it works as a Native Application in case NO network or NO SAP account is available.
http://itunes.apple.com/us/app/isunas-wm/id458401794?ls=1&mt=8
Different Modules Involved in the Project:
End User Agreement & Login: Before login, the user sees the End User Agreement Acceptance (EULA) screen.
Main Menu: It allows the user to create a new work order or to view list of available work orders.
Work Orders List: It displays list of all the service orders with details like order no., priority, type, status and description.
Order Details: The details related to that particular work order are shown which can be edited and updated by the service technician. The customer details along with the route for the addresses are also displayed on map.
Equipment details: The details about the equipment to be used and its availability in the inventory are also shown.
Meter Read: This is an editable screen which allows the technician to enter meter reading, installation details, date, etc.
Operations: All the details regarding the operations performed like work centre, start date, end date, duration, plant information are updated.
Service Information: The technician can take photo of the repairs done, save them, take signature and send them back along with other information.
Responsibilities:
Screen development, coding and integration with backend SAP through SOAP web services.
Map Kit and Core Location frameworks were used to display locations on map.
UI and Application Designing using NIB files
Serve as a single point of contact/responsibility for building and executing the technical implementation plan.
Managed data and memory management from streamlining code and using various debugging tests.
Played key role in analysis of business requirements, documentation, and creating wireframes.
Creation of task breakup and estimation.
Production support to the users.
Technical discussion with other team member.
Execution of build, release and deployment process.
Manage the day to day technical activities & tech project plan of the tech team.
Implemented Map Kit and Core Location.
Environment: Mac OS, iPhone/iPad, IOS 4, Xcode 4.x, Objective-C, UIKit, View Controller.
Project: iSunas CE
Client: MTMEC
Description:
The iSunas CE is an app which allows the Utility companies to connect with their customers to pay bills, view usage, provision services, and much more providing an extreme and complete customer experience.
It supports features like viewing bill history, sending notifications, showing consumption history, sending alerts, viewing news listing, settings, etc. It helps the user to view and track his bill details, summary and history on the phone and also facilitates him with various add-on features like alerts, new messages, etc.
http://itunes.apple.com/us/app/isunas-ce/id497350339?ls=1&mt=8
Different Modules Involved in the Project:
Account Setup: It allows user to create his account from the app.
End User Agreement & Login: Before login, the user sees the End User Agreement Acceptance (EULA) screen.
Bill Pay: This screen allows the user to view his total bill, current usage, set up payment method, bill payment and confirmation.
Notification: User can take and send photo along with the type and description of the problem.
Alerts: The app alerts the user regarding outages, bill late, service restored, announcements, and season checklist.
Reports: It shows the consumption history week/month wise and cost savings.
Locations: It shows the listing of local area as well as all the office locations by pin points on map.
News: It shows special news / event notice listing and links.
Settings: It allows user to save/change password, change/add account information, change/add payment methods, and enable paperless billing and automatic payment.
Responsibilities:
Core Animation framework is used to animate the flip view between two views.
Back end response was JSON based and parsing was done using NSJSONSerialization
Screen development, coding and integration with backend SAP through SOAP web services.
Played key role in analysis of business requirements, documentation, and creating wireframes.
Creation of task breakup and estimation.
Technical discussion with other team member.
Execution of build, release and deployment process.
Manage the day to day technical activities & tech project plan of the tech team.
Serve as a single point of contact/responsibility for building and executing the technical implementation plan.
Environment: Mac OS, iPhone/iPad, IOS 4, Xcode 4.x, Objective-C, UIKit, View Controller.