1. BHAVIN PATEL Permanent Address:
114, Adithya Elixir, Doddanakundi
Bangalore-560037, Karnataka, India
Email: patel.bhavin.v@gmail.com
Phone: +91-9741700522
PROFESSIONAL SUMMARY
Senior Software Engineer seeking to leverage more than 10+ years of software
industry experience.
In-depth understanding and knowledge of UI framework Design and
Development.
Expertise in Mobile, Printer, Identity Domain Management and Flash domain.
QT Ambassador.
SKILL SET
Language(s) Java, C/C++ , .Net ( WPF ) , SQL-Lite , J2EE , mongo DB
Scripting Python, java script , Angular JS , node JS
Framework QT 4.6 ,Android , Qt Quick, STL, Boost , Hadoop , Cloudera
Operating
Systems
Windows , Linux , Symbian , Android , ThreadX, MQX
IDE Visual Studio, Carbide , CodeWarrior , Qt Creator
Tools/Version
Control system
GIT, GIT Hub , Perforce, Vss, Svn, Mercurial, gdb, Rational
Purify, Rational Quantify, Val-grind, QC , JIRA , Accurev
PATENT PAPER
Code patent where complex data structures can copy to shared memory and
share by different process.
Patent is about challenging problem faced by Nokia in launching and
Orientation change performance in all applications. It was very biggest performance
hit by reading Xml and Css and applying to application layouts.
Patent including data-structures compatible to shared memory, relative
shared-pointer and custom allocators. It deduce to 50% improvement in launching
and orientation change of the application time.
WORK EXPERIENCE
Organization: SanDisk Inc. (July 2012 – Till Now)
Position: Staff Software Engineer
Job Responsibilities:
Design, Develop software/Tools which process and analyses large
number of logs
Design , Develop software/Tools which validates the NAND Firmware.
2. Design Develop the Viewer for NAND Diagnostic
Leading team of 5 people.
Requirement gathering, project planning and execution.
Pre Studies and complex prototypes.
Modeling the ASIC.
Environment:
Language : Java , C/C++, Python, .Net(C#, WPF ) , Angular JS
Framework : boost, STL , Mongo DB
OS : Windows, Linux, MQX.
Tools : JIRA, Accurev, Visual Studio, Eclipse
Projects Undertaken:
Process and Analyze the Large number of Logs and provide the
diagnose information in Viewer.
o Design Develop the Framework which process the large
number of logs
o Install and configuration Mongo DB to store the unstructured
logs.
o Developing Viewer in Angular JS to analyze the Logs and
provide the Diagnose information.
Core Framework development for PCIE/NVME/SATA/SAS based
product ( WD/SanDisk SSD ):
o Design and Develop the Framework which enables
validation team to test the PCIE based embedded HDD
firmware.
o High performance multi-threaded framework which is used
for validation of SSD and hybrid HDD firmware.
o Working and Develop software stack for SATA, SAS and
NVME which is used in validating SanDisk SSD.
o Debug and modify custom AHCI driver, exploring NVME
and design and development of NVME driver.
o Designing of Viewer UI tool for NAND diagnostic which is
based on JAVA.
Framework development for validating Gaming product(
Client Nintendo )
o Developing the framework which enables validation team
to test the gaming product which is custom protocol, FE
and BE firmware.
o Debugging Firmware code through JTAG.
Framework development for validating USB Product.
o Understanding SCSI architecture and USB 2.0, 3.0 protocol
stack.
o Exploring the different drivers integration with framework
(windows driver, USBIO, Jungo).
o Developing the framework which is used for FE/BE
Firmware validation.
ASIC Modeling.
o Involved in modeling the ASIC controllers and IP.
o Development on System C like framework which enable the
modeling of SanDisk Controllers, IP and Flash on windows
environment.
SanDisk Viewer support.
3. o Support for CLI wrapper interfaces which is called by .Net
Applications.
o Prototype of Reflection for calling unmanaged code from .Net
application and lead other team to develop that.
Ashling/Digelent JTAG support.
o Developing code which uses JTAG and send diagnostic
command to devices.
o Integration of Ashling and Digelent specific library to access
JTAG.
Organization: H.P. India Pvt. Ltd. (March 2011 – July 2012)
Position: Senior System Engineer
Job Responsibilities:
Design, Develop and Testing of Core UI framework elements for Ink-
jet printers.
Pre Studies and complex prototypes.
Environment:
Language : C/C++, Python.
OS : Windows, Linux, ThreadX.
Framework: QT, STL.
Tools : mercurial, Visual Studio , QT creator
Projects Undertaken:
Core Enablers for UI framework:
All the core data-structures (Vector, String, Hash, List, and
Linked-List) which is highly optimized for embedded
environment.
Introducing Signal-Slot mechanism which is highly used for
communicate two different UI Elements.
Localization support in String.
Extensible Paint-System Design which can adopt to any
platform specific Drawing.
Event propagation design.
Animation Framework which provides all effect/Animation to
widgets properties.
Item-View Framework which is MVC architecture for Complex
widgets (e.g. List, Grid, Coverflow …)
Gesture framework which resolves all the application event
handling complexities and design is extensible to adopt new
custom gestures.
Design Layout engines. (Linear, Grid, anchor...).
Design Input framework which consist of Editor and
Multilanguage Keyboards.
UI widgets library.
Platform Independent Emulator:
Design and Develop the emulator for the framework
development which can work on Windows, Linux, Mac.
Make development work 80% faster.
Declarative UI Framework:
Design the xml syntax.
Loader and parser for the xml.
Design enablers to adapt declarative approach in framework.
Organization: Nokia India Pvt. Ltd. (Dec 2007 - March 2011)
Position: Senior software Engineer
4. Job Responsibilities:
Define Architecture, Develop, Test of Modules.
Pre-studies and prototypes.
Agile Scrum master.
Environment:
Language : C++, python.
OS : Symbian, Windows.
Framework: QT, Hitch-Cock, Nokia SDK.
Tools : git, valgrind, Qt creator , Visual studio, Code warrior.
Projects Undertaken:
UI framework (symbain4, Hitch-Cock).
Formally known as Orbit, QT based S60 UI framework.
Theme component, Theme server Implementation.
SVGT icon rendering implementation.
Common widgets Implementation for N-Series phones based on
hitch-cock framework.
Organization: Persistent System Pvt. Ltd. (July 2006 - Dec 2007)
Position: Member of Technical Staff.
Job Responsibilities:
System Analysis and Design and Development.
Implement design specification and new Features.
Unit testing of individual modules.
Bug, memory leak, Hang/Crash resolution.
Environment:
Language: C/C++, Java.
OS : Windows, Linux, Solaris.
Framework/Tools: make, perforce, Jira, gdb, valgrind, IBM
purifier/Quantifier.
Projects Undertaken: (Client Oracle USA. )
Oracle Access Manager ( 10 g )
o It is product of Identity Management. Its main functionality
is to manage control access of web resources and manage
the identities of users.
o The main server components are access server and
Identity server and web plugins are Webpass, Access
Manager and Webgate.
o Oracle Access Manager 10g includes a Web-based interface
that provides a single point of entry and a System Console
that enables administrators to assign and delegate
administrative responsibilities and to manage the
appearance and behavior of Access and Identity
components and applications. The Access System provides
single sign-on across any Web application. It supports a
variety of access policies, and is fully integrated with the
Identity System so that changes in user profiles are
instantly reflected in the Access System’s policy
enforcement.
5. Organization: e-Infochips Ltd. (Nov 2005 -July 2006)
Position: Embedded Software Engineer.
Job Responsibilities:
System Analysis and Design Development and Testing on Video
surveillance project.
Understanding the critical path of design and implementation.
Active participation in Test Plan and Test Design.
White box and regression testing.
Bug fixing.
Implementing scripts which automate the test procedures.
Communication with client for requirement gathering.
Build and release.
Environment:
Language : C.
OS : Windows, Linux.
Framework/Tool : SVN.
Project undertaken: (Client Object Vide USA. )
Object Video View:
o Object Video VEW works with existing security
infrastructures and allows users to define rules so that they
can detect, classify and track potential threats to their
environments - in real time. It then generates real-time
alerts when predetermined, User-defined security rules are
violated.
Object Video Management:
o Object Video Management tool is mainly used for
configuration of Video Surveillance Camera. User can
configure the input video files through it. It is installed on
Server machine for central control.
Object Video Forensics:
o Object Video Forensics works with Object Video VEW to
provide rapid analysis of collected video, allowing users to
identify patterns and trends that can help them to anticipate
and effectively deny future security threats. This product
can scan days and weeks of pre-recorded video within
minutes to locate and extract critical information about
potential security breaches.
ACADEMIC QUALIFICATION
“Diploma in Advance Computing” (Year: 2005) from C-DAC (A Govt.
Advanced Computer Training School Pune) securing 67.41% marks.
B.E. (Information Technology) from Rajendra Mane College, “Mumbai
University” in year 1999 -2003 securing 57% marks.
Higher Secondary Examination from ST. Xavier’s High School, Ahmadabad
to “GHSE Board” in Year 1998-1999 securing 67.38% marks.
PET PROJECTS
Small Talk ( Android Application )
o Chat Application where User can Login and create friends and share
the videos and photos to multiple friends for once , User can set the
time duration to watch the videos.
6. o Android application which talks to Server developed in Node Js and
uses MongoDB to store unstructured data e.g Users, Friends ,
Relations , Sessions , files , videos
o Environment
o Android , Java , Xml , node JS
o Mongo DB
o Parse-server, Parse SDK , Heroku , mLabs for Deployment.
Personal Assistant Mobile Application.
o Find more description on below link :
o Assistant Application
o Due to this application, Nokia decided to make me QT ambassador.
o Environment:
Language: C++.
Framework/Tool: QT, QT creator, Nokia SDK, Code warrior.
OS: Symbian, windows.
Save Life Mobile game.
o Find more description on below link :
o Save Life Game
o Environment:
Language: Java Script, Qml.
Framework/Tool: QT, QT quick, QT creator, Nokia SDK, Code
warrior.
OS: Symbian, Windows.
AREA OF INTEREST
Design and Develop Mobile Application/Game in spare Time.
Technical blog sharing knowledge of QT/QMl and mobile app/game
development.
Blog Link : Qt/QMl Blog