Mobile Lead & Ios Consultant Resume
Irving, TX
SUMMARY:
- 9 years of experience in IT designing and developing Mobile Apps and Embedded Systems Software.
- Over 4 Years of experience in designing and developing Mobile Apps.
- Extensive experience in developing Consumer and Enterprise iOS Apps for iOS Devices that are integrated/dock connected with Barcode Scanner, Magnetic Stripe reader, and Bluetooth connected devices like portable printers, Smart Diagnostic Instruments (OneExpert DSL, SmartID Plus, Wi - FED).
- Designed and Developed iOS apps using Objective-C, Xcode, with iOS Frameworks like AVPlayer (Apples audio-visual media player), Core Plot (2D plotting), External Accessory (iAP1/2 for dock connector and wireless Bluetooth), Core Bluetooth (Low Energy Bluetooth), Core Data, Foundation, Cocoa Touch, UIKit.
- Designed and Developed Windows 8.1 store, Windows Mobile 6.5 & Windows CE apps using C++, C#(+LINQ), XAML, Visual Studio, with .Net 3.5/4.5 Compact Frameworks, Win32 API’s, XML, SQL CE.
- Designed and Developed an android app using native C, Java, Eclipse and Android Studio.
- Expertise in Objective-C, C, C++, C# (LINQ), Java, Embedded C and low-level programming.
- Extensively worked on view layer of iOS Applications using Navigation & Tab Bar, Table View, iPad specific Split View and Popover View Controllers.
- Developed Mobile apps consuming RESTful JSON and Soap Web Services parsing JSON/XML responses.
- Written Multi-Threaded Applications using iOS GCD blocks, NSOperationQueue and Win32 Create Thread API’s.
- Involved in Object Oriented Analysis/Design & Design Patterns including MVC across the apps.
- Used diversified IDE’s/SDK’s like Xcode, Visual Studio, Xamarin, Eclipse, Android SDK, Keil, and MPLAB.
- Extensively worked on Real Time Embedded Software Systems Design, Development, Requirement Analysis, Implementation, Verification and Validation (V&V) process.
- Hands-on Experience with Microsoft SQL Server Compact (SQL CE) for Windows Mobile Devices.
- Actively involved in parsing and generating XML documents using C++.
- Experienced in Automation and GUI design, writing utility programs/tools to automate the manual tasks using Perl Script, DOS Script and Excel VBA Macros.
- Proficient with Win32 APIs, .Net 3.5 Compact, Cocoa, Cocoa Touch, Mono Touch, Android Frameworks.
- Exposure to UNIX - System Programming: Signals, Pipes, Shared Memory, Semaphores, Mutex, Sockets (Inter-process Communication), Multi-Threading, Data Structures and Understanding of UNIX OS arch.
- Integrated AR INC 429 and CAN protocols in Avionics subsystems communication.
- Hands-on Experience with logical analyzers and Multi-Channel Oscilloscope to debug the HW and Device Drivers Components.
- Worked using Scrum method of Agile and V-Software Development Lifecycle Model.
- Followed DO-178B guidelines for Avionics software development and verification.
- Experience using Requirement, Version and Defect Management tools like PVCS, SVN, Doors, and HP-QC.
- An innovative team player with debugging and analytical skills, proven to work under tight deadlines.
TECHNICAL SKILLS:
Programming Languages: Objective-C, Swift, C# (LINQ), XAML, C, C++, Java, Embedded C, ADA, Assembly iOS Frameworks: AVPlayer/AV Foundation (Manage and Play audio-visual media), External Accessory (Bluetooth Classic and 8/30 pin Dock Communication), Core Bluetooth (Bluetooth LE - Low Energy Communication), Core Plot (2D plotting 3rd party Framework), Core Data, Google Protocol Buffers, Cocoa Touch, Core Graphics, Foundation, UIKit
Frameworks / APIs: C Standard Library, Win32 APIs, .Net 3.5 & 4.5 Compact Framework
Scripting Languages: Perl, VBA, UNIX Shell Script, DOS Script
Compilers / Debuggers: LLVM compiler for C, C++, and Objective-C is built into Xcode, Borland C Compiler, GCC, GDB, Alsys 80186 Ada Cross Compiler
IDE s / SDK s: Xcode, Visual Studio, Xamarin Studio, Eclipse, Android SDK, Keil, MPLAB
Database: Core Data, SQL Lite, Microsoft SQL Server Compact (SQL CE)
Mobile Operating Systems: iOS, Windows 8.1, Windows Mobile 6.5, Windows CE, Android
Operating Systems: Mac OSX, Windows, Unix/Linux, VxWorks, MS-DOS
Phone Simulator and Emulator: iPhone/iPad, Windows 8.1/Mobile/CE, Android
Developments Models and patterns: MVC, Scrum method of Agile, V-Model
Conf., Req., Defect Mgmt. Tools: Apache Subversion (SVN), JIRA, Crashlytics, HockeyApp, Serena Dimensions (PVCS), Tele-logic DOORS, HP Quality Center
H/W Simulator and Emulator: Visual Probe (80X86 Simulator), MPLAB IDE (PIC Emulator)
Micro Processors: ARM7, 8051, 80X86, PIC18X, MSP430
Hardware: JTAG, Oscilloscope, Multi-meter, Logic Analyzer
Communication Protocols: CAN, AR INC 429, UART, SPI, I2C, RS-232
Tools: Simulink (MATLAB), RTRT (UT & SSIT), Vehicle Spy and ValueCAN (CAN Protocol Analyzer), Co-Pilot (Ar inc 429 Analyzer)
PROFESSIONAL EXPERIENCE:
Confidential, Irving, TX
Mobile Lead & iOS Consultant
Responsibilities:
- Designed the Pisces SDK which includes
- The interface headers files with documentation for the SDK,
- High Level Design with a main Singleton class that Observes the AVPlayer properties with notifications, populates the model and sends the beacons using network Manager class that implements the Json REST style https GET requests.
- SDK Delegates to receive appropriate call back for missing parameters or errors.
- Designed and implemented the main singleton class that observes the User Events (play, pause, resume, stop, seek…) on the AVPlayer and populates the player statistics (like load, startup time, Error, buffer start/end, User IP, client time zone, Connection Type, Delivery Type, Server IP, Transfer Duration, # of dropped frames, # of stalls, Max/Min/Observed Bitrate…).
- Designed and implemented a Network Manager class (non-singleton, to avoid multi-cast delegates) with delegate and its own static NSOperationQueue to schedule the requests sequentially one after another. A request is generally a beacon or a network call for shared seed with its own identifier.
- Designed and implemented the Model with properties that are read-write, read-only accessible and different types depending on the type of data saved, and methods to get the specific beacon data.
- Added a resource bundle that holds all the beacon keys to use with the model to send beacons.
- Implemented SDK Level Logging with provision to set different log levels for the SDK.
- Created a sample test Client that plays/stream HLS (HTTP Live Streaming) audio-visual media using AVPlayer.
- Lead through entire app cycle of designing the interface & class level architecture; implementing the whole design for iOS and delegating the implementation for android; Dev Testing; creating Dev builds and releasing them to QA on Hockey build management web app.
Environment: Coding: Objective-C, Xcode 6/7, iOS 8, AVPlayer/AV Foundation (Manage and Play audio-visual media)Debugging: Charles Proxy
Confidential
Responsibilities:
- Created the high-level software design for Affirmed and Geminga; emphasizing the communication module populating/updating the protocol buffer objects (protos) that are to be used as the model for the User Interface on the iOS app side.
- Developed the iAP communicator module for Geminga on the iOS side, the communication with the smartID plus devices is low level command based serial communication using SPP (Serial Port Profile) with sync byte, message Id, CRC, … message definitions.
- Implemented the driver (Wi-FED) connect and protocol buffer objects update process by setting-up the driver & initiating passive Scans for Affirmed.
- Implemented a custom trapezoidal graph plotting each BSSID signal with an RSSI level in dBm on respective channels, wherein each Wi-Fi signal is represented with a trapezoid on 2.4G and 5G bands. Also, added custom annotations connecting each trapezoid with a matching colored line. This is like Wi-Fi analyzer graph on android with much more features.
- Implemented the channel utilization and noise graphs (dynamic bar & line graph) using core plot.
- Built complete storyboard for Geminga and Affirmed, created segues and unwinding segues between different views and also built custom view controllers with container child views.
- Coded slide in and out transition for side view with containers, stretching/shrinking the rest of the view.
- Asynchronously download the Wi-Fed firmware file showing progress from the Amazon cloud and send it to the Wi-Fed over iAP (Bluetooth classic) using Google’s protocol buffers and flash/update the firmware. The app also registers to handle or get a firmware file document type downloaded using safari and safari hands off processing of this document or mime type.
- Designed custom table view cells for child side views with table views.
- Created a few static libraries with views bundled in the resources to be used in multiple iOS projects and also wrapping existing C++ code to be used in iOS apps.
- Supported the streaming H.264 encoded screen video from a Gemini device to iPad through Bluetooth classic protocol to control the device through iPad.
- Fixed bugs and issues related to iOS7 for Gemini.
- Static analysis, Instruments for memory leaks and to measure screen/view refresh rates for views with dynamic controls/graphs.
- Scrum methodology, an agile development model with 3-week sprints.
Environment: Objective-C, Xcode 5/6, iOS 7/8, Core Plot, External Accessory, Core Bluetooth, Bluetooth Classic (iAP1 & iAP2), Cocoa Touch, Foundation, UIKit, Core Graphics, H.264 decoding, Google Protocol Buffers, Mac OSX, OneExpert DSL, SmartID Plus, Wi-FED, SVN.
Confidential, Frisco, TX
Senior iOS Consultant
Responsibilities:
- Created the high-level software design for Kandy; emphasizing the overall design of the app with a decent User Interface on the iOS app side.
- Created a VOIP based app which support audio & video calls, instant messaging, present status watch & updates.
- Added token based authentication to the Mobile SDK Framework by generating a HMAC using SHA-1 for the message and secret key and fetching the token for the HMAC to authenticate.
- Create developer guide and demo apps using the Mobile SDK to integrate SPiDR services and WebRTC into their native apps to create new & innovative mobile user experiences.
- Implemented the regular authentication with the username and password using a Rest JSON Web service including the User interface.
- Implemented the contacts screen with the ability to call and text from the list of contacts.
- Implemented the Call Management, Instant Messaging, Presence Management and Address Book.
- Door Access app using SPiDR SDK and Kandy SDK to make a video call using an iPad.
Environment: Objective-C, Xcode 4.6/5, iOS 6/7, iOS Settings Bundle, Cocoa Touch, Foundation, UIKit, Core Graphics, Mobile SDK Framework, Kandy SDK Framework, Mac OSX, iPhone, iPad, SVN.
Confidential, Alpharetta, GA
Senior Mobile Developer
Responsibilities:
- Designed the XAML Metro UI as per the mockups and existing iOS app.
- Designed and developed the clientel app for windows 8.1 from scratch.
- Developed Windows Store App for windows 8.1 tablet and iOS 6 enterprise app for iPad.
- Have used XAML View controls like Page, AppBar, Grid, Frame, StackPanel, FlipView, WebView and XAML controls like ListBox, ComboBox, AppBarButton.
- Have used C# (LINQ) to parse the XML files for metadata that drives the windows 8.1 app.
- The App shows a catalog of merchandise (HD images and its details) parsed from XML files. Flip through the products in a particular category, see the product details, add them to the wish list or add to bag and checkout using the web POS tab.
- Implemented some UI changes on iOS.
Environment: C#, XAML, XML, LINQ, .Net Framework 4.5, Visual Studio 2013, Windows 8.1, Dell Venue 8 Pro & Microsoft Surface Pro 2., Windows Store App (App Type)Objective-C, Xcode 4.6, iOS 6, Mac OSX, NSXMLParser.
Confidential, Atlanta, GA
Mobile Lead
Responsibilities:
- Written Technical Specification document defining the Business Model or Transfer Objects, Class, Activity/Sequence diagrams, Web Services consumed, flow dialogs and the software design for BOPS mobile app.
- Built iPhone Application that uses Tab bar, Navigation Controllers and consumes RESTful JSON Web Services converted to existing Soap Services.
- Built iOS Storyboards with Login View and Tab Bar Controllers creating segues between different views, established IBOutlet, IBActions in the storyboard.
- Tab Bar Controller interface to switch among the independent tasks that can be executed in parallel (Open Units, Pick-lists, Confirm, More/LogOff).
- Multi-Threaded some of the tasks like downloading images, Service Notification Updates and Utilization Logging in iOS by running tasks in a separate thread using GCD blocks and NSOperationQueue for optimizing the performance.
- Created Custom UITableView cells with different styles to accommodate the UX/UI requirements in Open Units Screen and Picklists Screen.
- Consumed JSON web service to fetch the data, reformatted the data to group the departments under a parent product group and bind it to the customized Table View.
- Written the logic to highlight the jeopardy items on the table, so the pick-list of those open units can be created for executed on priority.
- Coded the update notification part where in the backend is updated with the tasks and Units executed for Alerts mechanism.
- Coded the Open Units, Pick-list creation, Pick-list execution and reservation confirmation for customer pick up.
- Followed scrum methodology, an agile development model with sprints.
Environment: Objective-C, Xcode 4.5, iOS 5/6, Mac OSX, Cocoa Touch, Foundation, UIKit, Core Graphics, RESTful JSON converted to existing Soap Services, iPod Touch 3.5” Device integrated with Barcode Scanners and Magnetic stripe reader (for payment), Agile Scrum Methodology, Subversion (SVN).
Confidential, Dallas, TX
IOS and Win Mobile Developer
Responsibilities:
- Actively involved in conversion of Functional Specification and Flows Diagrams into Design, Development and Unit Testing.
- Built iPhone Application that uses Tab bar, Navigation Controllers and consumes RESTful JSON Web Service.
- Created Custom UITableView cells to accommodate the UX/UI requirements.
- Built iOS Storyboards with Login View and Tab Bar Controllers creating segues between different views, established IBOutlet, IBActions in the storyboard.
- Implemented the 2D Barcode Data Capturing and parsing 2D Astra Labels in Pick-up and Utilities for iOS app.
- Enhanced the Time Cards Activity feature as part of the change request under iOS.
- Upgraded the Delivery Reconciliation feature with SRA Roads Delivery Manifest. Delivery list to display only the Future Delivery Vanned Packages along with the Current and Missing Vanned packages under Win Mobile.
- Implemented the 2D Barcode Scanning and its integration with the existing Pick-up and Pick-up Exceptions scan screens under Win Mobile.
- Implemented 2D Scan Blocking feature using Multi-Threading which kick-off on the end activity and creates the Master List Event files from the data stored in the database.
- Developed In-Station Vans for APD/EVE/DCD packages as part of CONDOR 3.5 under Win Mobile.
- Developed the Scan Blocking (uploading encoded scan files to the Confidential Sever for updates about the activity performed on the package) feature for Utilities Astra Re-label activity.
- Implemented Out-Of-Market Reroute (STATs) and its scan blocking as part of CONDOR 3.5.
- Implemented the Pick-up Activity Scan Blocking to create Master List Event (XML) files from the 2D raw data stored in the database.
- Written a XML parser to create the Master List Event files for 2D Scan Blocking.
- Involved in Requirement Analysis, Design, Development and Unit Testing of CONDOR 3.5 features and 2D Barcode Implementation for PowerPad.
- Used the Xcode and Visual Studio Debuggers to fix real-time defects and crashes.
Environment: Objective-C, Xcode 4.3, iOS 5, Cocoa Touch, Foundation, UIKit, Core Graphics, Mac OSX, RESTful JSON Web Service, iPod Touch 3.5” Device integrated with Barcode Scanner. VC++/C#, Visual Studio 2008, .Net 3.5 Compact Framework, Soap Web Services Microsoft SQL Server Compact (SQL CE), Microsoft Windows Mobile 6.5, Motorola-MC9500/Intermec-CN70 Mobile Devices.
Confidential, Rockford, IL
Embedded Engineer
Responsibilities:
- Developed C/C++ and Ada code for Slat and Flap Control System used in MRJ-70, ARJ21, CRJ900/1000, and ERJ-170/190 (COMAC, BOMBARDIER, EMBRAER and MITSUBISHI Regional Jets).
- Implemented a heartbeat counter that beats every main cycle to let both the Control and Monitor subsystems know that they are running.
- Worked on Controlling and Monitoring the surface area and inclination of the wings by controlling the Slat and Flap Panels which in turn where driven by DC motors.
- Implemented Arinc-429 data definitions for Control lever Command, Weight-On-Wheels, Airspeed, Surface positions inputs messages.
- Integrated Cross-Channel CAN protocol for Control - Monitor communication using an FPGA programmed as memory-mapped IO.
- Added code to log the resolver/skew offsets and some related faults into NVM.
- Used multi-channel oscillator to analyze fault & offsets logging sequence and timing into NVM.
- Written an automation utility with a GUI to ease the Ada compilation process using Perl and DOS Script.
- Responsible for offshore testing team technical clarifications during UT (Unit Testing) and SSIT (Software-Software Integration Testing) phase.
- Updated the Software and design requirement on DOORS database, and Created of links between the requirements and the code surrogate.
- Supported in other software development, verification, and release activities ( and Audits).
Environment: C/C++, Assembly, Ada, Perl, Borland 4.52 C/C++ cross compiler, Alsys 80X86 Ada cross compiler, 80186(16-bit Micro Processor) and 80386(32-bit Micro Controller), CAN bus protocol, AR INC 429 protocol, Eclipse, Sun Virtual Box, Tele-logic DOORS, Co-Pilot (Arinc429 Simulator), RTRT (UT & SSIT), Visual Probe (80X86 Simulations), LabVIEW.
Confidential, Windsor locks, CT
Embedded Engineer
Responsibilities:
- Involved in Requirement Analysis, Design, Development, Unit Testing and Bug Fixing the A380 AMS.
- Implemented the NGS code to enrich the Nitrogen and decreasing the O2 contents in the fuel tank airspace, which protects the aircraft fuel control system from fire.
- Worked on Venting subsystem, to ensure the pressure created in the fuel tank airspace does not exceed structural limits.
- Coded the Cabin Pressure subsystem to maintain optimum Air pressure under all altitude conditions.
- Developed the code for Pressure Regulating Valves and Zone Trim Air Valves.
- Written an automation utility generate the header files included list in sequence using Perl, to ease unit testing efforts.
- Written an Excel Macro to copy only the required set of source file into the destination directory from a chunk of files in a source directory.
- Supported in other software development, verification, and release activities ( and Audits).
Environment: C/C++, Perl, VBA, VxWorks, RIG, Logic Analyser, Eclipse, PVCS, MS-Access.
Confidential, Wilson, NC
Embedded Engineer
Responsibilities:
- Developed Embedded C MEP (Main Execution Program) Code for Over-Heat Detection System (ODS).
- Implemented CAN message communication between the primary and the secondary ODCP cards.
- Worked on Arinc-429 message decoding and filtering the required messages to be used by the ODS.
- Implemented the validation of sensor inputs (dual lavatory smoke detectors, dual engine heat sensors) received directly and over the CAN from the other ODCP (Redundant ODCP).
- Involved in the implementation of health and status message to be reported to the main flight system Arinc-429.
- Analyzed and Debugged the CAN Messages using CAN protocol Analyzers.
- Hardware Emulated the code to debug the development issues on Target board using the MPLAB IDE.
Environment: C Language, PIC18F4680 Micro Controller, CAN, AR INC 429, MPLAB IDE (PIC Programming/Simulation Tool), Vehicle Spy and ValueCAN (Can simulator), Co-Pilot (Arinc429 Simulator), PVCS.