Career Summary:
More than 6 years of experience in the field of Information Technology specializing in the domain of Embedded Software Development.
Wide exposure in Platform development (Boot Loader, BSP, Device driver development) with VxWorks, Windows CE, Embedded Linux.
Designed software for Wireless Radio, Point of Sales Terminals.
Experience in OpenVMS, J2ME, Plam, Symbian.
Implemented web support for Online Gaming Systems, Power Management Applets for mobile devices.
Employment History:
Persistent Systems Private Limited. Bhageerath,
402, Senapati Bapat Road Tel:
+91 (20) 2567 8900 |
Senior Team Lead Aug 2006 – Till Date |
Company Profile:
Persistent Systems is a 16 year old company focusing exclusively on Outsourced Software Product Development. Services offered across the life cycle of the product - from R&D to Development, Testing, Support and Professional Services.
Job Profile:
Responsible for R&D in telecom (Mobile computing) domain at Boot Loader and BSP level. Also involved in ‘Proof of Concept’ type of internal and external projects.
Responsibilities:
Requirements Management.
Project Planning.
Customer interaction with sales team.
System design and analysis.
Programming.
Testing.
Internal Product Definition and requirements.
Team building and management.
Recruitment – technical interviews.
Set up platform development group – BSP development, Device driver development, middleware development for mobile wireless devices.
Projects:
Proof of Concept and Research – Forensic data retrieval from Mobile Devices.
Proof of Concept – Palm OS dialler replacement.
Mobile platform development over Embedded Linux - Present
Significant achievements:
Presented Business plan for platform development group.
eInfochips
Limited. Erandavane, Pune 411 004, Maharashtra,
India. Tel:
+91-20-2544 2394 |
Project Leader Sept 2004 – Aug 2006
|
Company Profile:
eInfochips business focus in three main technology areas: ASIC Design, Embedded Systems and Application Software. The facilities at offshore development center in India, is equipped to handle complex and critical development projects. The infrastructure at eInfochips is one of the key components in making the AOM (Amplified Offshore Model) a successful Global Delivery Model. At e-eInfochips, the Offshore Development Centrers are a virtual extension of the client's development team.
Job Profile:
Job involved leading client / in-house projects from front. Major responsibilities include Requirement Analysis, Estimations, Design, Implementation, Test suite preparations etc.
Responsibilities:
Requirements Management.
Project Planning.
Customer interaction with sales team.
System design and analysis.
Programming.
Testing.
Internal Product Definition and requirements.
Team building and management.
Recruitment – technical interviews.
Projects:
VxWorks OS migration from 5.5 to 6.2
BSP development for VxWorks and Linux for a MIPS based system
Windows CE porting onto an ARM based system.
USBComputer – A bootable USB drive.
J2ME porting onto a reconfigurable processor – Xtensa LX.
SQA of SoC simulation library
KVM/IP – DSP and IP based KVM switch with user access management. The switch logic is implemented in Linux.
Amiga Development India. (Formerly
known as Ruksun Software Technologies Pvt. Ltd.) Vadgaonsheri, Pune- Ahmednagar Road Pune
- 411 014, Maharashtra, India. Phone: +91-20-40038000 |
Senior Software Engineer Jan 2004 – Aug 2004
|
Company Profile:
ADI has a proven track record in the outsourced application development sector. ADI has over a decade of software product and outsourced project development experience and offers you specialized services.
Job Profile:
Worked as a Team Member – System Group, under an ODC for a USA based client; worked in the field of mobile computing (WinCE based platform development).
Responsibilities:
Module requirement Management
Software Module design
Programming
Testing
Integration
Maintenance
Projects:
Generic PDA platform development with Windows CE for XSCALE based system.
PocketPC platform development.
Cybage Software Pvt. Ltd. West Avenue, Kalyani Nagar, Pune 411006, Maharashtra, India.
Ph: +91-20-66041700/ +91-20-66044700 Fax: +91-20-66041701 |
System Analyst Aug 2002 – Jan 2004
|
Company Profile:
Cybage Software Private Limited was founded in 1995 to develop innovative productivity tools for the world market. Cybage diversified from product development to providing offshore software development services to the US IT industry. Cybage specialize in the implementation of what is popularly termed as the ODC model (Offshore Development Center). Cybage services include software development, maintenance, re-engineering, software testing and technical documentation.
Job Profile:
Sales server development and maintenance, wireless point of sales terminal development, system Analyst.
Responsibilities:
Module requirements Management
Software systems design and analysis
Programming
System Testing
Integration testing
Release Management
Maintenance and enhancements – Impact Analysis, Design modification analysis,
Implementation, testing
Projects:
Involved Offshore Development for an online gaming system. The sub project within this contract include
Training of legacy system.
Design for migration from OpenVMS to Linux.
Prototype development for Wireless point of Sales terminals.
Extension of existing point of sales terminal to a web based terminal (Account betting system).
Cruise Controls Pvt. Ltd. 796/3, Ketkar Road, Opp. Kamala Neharu Park, Pune - 411004, Maharashtra, India.
Ph: +91-20-5677672 Fax: +91-20-5677673 |
Software Developer Oct 2000 – Aug 2002
|
Job Profile:
Device driver, Application development for Telecom products.
Responsibilities:
Software Module design
Programming
Testing
Integration
After sales support
Projects:
AIM 34 – Software development for Wireless radio, based on VxWorks/PowerPC platform.
AIM 310 – Software Development for Wireless radio (control software for transmitter and receiver parts, calibration, front-end for calibration), based on VxWorks / PowerPC platform.
Ethernet radio – Ethernet interface for Wireless radio based on RTXC / QUICC68360 platform.
Project Summary:
Project 18 |
Linux mobile platform |
Description |
Middleware development over Linux kernel 2.6.x for mobile phone platform. Middleware components include addressbook, calendar, messaging, phone applications etc. This is the current project, where the development will be continued for phone middleware such as messaging, browser etc. |
Environment |
Embedded Linux, C, idl, xml, dbus IPC, gtk, glib etc. |
Team Size |
8 |
Role |
Project Leader |
Responsibilities |
Requirement AnalysisPlanningDesignCodingOffshore-onsite co-ordinationIntegrated testingRelease Management |
Technical Work |
Participated in Product requirements specifications and Engineering requirements specifications for address book and calendar phone applications.Designed API for address book and calendar middleware.Analyzed open source packages for address book and calendar middleware.Integrated EDS (Evolution Data Server) package ported for dbus IPC instead of CORBA, into the platform.Modified API functions in the open source package based on the requirements specification.Migration of address book and calendar database migration from Berkeley DB library to sqlite3 library which is an open source package, designed for database user in embedded systems.Developed test applications to test address book and calendar middleware.Integrated the test applications in QMTest framework which is open source.Documentation – Design documents, Project plan, Test plan, API specification, Programmers guide for address book and calendar middleware. |
Project 17 |
VxWorks OS migration from 5.5 to 6.2 |
Description |
BSP, driver migration for a MIPS based platform, ideal for IP phone. |
Environment |
C, VxWorks, Tornado. |
Team Size |
2 |
Role |
Project Leader |
Responsibilities |
Requirement AnalysisPlanningDesignCodingOffshore-onsite co-ordinationIntegrated testingRelease Management |
Technical Work |
Analysis of build systems.Analysis of changes of VxWorks® 5.5 and 6.2Migration of existing build system based on the changes in VxWorks® installation, distributed by WindRiver®Compilation of base operating system and board bring-up with VxWorks® 6.2.Execution of existing test applications with VxWorks® 6.2 for various device drivers including Ethernet switch, I2C, SPI.Execution of existing test applications for BSP which includes hardware abstraction layer.Bug fixing and modifications.Provided Supported for IDE (Integrated Development Environment) build method along with command line build. (The IDE has been changed from Tornado for VxWorks® 5.5 to Workbench for VxWorks® 6.2). Also, updated the user guide document. |
Project 16 |
BSP development for Linux and VxWorks. |
Description |
BSP development, core OS porting, driver development for various module such as Ethernet switch, SPI, I2C, NAND flash etc, assembler development for an on-chip, special purpose microcontroller. The platform is based on MIPS, ideal for cable modem. The client develops SoCs based on various processor architectures such as ARM and MIPS in various domains such as Broadband communications and mobile platforms. |
Environment |
C, VxWorks, Tornado, GNU tools, WindRiver Workbench etc. |
Team Size |
6 |
Role |
Project Leader |
Responsibilities |
|
Technical Work |
|
Project 15 |
Windows CE OS porting on an ARM based SoC. |
Description |
Windows CE porting, driver development, Boot Loader and OAL development on an ARM based PC. Driver development includes Ethernet, SPI, I2C, Keypad, and Video processing Engine. OAL enhancement include communication link to an on-chip DSP core. |
Environment |
C, Microsoft Platform Builder, Windows CE. |
Team Size |
12 |
Role |
Technical consultant and reviewer |
Responsibilities |
|
Project 14 |
Windows CE OS migration from .NET to 5.0 |
Description |
This project involves migration from windows CE 4.2 to 5.0 on a MIPS based VoIP phone platform, driver migration for various SoC modules including Ethernet switch, SPI, I2C, Keypad, Display etc. The project scrapped due to hardware enhancement. |
Environment |
C, Microsoft Platform Builder. |
Team Size |
2 |
Role |
Project Leader |
Responsibilities |
Scoping of the projectRequirements |
Project 13 |
USB Computer
|
Description |
This project involves developing a USB slave device to boot Windows XP. The OS image stored on the device serves as the boot image. |
Environment |
C, IAR embedded workbench for ARM. |
Team Size |
13 |
Role |
Module Leader |
Responsibilities |
DesignCodingIntegration testing.Project Planning and Estimation.Design and Implementation.Test suite automation design. |
Technical Work |
Design and development of USB 2.0 slave driver for mass storage deivice type. Developed in C language, over ARM based microcontroller.Design and development of control logic for multiple writes to the flash device.Design and development of interface provided by a FPGA logic to read and write to flash storage device.Design and development of flash management logic.
|
Project 12 |
J2ME porting onto a configurable processor.
|
Description |
This project involves porting J2ME onto a configurable processor. It involves linking KVM, the architecture dependant portion of J2ME with a single threaded runtime for the configured processor. A multithreaded OS is purposely avoided in order to facilitate the end user develop 'speedy' applications for the processor. |
Environment |
C, Assembly, GNU, Linux Red Hat 7.3, and Solaris |
Team Size |
6 |
Role |
Project Leader |
Responsibilities |
Feasibility Study and Requirement Analysis.Project Planning and Estimation.Design and Implementation.Test suite automation design. |
Technical Work |
Compilation of J2ME (CLDC configuration)Integration of J2ME with the hardware abstraction layer of the Xtensa LX processor.Development of processor simulator in C using a library which is distributed by processor vendor.Execution of J2ME main function from the boot loader provided by processor vendor.Development of simple Java applications over J2ME.Execution of test applications and generation of performance benchmarking data.
|
Project 11 |
SoC simulation and SQA
|
Description |
This project involves simulating various SoC. The client develops configurable processor cores. With each core generated by the end user, a simulation library is distributed to simulate end SoC. The project is divided into 2 phases - SQA of the library and Simulation of various SoCs. |
Environment |
C, Assembly, GNU, Linux Red Hat 7.3 and Solaris |
Team Size |
3 |
Role |
Project Leader |
Responsibilities |
Self-training and Requirement Analysis.Project planning, test planning.Test designs, coding, porting and delivery. |
Technical Work |
Development of SoC simulators using a library provided by processor vendor.Test planning, test case definition for all the API provided by the library, based on systemC.Execution of test applications over simulated SoC and test report generation.
|
Project 10 |
KVM/IP
|
Description |
A PCI board solution developed for one of our client, with device driver on Linux to handle various requests to KVM / IP PCI card which captures video signals from the Linux based server and transmits the video data after compression on the IP based network. At the same time, the card sends keyboard and mouse data to server which client has captured from the Java Applet. |
Environment |
C, Embedded Linux, GNU tools |
Team Size |
12 |
Role |
Module Leader |
Responsibilities |
DesignCodingIntegration TestingSystem testingRelease Management |
Technical Work |
Development of PCI based DSP card device driver in Linux.Design and Development of http server over Linux.Support for multiple server management capabilities, user access rights management etc. |
Project 9 |
Platform – PocketPC
|
Description |
This project involved modifying Pocket PC according to client needs. |
Environment |
C, WinCE, Microsoft Platform Builder |
Team Size |
1 |
Role |
Sr. Programmer |
Responsibilities |
Power Management applet modification.Porting Legacy applications onto the new platform. |
Project 8 |
Platform Development – Sierra
|
Description |
This project involved an ODC, for a client making platforms for Mobile computing devices. This project involved Windows CE based “Reference platform development”, to minimize the time to market for next products in line, by reusing the build configuration and source code. The development board was based on XScale based SoC. |
Environment |
C, Assembly, WinCE, Microsoft Platform Builder |
Team Size |
6 |
Role |
Sr. Programmer |
Responsibilities |
Self-learning - WinCE as a platform.Board bring-up with Windows CE 4.2.Integration of device drivers provided my Microsoft with the platform.Modifications in the PDD (Platform Device Driver) based on the architecture details of the SoC such as memory map.Integration of third party compact flash driver and file system (supplied by the vendor).Integration of WinCE test kit and test execution for drivers. Bug Fixing for the whole platform. |
Project 7 |
Account Betting System
|
Description |
This project was under an offshore development centre in India, involving enhancements in an Online gaming system. The major components of this system include Online Sales server, Point of Sales terminals, Database to maintain records, remote backup site etc. This particular project involved extension of Point of Sales terminal to a web based interface from where players can place a bet. This involved changes in the online sales server, database. Also, it involved development of a new web based application. |
Environment |
C, Sybase, OpenVMS |
Team Size |
6 |
Role |
Module Leader |
Responsibilities |
Requirement Analysis.Design, coding and unit testing on OSS side.Integrated system testing. |
Project 6 |
Wireless Point of Sales Terminal – Prototype
|
Description |
This project was under an offshore development centre in India, involving enhancements in an Online gaming system. The major components of this system include Online Sales server, Point of Sales terminals, Database to maintain records, remote backup site etc. This project involved developing wireless point of sales terminal for online gaming system. The purpose was not it integrate this type of terminals into the system, but to demonstrate the capability as a part of Research and Development. |
Environment |
C, Sybase, OpenVMS |
Team Size |
3 |
Role |
Module Leader |
Responsibilities |
Requirement AnalysisDesign, Coding, unit testing and integrated testing. |
Project 5 |
Set-up - Online Gaming System
|
Description |
This project involved setting up the online gaming system exactly as per studied onsite at offshore development centre at India. The intended use was for the further activities. |
Environment |
C, Sybase, OpenVMS |
Team Size |
12 |
Role |
Domain Expert |
Responsibilities |
Requirement Analysis.Module Interconnections such as ABS web, Database, RPC server, Online sales server, communication processors etc |
Project 4 |
Training - Online Gaming systems
|
Description |
This was the first assignment under an ODC. The project involved initial learning plus bug fixing at client end and training the rest of the team off shore. |
Environment |
C, FORTRAN, OpenVMS |
Team Size |
1 |
Role |
Sr. Programmer |
Responsibilities |
Code analysis and reverse engineering.Design documents walkthroughs and detailed readings.Bug Tracking System overview.Simple bug fixing.Training the team offshore. |
Project 3 |
Adaptive Integrated Multirate Radio – 310 |
Description |
Development of control and monitoring software for the outdoor part a wireless radio. |
Environment |
C, VxWorks, Tornado, GNU |
Team Size |
3 |
Role |
Sr. Programmer |
Responsibilities |
Requirement Analysis.Design and development of socket serer over VxWorks, Design of protocol between socket server and LabVIEW based front-end intended for Calibration of the radio over a range of transmitter frequencies and temperature.Design and development of communication protocol between Indoor unit and Outdoor unit of the radio.Design and Development of Automatic Level Control and Automatic Gain Control (ALC and AGC) logic for transmitter and receiver respectively.Integrated testing. |
Project 2 |
Adaptive Integrated Multirate Radio - 34
|
Description |
Software development for Indoor unit of a wireless radio. |
Environment |
C, VxWorks, Tornado, Assembly |
Team Size |
9 |
Role |
Sr. Programmer |
Responsibilities |
VxWorks BSP development for MPC860 based board. (This was BSP migration from a reference BSP)Design and Development for User Interface boards which provide the input to the radio to transmit.Design and Development of FPGA programming with the compiled bit files, stored in the file system, radio configuration based on the channel plan selected and User Interface boards plugged.Integration of Envoy SMP agent into the platform.Integrated Testing. Integration of Envoy SMP agent into the platform.Development of hardware access, status and configuration functions to integrate with SNMP agent and to support custom MIBs. |
Project 1 |
Ethernet Interface for Wireless Radio
|
Description |
Ethernet interface for wireless radio. |
Environment |
C, RTXC |
Team Size |
7 |
Role |
Programmer |
Responsibilities |
SPI (Serial Peripheral Interface) driver for RTXC and QUICC 68360.MIB access module with SPI EEPROM. |
Technical Expertise:
Languages |
Assembly, C, idl |
Processor Architecture |
Intel x86, PIC16F87x, QUICC, ARM7, ARM9, MIPS 4K, MIPS 24K, PowerPC, ARM7, Xtensa V, Xtensa LX |
Peripherals worked on |
Ethernet switch, SPI, I2C, UART, Serial, Interrupt controllers, DMA engine, External Memory Interfaces, compact flash, USB controller, Hardware Cryptographic accelerators, Hardware Network Packet Filter etc |
OS |
VxWorks, Windows CE, Linux, eCOS 2.0, RTXC, openVMS, J2ME, Palm (Familiar), Symbian (Familiar) |
TOOLS |
Tornado, WindRiver Workbench, Code Warrior, openVMS tools, Microsoft WinCE platform Builder 4.2, WinCVS 1.2 and above, Star Team, GNU development tools, Microsoft project, GanttProject, GNU Dia, SVN etc |
Protocols familiar with |
TCP/IP, SNMP, Ethernet, HDLC, TFTP, FTP, Telnet |
Open Source Packages |
Evolution Data Server, Sqlite3 |
Academic Certification:
Bachelor of Engineering in Electronics & Communication passed out in AUG 2000
University of Pune, Maharashtra, India.
Personal Details:
Name as in Passport: Harshavardhan Suhas Bokil
Date of Birth: 12.12.1977
Gender: Male
Marital Status: Married
Language Known: English, Hindi & Marathi
Passport Number: B2736771
Issue: 23.11.2000
Expiry: 22.11.2010
Residential Address: 22, Sneh Anand, 168/1, Happy Colony,
Off. Karve Road, Kothrud, Pune – 411038
Maharashtra, India.
Page