Post Job Free
Sign in

Engineer Project

Location:
Bangalore, KA, India
Posted:
February 24, 2014

Contact this candidate

Resume:

*.* years of experience in Software development life cycle specializing in

Mobile software application development, SNS, Multi-threaded application

development, User interface development and Object-Oriented Analysis and

Design. IT experience working with industry majors such as SAMSUNG with

expertise in C/C++ and little exposure to open source technologies such as

Android.

Strong SDLC experience in System Analysis, Design, Development, Testing,

Enhancement, and Maintenance of software applications.

Skilled at progressing from problem statement to well-documented designs

development tools and diagrams.

Robust knowledge of C / C++ with experience ranging from working on Win32

to MFC programming.

Possess 4 yrs of experience in desktop, mobile Application user interfaces

design and development, stand alone application development in telecom

domain and mobile technologies.

Posses 1 year of experience in developing tools for textile/paper printing,

application customization, custom control implementation and widgets

development.

SKILLS SET

Languages C, C++, Visual C+, Java

Libraries Win32,MFC, QT

Methodology OOAD, Design Patterns

Tools TRACE32,QXDM

Databases ORACLE, MySQL

Revision Control Git, perforce, clearcase

System

Domain Mobile application development, telecom, algorithms,

user interfaces, window and display managers, Mobile

user interface widgets, Social networking app

developement

Operating Systems Linux, Unix, MAC, Windows, Qualcomm REX (RTOS).

Technology Mobile application development, SNS, User Interface and

Widget Development, Graphics, http Protocol, Client

Server app development.

PROFESSIONAL EXPERIENCE

Samsung India Software Operations Pvt. Ltd. (www.samsung.com)

Sept 07 - Present

Samsung India Software Operation Pvt. Ltd. (SISO) is a subsidiary company

of Samsung Electronics Corporation. Samsung is a South Korea based

technology company involved in development of software for the mobile

devices and consumer electronics. SISO takes project from Samsung

Electronics, Korea and provides services and solution to them. Company is

also involved in developing and commercializing software for mobile phone,

consumer electronics and memory cards in India.

Project 1: File Explorer (My Files App for Tizen platform) Role:

Technical Lead

Tizen is an upcoming open source platform from Samsung and it's partner

companies. To make the SDK open for people/organizations and readily

available to the the OEM's all native application should be present in the

framework.

Responsibilities:

My Role in this project is more like an individual contributor as well as a

team lead/architect.

During the initial phase of the project, I had discussions with HQ to

understand the requirements. After detailed discussions, I made elaborated

SRS document. Once requirements were frozen, I had started with High and

low level design diagrams, including interaction diagram, sequence diagram

as well as class and interface diagram. Once all design elements were

identified, I and my team of 4 engineers started development of the

project. After implementation, this project was sent to in-house test

teams.

During the development, I designed very crucial module of this project of

generating thumbnails of each file type. Later on to improve page loading

performance I added Cache manager which keeps most recently loaded

Thumbnails. Cache manager, which keeps most recently loaded thumbnails, was

added later to improve page loading performance.

Thumbnail manager's job is to generate thumbnail by decoding the image/

first frame of video content. For all other static content it decodes one

file and uses it for all files of same kind.

Cache manager, keep three pages of thumbnails and keeps them into heap

memory. When user scrolls page, It makes sure that, images of thirty images

on top of the current image and thirty images below the current images are

already in heap memory.

This significantly improved performance of the page loading and reduced

thumbnail generation count for images which lead to improved application

performance in terms of less image decoding hence less usage of CPU cycles,

less battery consumption and and faster user experience.

Environment/Tools: C++, Tizen Platform, git, klocwork, parasoft static code

analysis tools.

Project 2: Twitter On Samsung Bada Platform Role: Lead

Engineer

Developed Twitter mobile client on Samsung's own open source platform,

Bada. My responsibility is to designing the application and developing some

back end module such Home Model, Search Model, Profile Model responsible

for integrating with twitter server and requesting and posting data to it.

I am also involved in developing the user interface of the application.

Followed MVC design model. Application is divided in to 3 modules, first

Controller, second Models and third Views. Controller is responsible for

handling the request received from the views and handling the responses

received from Models. Models are responsible for communicating with the

twitter server, request formatting and JSON parsing.

Responsibilities:

Requirement understanding, analysis and preparing high level requirement

analysis document.

Designing the application architecture and documenting the same.

Implementing the modules assigned, getting it reviewed by the peers.

Periodically running static code analysis tools on the entire code.

Deploying the application on various devices and fixing market release

issues.

Environment/Tools: C++, Samsung Bada Platform, Twitter APIs and API

guides, JSON parsers, http protocol, Klocwork, parasoft static code

analysis tools.

Project 3: NowPlus Engine (Vodafone 360 Client) Role:

Lead Engineer

Vodafone Germany launched a service called Vodafone 360, a social

networking service where subscribers of Vodafone can create their account

and upload, download and sync their contacts, Media contents, call logs,

messages, email, and activities.

Subscriber can also sync their social networking contact like facebook,

orkut and other contacts from their device to server.

I was involved in developing NowPlus Engine Media Manager, which is

responsible for uploading, downloading and syncing, Media contents, such

as, Images, videos.

Application will initiate upload, delete and syncing request. Media manager

will receive request from application, will read the file information

(bytes and Meta data), will prepare a request structure into a form

understandable by the server (Hessian body) and will send an http request

to the Vodafone server.

Server will upload the content and will give http response in hessian

format with the id of the content just uploaded on the server.

When application initiates delete request for a file already uploaded on

the server, application will pass server Id of the file already uploaded.

Media manager will prepare the request body, with the name of the API to

invoke on server and then will append the Id of the file to be deleted on

the server and will send an http request to the server.

After successful deletion server will send the id of the file deleted from

server.

Responsibilities:

Requirement understanding, analysis and preparing high level requirement

analysis document.

Designing system architecture, module design, designing inter module

communication, data flow, call flow and system states.

Preparing high level design document and skeleton code.

Developed system from scratch using C.

DB handling for storing and retrieving server ids and file info.

Performed unit, module level testing (of individually developed modules).

Getting the code review done on periodic interval by the team.

Environment/Tools: C,C++, http protocol, understanding of hessian format,

DB2-Sql queries, Trace32, QXDM, WireShark, Samsung Proprietary Platform

(SHP), Sparrow, Klocwork, parasoft source code analysis tool.

Project 4: Patent and Differential Application Implementation

Role: Senior Software Engineer-2

Data Mining:

Data mining was a grade A patent proposed by team for browser. The idea

behind data mining is an application running in background which takes

cares of keep record of any type of content (Browsed page, downloaded

images, music files, video files and saved links). Next time when user

browses the same page and tries to download the same page, data mining will

find out same files already exists on the disk, will notify the user and

won't download that file again.

Responsibilities:

Designed GUI layout and workflow of the entire application.

Implemented new GUI and made changes to the application.

Suggested new use cases and features to the application and developed 1 of

the suggested feature.

Testing, debugging and bug fixing of the porting of code added by me.

Environment/Tools: C, Samsung Proprietary Platform, QUALCOMM Rex, Trace32.

iCall:

iCall is an abbreviation of Informative call. This is a differential

application proposed and suggest by team for Call Module. The idea behind i

Call is sending additional information to a person whom you which to call

before actually calling the person. Caller party sends information to the

receiver party in form of a special message. The format of the message is

understandable by both sender and receiver party. There are three modes of

iCalls Urgent, Remainder and Find mode.

Responsibilities:

Designed GUI layout and GUI workflow of the application

Implemented all three modes of the application

Testing, debugging and bug fixing of the application of both simulator and

target.

Taking logs, ram dumps from target and debugging on target using Trace32.

Environment/Tools: C, Samsung Proprietary platform, QUALCOMM Rex, QXDM,

Trace32.

Project 5: Screen Manager porting and deployment

Role: Senior Software Engineer-2

Screen manager is a core part of windowing and drawing system. It takes

care of creating, updating, drawing, refreshing, resizing, rotating,

merging scaling and alpha blending frame buffer.

It also manages the Z-Order of all the screen and surfaces created by

applications.

Screen manager is the central part of the graphics and windowing system. It

takes care of allocating and releasing frame buffers.

Responsibilities:

Understanding and studying the architecture of screen manager.

Feasibility study and identifying risks involved.

Implementing, adding changes required to port new architecture which

existing system can adapt.

Porting, testing the system on target with target environment and taking

logs from target using target debugger tools.

Environment/Tools: C, Samsung Proprietary Platform, QUALCOMM Rex, Trace32.

Project 6: Widget Development Role: Senior

Software Engineer-1

3 * 4 Virtual Keypad

This was the next project after completing 1st phase of resource editor.

This project took me to the real telecom and mobile application development

domain. I was given the assignment of implementing a 3*4 virtual keypad for

the first touch screen phone by Samsung in Japan market.

In touch screen phones, as we don't have hardware keypad, virtual keypad

helps user in entering text, numbers, symbols, pictograms, face marks

(Emoticons) and Japanese and Korean characters.

This keypad was initially not a separate widget, but was a part of a Input

Editor widget. So initially it was designed and developed just as an

integral widget. Latter many application developers asked for such widget

for their requirement. Due to which this module changed to an individual

widgets.

QWERTY Keypad

After completing 3*4 phone keypad, I was given the responsibility to

develop QWERTY keypad. This project was an extension of the 3*4 phone

keypad. 3*4 phone keypad had 12 keys where as QWERTY keypad has 36 keys

including 26 keys for alphabets.

QWERTY keypad was written for the horizontal mode because horizontal mode

has sufficient space to display all keys and it will also help user to type

faster compare to normal3*4 keypad.

Japanese/English Input Method Editor (IME)

Input Method Editor was the widget used to enter character (text, number,

symbol, face mark (emoticon), pictogram and Japanese and Korean character.

Any application which needs user inputs is using this tool.

Input Method Editor is a collection of small widgets like a Keypad, an

editable widget (Edit area) and few other widgets. It is using APIs exposed

by the widgets which are members of it. This widget is exposing all the

necessary APIs which an application developer can use. To input telephone

number, this widget can be changed to state in which the keyboard has only

number and widget can input only numeric values.

This widget also supports text prediction for Japanese characters. English

prediction was unavailable, because English is not the primary language in

Japan.

Responsibilities:

Requirement collection from customer, analysis and high level requirement

analysis document.

Responsible for module design, inter-module communication, data flow, call

flow and API design.

Implementing APIs, user interface and application logic.

Performed system/unit testing

Fixing issues reported by customer.

Environment/Tools: C, QUALCOMM REX, Samsung Platform and Trace32.

Project 7: Resource Editor Role: Senior Software Engineer-

1

Resource editor was very prominent project. It was my first project in

Samsung. This project includes modules like

A standalone application with its unique IDE, an engine which generates

resource files,

An engine which parsers resource files and

A resource loader which takes the resource file as an input and generates

User Interface as per the resource file.

Here the term resource is generalized for a Window, bitmap, string, a

widget and anything which could be a resource for an application. A

resource is nothing but an external content which helps to enhance the

application in term of Look and feel, appearance, better readability and

visibility.

The GUI part of the project is a standalone application with its IDE. The

application and its IDE contains a visible toolbar, a drawing canvas

(area), a property window and a tree view window showing parent-child

relationship of all the resources.

Toolbar of the application has all the widget, supported by the framework

(platform), displayed in an iconic fashion which can be dragged and

dropped. Use can drag widgets and can drop them on the canvas area. The

canvas will draw dropped widgets and will place them to the point they

dropped. Use can change size and position of each dropped widget with just

a mouse click. User can manipulate properties of each dropped widget from

the property window.

Once user is done with GUI layout, and the widgets, use can generate

compile that GUI. Compilation of GUI internally generates a resource files

in a format understandable by the resource loader.

After compilation the resource generator will generate two files, one

header file, containing IDs of all resources and one binary file which

contain resource and its information. It's the resource file, which is

going to be read by the resource loader.

Now the job of resource loader is to read resource file, parse resource id

and its information and create user interface based on the resource files.

Responsibilities:

Requirement collection from customer, analysis and high level requirement

analysis document.

Designing system architecture, module design, designing inter module

communication, data flow, call flow and system states.

Designed User Interface workflow and state of each screen.

Developed system from scratch using C++ and MFC.

Performed system/unit testing.

Environment/Tools: C++, VC++, MFC, Trace32, QXDM, Samsung Proprietary

Platform Qualcomm REX, Windows XP.

Kothari InfoTech Pvt. Ltd. (www.kothariinfotech.com)

Jan 06 - Jun 07

Kothari InfoTech Pvt. Ltd is a small product based company working on

developing printing software, printer drivers and color solution software.

Company's products are based on Computer Graphics, Digital Imaging &

Computer Color Matching, Image Processing, Printer device drivers and

digital textile printing software.

Kothari InfoTech Pvt. Ltd. was my first company after completing my

studies. I was recruited by the company in campus recruitment in 2006. For

first 4 months, from Jan-06 to April-06, I worked as trainee. From May-06

to June-07 I worked there as a Software Engineer.

Project 1: Digital Artistic Media Tools

Role: Software Engineer

This was the first project we have been given white I was in the training

period. The Ideal was to build a tool which allows users to have a set of

artistic tools by which it is possible to draw/create artistic painting,

images and sculptures on computer.

We were 7 people working on this project; all of them were new recruited in

campus recruitment process.

To achieve this I had to simulate all possible tools which an artist can

use to make a painting, such as crayon, water color, pencil color, oil

paint, sketch pens, etc...

We successfully managed to simulated Crayons and Water color within time

limit of our training period.

In this project I was involved in more than one area of work such as crayon

simulation, colors science and computer generated match prediction, user

interface development for the application and application state management.

Responsibilities:

Design and development of crayon simulation, user interface development and

application state development and management.

Testing, debugging and bug fixing of crayon and user interface.

Environment/Tools: C++, VC++, MFC, Windows

Project 2: Customized Controls (Widgets)

Role: Software Engineer

After completing project training, I was given a module to develop in which

I had to implement customized use interface controls, such as Multi Row

list control, menu with user defined color and images, colorful cursors for

company's largest selling product Print Pro. In this project I also handled

application state management using registry and INI files

Responsibilities:

Designing each control with its class diagram.

Developing, testing, and debugging each widget.

Fixing issues encountered in each widget.

Project 3: Customization of application User Interface

Role: Software Engineer

This project was the next project of mine after completion of Customized

Control development. I entered in this project when one of my senior was

about to leave company. I had to handle this project and so it was quite a

learning experience for me.

This project was about changing application state as per the user

requirement and user need. User can create new toolbars in which user can

create and put buttons, menus and nested toolbars, user can create

customized menus which contain option which user wants, and user can change

position, size and orientation of windows, toolbars and menus.

Later this project was included in the company's largest selling product

Print Pro

Responsibility:

Understanding UI customization and its architecture and design.

Preparing design diagrams and class diagrams.

Implementing new features like, custom toolbar, a toolbar which acts as a

container for other toolbars, docking toolbars, docking menus, Drag and

Drop functionality using OLE.

Testing, preparing test cases, testing documents.

Debugging and bug fixing of the entire module.

LEARNING AND DEVELOPMENT ACTIVITIES

Studied, learned Samsung's new open source platform Bada and participated

in Samsung bada application developer fest and submitted an application

called, Up2Date developed by me and my team colleague using Samsung bada

platform.

Studying Android SDK and development environment as a step towards learning

android SDK and application development on android.

ACHIEVEMENT IN SAMSUNG

Participated in In-house application develop contest mentioned above and

won the first prize among 90 participants.

EDUCATIONAL Qualification

Bachelor of Engineering (Information Technology) with 78.00%, from U V

Patel College of Engineering, North Gujarat University, Gujarat, INDIA,

2006

Holding 2nd rank in University for the batch 2002-06 for IT Department and

has also won silver medal for the same.

PERSONAL INFORMATION:

E-Mail Address : acctjh@r.postjobfree.com

Contact No : +91-994*******

Landline No. : +91-80-416*****

Local Address : 203, Shiva Classic, 6th Main, Balaji Layout,

Khaggadasspura, C V Raman Nagar, Bangalore, Karnataka- 560 093.

Permanent Address: 10, Devbhoomi, Kh-Road, Near Sargasan Circle, Vasana-

Hadamatiya, Near Sector-4, Gandhinagar, Gujarat-382006.

Passport No. : G4328343



Contact this candidate