Personal Site

My photo

Senior Research Officer Role, SERC

Under the supervision of Dr. Fakhar Lodhi, I had been managing, guiding and giving technical trainings to students and coordinating with OrangeHRM (an open source software development community) in bug fixing and feature development activities (PHP-MySQL with Symfony Framework).

The idea was to involve students in real projects and relate Software Engineering Concepts along the way.

It was a great learning experience as far as Software Engineering and Software Project Management is concerned.


Software Leadership Roles, CambridgeDocs

Led the following projects:

1. GnomiChat (Java & Flex)

As a project lead, I had been responsible for SecondLife Messenger's integration with GnomiChat - a Chat Messenger with multiple other chat Messengers integrated, using XMPP, the core Jabber protocol. Following were the 2 sub-projects of GnomiChat Project:

a) Desktop Client (Java): Led a team of 3 Software Engineers.
b) Web Client (Flex): Led a team comprising a Software Engineers and a Senior Software Engineer.

2. SecondLife Messenger (C#.NET)

As a senior engineer and project lead, I had been responsible for the feature enhancements of SecondLife Messenger - a .NET based desktop client.
Second Life is a 3-D virtual world entirely created by its Residents. Being in the virtual world requires extensive internet bandwidth and high speed computer processing power, whereas, with SecondLife Messenger, one can chat with friends just like in other messengers.


 

Senior Software Engineer Roles, CambridgeDocs

As a senior engineer, I had been performing the following roles:

1. Web Development & Deployment (PHP-MySQL)

As a senior engineer I have been responsible for the creation, maintenance and deployment of web pages related to SecondLife Messenger.

2. Facebook Application Development (FBML, PHP-MySQL)

As a senior engineer, I was responsible for creating multiple facebook applications in FaceBook Markup Language (FBML) using PHP API. These included applications like:
a) My V-Day Status,
b) Ready or Not,
c) Defriender Thingi (Valentine Days edition)

3. DocxJava Driver

As a technical lead developer and (later) as a senior software engineer, I was responsible for the development of DocxJava driver, which reads Word2007 (.docx) files, including their content, formatting, and meta information, and outputs a pre-processing XML (ppXML) per file. ppXML is a Cambridgedocs internal XML standard format, which can be read by any other module in order to re-publish the contents into some other format like PDF, RTF, HTML etc.

 


 

Software Engineer Roles, CambridgeDocs

As an engineer, I have been working on the following:

1. Docx2WordML2003 (Java Driver)

Under the guidance of Mr. Muzammil Mehmood (Team Lead), I worked on fixing bugs and adding feature support for Docx2WordML2003 driver, which converts Word2007 (.docx) document to WordML2003 document (and then to PDF/HTML). The target was to generate a WordML2003 document as same as that generating using built-in save as features of Microsoft Office 2007 (if not better) [Released with xDoc Professional v3.00]

2. Refactoring FOReader (Java Driver)

Formatting Object Reader (FOReader) read XSL:FO files and loaded their contents in a DOM object (for later conversion to RTF/PDF/WordML). Since all Publishing drivers (PDF, RTF and WordML) used their own FOReader, the idea was to refactor the code in such a way that all publishing drivers would have the same FOReader to use.

3. PublishWordML (Java Driver)

As a software engineer, my responsibility was to come up with a document conversion driver that would transform any given document to WordML. PublishWordML read XSL:FO files and converted their contents to WordML

4. WordML_XSLT (XSLT+Java Driver)

WordML_XSLT driver read a WordML file and converted it into ppXML (pre-processing XML) format to be further converted to FO and then RTF/PDF.

WordML_XSLT worked in 2 steps. First it transformed a WordML document into raw-ppXML by applying XSLT. Then, in step 2 it loaded the raw-ppXML in a DOM object and then re-structured the contents in order to generate the desired ppXML format file.

I worked under guidance of Mr. Usman Qutab and Mr. Sheraz Bashir (Team Lead) for bug fixing and adding support for headers, footers, endnotes, footnotes, lists, list styles, table styles and rowspan for tables.

 


 

Software Engineer Role, Mantaq Systems

Under the supervision of Ms. Sania Bilal and Hashim Ali, I worked on the following tasks:

1. Critical Evaluation Report followed by Gap Analysis Report of an existing Category Management System (CMS) for the Supply Chain Management department of Service Sales Corporation.

2. Resolving client reported bugs (VB6, Oracle) including Installation issues at client-end and development of a "clean" installer, alongwith providing Customer Support through telephone and email correspondence.

3. Evaluation of Forecasting tools available in the market

 


 

Software Engineer Role, amaana

Micro-Money Transfer Application (Java, J2EE)

Under the supervision of Mr. Momin Rashid (Project Manager), I worked on the business layer of a web-based product, providing micro-money transfer solution through email.

Later, under Mr. Nasir Danish (Principal Software Engineer), I refined the business layer of the same micro-money transfer solution, to enable same set of features through SMS.