|
|
|
|
 |
Resume
Summary
B.Sc. in Computer Engineering.
6 years experience in web development, 10 years totally in software development.
Strong skills in software design, programming, mathematics, and problem solving.
Experience with the entire SDLC. Good project planning and time management skills.
Experience working in an agile development environment, as well as working with a waterfall process.
Excellent writing and communication skills.
Team player.
A fast learner who keeps on top of advances in technology.
Highly organized.
Attention to details.
|
Technical Skills
Highly skilled in the following technologies:
C#, .NET Framework 3.5, ASP.NET, ASP MVC, WinForms, Linq, MS SQL Server 2000-2008, VB.NET.
PHP, Perl, Linux, Apache, MySQL, Oracle 11g.
Web Services, JavaScript, jQuery, Ajax.
XML, (X)HTML, DHTML, XSL, CSS.
C/C++, STL, Boost, MFC.
iPhone, Java, XNA, DirectX.
Visual Studio 2008, Xcode, Eclipse, CodeBlocks, GCC, Make Files.
GIT, Mercurial, SVN, CVS, Visual SourceSafe.
CMS (ExSite), iTextSharp.
OOD/OOP, UML, ORM, MVC, design patterns, unit testing, multithreading and synchronization.
Source code documentation, phpDocumentor, .NET XML Comments, Doxygen, JavaDoc.
|
Professional Experience
-
June 2009 - Present, Self Employed, Vancouver
Software Engineer
Working as a software engineer on various short term/project based full time and part time contracts. Work involves
providing clients with software solutions in fields of web, database, client/server, as well as mobile
development. Clients I've been working with:
- HN Consultants, West Vancouver. (September 2009-March 2010)
Developing a new medical application to collect and manage patient information and provide reports.
This comprehensive application is developed in C#, .NET 3.5, ASP MVC, SQL Server 2008 for the server
side, and HTML, CSS, JavaScript, jQuery, Ajax for the front end. The work was done using the latest
technologies and following a modern approach to application design and it involves user roles/security
driven functionality, rich client, PDF generation, Automated notification emails, client side and server
side data validation. I was the lead of three developers working on this project and my responsibility
was to design the code and the data model, write code, perform unit testing and respond to testing results,
in addition to choosing the technologies to use and setting up a development environment for the team.
- 2 Digital Productions, Dubai (telecommuting). (December 2009)
Developed a client/server networking module for an engine used to build live TV interactive shows. The
module is responsible for handling both the client and the server and it acts as the infrastructure for
clients to share information and events through a centralized server. The server is responsible for
broadcasting information and synchronizing clients and it was also responsible for maintaining the list
of connected clients and allows reconnecting in cases of failure. The client module can automatically
detect (ping) local servers. The project also involved developing a UI component for configuring the
connection. Used technologies: Visual C++, STL, .NET, WinForms, RakNet.
- Cosmos Interactive, Vancouver. (September 2009, December 2009)
Develop a 2D graphics engine for the iPhone platform. The engine is developed using C++, Obj C++, OpenGL,
OpenAL, XML, Cocoa Framework, Mac OS X. I was the architect and one of two main programmers. The team also
had two other additional programmers.
- ExWare Solutions, Vancouver. (July-August 2008)
Worked on two short term contracts to extend ExWare's ExSite CMS with new functionality. Work was
done using LAMP, in addition to Oracle 11g and of course HTML, JavaScript and CSS.
-
September 2006 - April 2009, SpeedyPin.com, Vancouver
Senior Web Developer (contract)
Work in an agile environment to upgrade and maintain the phone card retailer's high traffic LAMP based
group of websites as well as the back end web services and housekeeping applications. The group of retail
sites run on a single code base, which adds additional challenges. My work involved dealing with important
web development issues like website security, high web traffic, and SEO. Responsibilities:
- Analyze business requirements and suggest appropriate solutions and object oriented code design.
- Write back-end modules and web services using PHP5.0 and MySQL.
- Write interfaces to third-party services using PHP5.0, XML, and HTTP.
- Implement front-end code using JavaScript, Ajax, HTML, and CSS.
- Design and implement plug-ins for the Content Management System using Perl.
- Optimize existing PHP and SQL code and implement various performance improvement techniques such as caching
We used APC module for PHP to implement code as well as data caching. Data caching was done on two levels: HTML
level and SQL level.
- Scan new and existing code for known security vulnerabilities such as XSS.
- Unit testing using PhpUnit.
- Handle emergency situations and coordinate with the team in such cases.
- Write stand-alone documentation as well as code documentation using phpDocumentor.
- Assist the team lead in providing support and supervision as well as preparing project plans.
-
December 2004 - June 2006, Array Systems, Los Angeles
IT Consultant
Develop and maintain corporate management systems for clients of this consultancies company using .NET, SQL
Server, and other MS technologies, or using LAMP for clients that required it. I worked for big clients like
American Honda Motors. Responsibilities:
- Application and data model design.
- Write back-end code and data interfaces using C#, .NET, MS SQL Server, and Stored Procedures.
- Write back-end code and data interfaces using PHP and MySQL.
- Write front-end code using HTML and JavaScript.
- Unit testing.
- Write technical and specification documents.
- Suggest the appropriate technology based on the client's requirements.
- Help in the preparation of project plans.
-
September 2003 - August 2004, 2 Digital Productions, Dubai
Senior Programmer (contract)
Developed multimedia applications mainly for TV stations and ad agencies. I was the head of a small programming team (2 programmers). Responsibilities included:
- Design object-oriented code for 3D games, tools, plug-ins, and interactive TV applications.
- Implement the code design using C++, STL, MFC, and DirectX.
- Unit testing.
- Research new programming technologies to be adopted and develop new algorithms when needed.
- Write code documentation.
- Make deployment packages using InstallShield.
- Assist the manager in project planning.
- Provide technical support to other team members.
-
August 2000 - August 2003, Cosmos Software, Dubai
Programmer
Cosmos Software provided media and web development services to a wide range of clients. Throughout my
employment I worked in both departments, which gave me experience in both web development as well as
multimedia programming. Responsibilities:
- Develop multimedia applications and in-house tools using MS VC++, MFC, STL, and DirectX.
- Build deployment packages using InstallShield.
- Write required classes for an online billing system using Java (J Builder) and ATG.
- Develop web applications using ASP, PHP, HTML, JavaScript, Flash ActionScript, and SQL Server.
- Unit testing.
-
October 1999 - April 2000, General Systems Company, Baghdad
Software Engineer (contract)
The company was working on building a SCADA system to monitor the electricity network and my work was in the
field of network redundancy. The task was to write the network redundancy module which utilizes several
Ethernet networks to provide additional network availability and bandwidth. Responsibilities:
- Define the requirements.
- Design the communication protocol.
- Design the module’s classes and functions.
- Develop the module using C++, Win32, Sockets, and RPC.
- Unit testing.
-
July 1996 - August 1997, Mesopotamia Software, Baghdad
Programmer (part time)
Worked as a part-time programmer developing a multimedia educational game. The project was built using Borland C/C++ and Windows 3.1 SDK. Responsibilities:
- Write the game's main and gameplay control code.
- Develop the transitional scenes between stages.
- Unit testing.
|
Education
| 1995-1999 |
B.Sc. in Computer Engineering University of Baghdad |
References are available upon request.
|
|
| |
|
© Sarmad Khalid. All Rights Reserved.
|
|