Post Job Free
Sign in

Project Engineer

Location:
New York, NY
Posted:
May 24, 2013

Contact this candidate

Resume:

SAQLAIN ABBAS

*th floor Ali Tower, ***-B* GulbergIII MM Alam road

Lahore, Pakistan

Phone: +92-300-*******

Email: *******.*****.*@*****.***

LinkedIn: http://www.linkedin.com/pub/saqlain-abbas/7/289/b98

OBJECTIVE

Eager, young professional adept at designing, developing and

implementing software applications and delivering project releases on

schedule. Proficient at working in C, C++, C# and Python. High

performance team player with a track record of handling tasks and

delivering results on time. Able to multi-task efficiently, learn new

technologies and find scalable solutions to difficult problems.

Currently working as Technical Lead in Mentor Graphics Corporation. Also

also got significant contribution in open source community (open source

contribution details are mentioned in detail under OPEN SOURCE

CONTRIBUTION section with projects like s3ffs (a user space file system

to mount amazon s3 bucket) and Appliance OS (a new distribution for

appliances). Also working on a new Web Browser based on QT and Webkit

called Modeoo. Experience with RESTful web services.

PROFESSIONAL EXPERIENCE

Mentor Graphics Corporation (http://www.mentor.com)

(August 2008 - Present) Lahore, Pakistan

Project: Inflexion Runtime Multi-Threaded Engine

(http://www.mentor.com/embedded-software/inflexion/runtime)

Role: Technical Lead (August 2012 - Present)

Language(s): C/C++

Description:

Mentor Embedded Inflexion UI enables users to implement compelling

and visually rich user interfaces (UIs) with significantly reduced

effort; allowing users to meet the UI demands of today's embedded

devices. From highly animated and visually rich 3D UIs for Android-

or Linux-based consumer devices, to Linux- or RTOS-based industrial

controllers, Inflexion UI solves many of today's more demanding UI

implementation problem. Proven on all leading embedded

architectures, including ARM, MIPS, Power, SuperH, Intel 32

Architecture

In addition, Inflexion can make full use of OpenGL ES graphics

accelerators and has been proven on all leading GPU architectures,

including: Imagination Power VR, ARM Mali, Vivante GCxxx, Qualcomm

Adreneo.

Working as senior resource in Inflexion, responsibilities include

developing new features, customer support, resolving high priority

product issues and helping team members. A brief summary of

undertaken tasks is as under:

. Inflexion API developer - set of API's which are exposed to end

developers.

. Inflexion Windows player - Idea is to let user evaluate design on

windows instead of deploying these on hardware. Once design is

finalized on windows, it is deployed on target platform without any

major modifications.

. Huawei Set Top Boxes, based on Android and Inflexion, worked as

senior resource to help them evaluate Inflexion product and worked

as technical resource to help them achieve it.

. Add inherent video playback support in inflexion for the formats

like MP3. And modify Inflexion architecture as appropriate for this

purpose. Initially we are targeting Linux.

. Optimization of core engine, especially memory optimization and

performance optimization for low-end embedded devices. Results were

really impressive able to optimize around 60% in memory and 25% in

performance.

. Working as architect for new features

. Involved in code reviews

. Product support, resolving high priority customer issues

. Working on prototypes or new ideas, evaluate Inflexion for

Automotive, STB platforms etc.

Project: Inflexion as home screen replace for Android

Role: Technical Lead

Language(s): C/C++ and Java

Description:

Inflexion used as home screen replacement for Android, worked as

senior resource to accomplish this, it work for Android 2.3.3 -

Android 4.2.

It works as complete home screen replacement with feature like widget

dragging, adding, launching application etc.

Project: Porting Qt 4.0 to Nucleus RTOS

Role: Technical Lead (December 2012 -

Present)

Language(s): C/C++

Description:

Working as senior resource to port Qt 4.0 porting to Nucleus RTOS,

major work is done we have also created a proof of concept of Qt

porting with Nucleus. We are now moving toward full-fledged Qt support

for Nucleus RTOS.

Project: Evaluate GUI libraries for Nucleus RTOS

Role: Technical Lead (February 2013 -

Present)

Language(s): C/C++

Description:

Idea was to evaluate graphics libraries for Nucleus RTOS based on

their memory footprint, performance, application design, architecture,

evaluated several graphics libraries for this purpose (creating

complex demos in those libraries), after evaluation currently involved

in porting Anti-Grain Geometry library for Nucleus RTOS.

List of libraries evaluated and I got experience application

development with those libraries...

AGG: http://www.antigrain.com/

wxWidgets: http://www.wxwidgets.org/

SDL: http://www.libsdl.org/

FLTK: http://www.fltk.org/

Juce: http://rawmaterialsoftware.com/juce.php

SFML: http://www.sfml-dev.org/

Ultimate++: http://www.ultimatepp.org/

Project: Inflexion Runtime Multi-Threaded Engine

(http://www.mentor.com/embedded-software/inflexion/runtime)

Role: Senior Software Development Engineer (August

2010 - July 2012)

Language: C/C++

Description:

Inflexion Platform Runtime Engine is an XML-configurable user

interface layer that can be integrated with underlying

application modules, and it presents a graphically rich, animated

interface, with zero coding (for static themes). I was involved in

following projects:

Inflexion support for Freescale i.MX Processor Family

. LTIB has been used to create Linux BSP for i.mx series i.e. i.MX

52, i.MX 53 QSB etc, the target was to make inflexion run on these

platforms, with complete instruction

manual on how to configure Inflexion for these platforms.

. Worked on core Inflexion Runtime Engine 2.5 release (latest,

considered a major release because it resolve several Inflexion

engine architectural limitations), I have developed major

components of Inflexion in this release, did optimization(40%

performance was achieved), and have been involved in design,

development and testing phase, major accomplishment for this

release:

. Removed the menu based limitation in Inflexion and developed a

framework for 'reusable components' (I got "Spot Bonus" for

removing this limitation)

. Developed the 'navigation layer' (for navigating between pages)

for current Inflexion release.

. Have been working closely with QA team, and help them

understand new feature, and have been helping them in preparing

test cases.

. Have been working closely with demo team and help them create

new demos based on the new Inflexion release.

. Involved in the preparing and testing of "Release Candidates"

of Inflexion for customer evaluation.

. Integration of libpng and libjpeg open-source libraries with

Inflexion core engine.

. Worked on Inflexion Automated Testing Framework (IATF), to do the

testing automatically with very little manual effort. Its complete

and being used to test product. It was developed in C++.

. Worked on Integrator (an automated tool that can generate

Integration Layer, based on rules provided, so that engine can

communicate with platform specific modules) later on also did its

porting over Linux, and was involved in its testing.

Project: Inflexion Runtime Multi-Threaded Engine

Role: Software Development Engineer (August 2008-

August 2010)

Language(s): C/C++

Description:

Inflexion Platform Runtime Engine is an XML-configurable user

interface layer that can be integrated with underlying application

modules, and it presents a graphically rich, animated interface,

with zero coding (for static themes). I took part if following

tasks:

. Worked on core Inflexion Runtime Engine v1.3 to v1.7 releases, I

have been involved in enhancing Inflexion Runtime Engine, and

adding new features as per requirement in each release, and

providing support to customer, and our local demo team. For these

Inflexion releases I have been involved in development and testing

phase of each release (for outstanding performance during 2009

while working on these customer releases, I was awarded with "Top

Performer of the year" award, one of the most highly ranked award

at Mentor Graphics)

. Involved in development of Packager (a tool that could Packages

themes) it packages theme in different formats that understood by

Inflexion Runtime Engine. At time we package themes into ROM

(binary format, not flexible and to add new templates/components

user need to re-package theme) and Directory format (XML format,

flexible user can add new templates/components without re-

packaging )

More information about the product can be found at

http://www.mentor.com/embedded

CambridgeDocs (http://www.cambridgedocs.com)

(July 2007 - July 2008)

Worked as Software Engineer under Linux/C group, I worked on a

project related Data Leak Prevention (DLP) using Semantic

Analysis.

Project: Semantic Firewall (DLP)

Role: Software Engineer

Language: C

Description:

Data Leak Prevention (DLP) technology prevents data loss by

discovering data wherever it is located across the enterprise,

analyzing that data and determining that data's security value to

the business. Much in the way that DNA is used to identify humans,

our algorithm can determine the origin of information even if it

has been retyped into a brand new document or rearranged and

reworded in an evasive manner. More information about the project

can be found at http://www.nextiernetworks.com/.

Tasks included:

. Worked as core developer in a team of two on Semantic Firewall core

data analyzing algorithm implementation.

. Semantic firewall also supports several protocols and it parses

data passed through these protocols, I added support of SMTP, HTTP,

FTP protocols.

OPEN-SOURCE CONTRIBUTIONS

Appliance OS (https://sourceforge.net/p/applianceos/wiki/Home/):

Working on GPL base new distribution with core focus to develop easy to use

distribution for appliances, base os is available at source forge (but more

feature development in progress), more information can be found at below

link

s3ffs (https://github.com/skoobe/s3ffs):

s3ffs (S3 Fast File System) is a user space file system to mount Amazon S3

buckets, major development is finished now working on bug fixing, more

information can be found at

EDUCATION

Bachelor of Science (Honors), Computer Science - (Four year program)

(2003-2007)

Punjab University College of Information Technology, (PUCIT)

University of the Punjab, Lahore,

Pakistan (www.pucit.edu.pk) CGPA: 3.08/

4.0

I.C.S (Grade A)

(2000 - 2002)

Punjab College of Information Technology, Lahore, Pakistan

DISTINCTION AND HONORS HELD

< Won 4 merit scholarships from University of the Punjab for Academic

performance in Bachelor

< Certified Ubuntu-Linux User Free & Open Source Foundation Pakistan

(FOSSP) awarded this certificate on completing training for Ubuntu-

Linux in 2005

< Declared as "Top Performer" of the year for year 2009 and 2012 at

Mentor Graphics (only 5% of the employees get this award)

< Got spot bonus for extra ordinary performance during Inflexion 2.0

release (for removing Inflexion architectural limitation)

MAJOR ACADEMIC PROJECTS

Central Traffic Control System for Railroad Traffic (Final Year

Project): This project is about maximizing the number of trains

and minimizing the time required by each train to reach its

destination without colliding or coinciding with other trains on

track, through a constraint base approach.

Compiler for C- Language (Implementation language was C The

objective of this project was to understand how compilers convert

source language into target language. In this project I

implemented all phases of a typical compiler (Lexical Analyzer,

Syntax Analyzer, Semantic Analyzer and code generation).

Finger Print Recognizer (C# and MS SQL Server 2000): Developed a product

involving Finger Print Recognition (Digital Persona) for desktop.

Application to manipulate Outlook: Implemented an application to

manipulate Outlook (i.e. add/read contacts/appointments, send mail

etc.) using Redemption API and MS Outlook Object Model through C#.

Token Ring Network: Developed the Ring Network Topology in GNU Linux C.

Concepts utilized are pipes, processes and their communication.

Moreover, mutual exclusion through voting was implemented to

access a shared device.

File Management System (for Floppy disks): Developed in C++ resulting in

a self carved data structure called Generalized Tree. It provides

a command based interface for performing basic disk utility

functions (format, create, delete, edit etc.) Attempted to

understand and create a UNIX like file system.

Chat Client (C#): The goal of developing this project was to get

familiar with the Protocols. This chat client enables to chat with

client who follows XMPP protocol. I followed RFC 392 of XMPP

Protocol. It has the functionality like one-to-one chat, file

transfer, conference chat.

MAJOR TERM PAPERS (During my BS)

< Machine learning - Introduction to machine learning and different

approaches/techniques being used.

< De-compiler

< POSIX based Operating Systems - Infrastructure (UNIX / LINUX)

< Bluetooth - working of technology

< Data compression techniques

TECHNICAL SKILLS

(1 = some familiarity, 2 = working knowledge, 3 = good experience, 4 = in-

depth exposure)

Custom Distributions: Customized distribution creation

based on Ubuntu Core, and customizing existing Linux build as per

specification.

Operating Systems: Nucleus (RTOS) - (4), MEL (Mentor

Embedded Linux) - (3), Fedora

Linux - (2),

Ubuntu - (3), Microsoft Windows - (3)

Programming Languages: C/C++ (Windows and Linux) - using Visual

Studio/Borland and

vi / Eclipse - (4), C# (3),

VB.NET, Visual C, MFC, x86 Assembly

(16 bit) - using MASM - (3),

Shell Scripting (Windows and Linux) -

(1), Java (J2SE) - (2), Python

(3)

Development Tools: LTIB (4), EDGE - (4), gDebugger - (3),

Subversion - (3), GDB - (3),

Valgrind - (3),

Rational Rose (3), Klocwork (3),

Flex (2),

Yacc (2), MySql (3), MS

Project (2), MS Visio (3), GIMP (2).

AREAS OF INTEREST

Algorithmic Problem Solving, System Level Programming, Distributed

and Operating Systems

LANGUAGES

English, Urdu, Punjabi, Saraiki

LEISURE ACTIVITIES

Horse riding, swimming, table tennis, cricket, watching dramas and

biking etc.

REFERENCES

Available upon request.



Contact this candidate