Home
Services
Clients
Projects
Researches
Articles
Downloads
Resume
Background
Contact Me
>> My Blog
Resume

Summary

  • Inventor and lead developer of Alusus Programming Language.
  • B.Sc. in Computer Engineering.
  • 14 years experience 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, ASP.NET, ASP MVC, Entity Framework, Linq, MS SQL Server 2000-2012.
  • PHP, Zend Framework, Ruby on Rails, Perl, Linux, Apache, MySQL, PostgresSQL, Oracle 11g.
  • Web Services, JavaScript, jQuery, Prototype, Ajax, REST.
  • XML, (X)HTML, DHTML, XSL, CSS.
  • C/C++(11), STL, Boost, MFC, Qt 4.7 and Qt Quick (QML).
  • iPhone development, Java, XNA, DirectX.
  • Visual Studio 2012, QtCreator, CodeBlocks, Xcode, Eclipse, GCC, Make Files, CMake.
  • GIT, TFS, Mercurial, SVN.
  • OOD/OOP, UML, ORM, MVC, data security, multithreading, design patterns, unit testing, continuous integration, agile methodologies.
  • Professional Experience
    • January 2013 - Present (part-time), Alusus Software Ltd., Vancouver
      Founder and Lead Software Engineer
      Designed Alusus Programming Language, a new general purpose programming language, and developed the Core component of its compilation stack. I am the founder of this project and the lead engineer of its small team of two engineers. My tasks include:
      - Design the language and the compilation stack.
      - Implement the Core of the compilation stack using C++11, STL, and CMake.
      - Manage the releases and the development tasks.
      - Define the development process and the programming sytle guidelines.
      - Provide and manage the project's servers. This includes the official website, the source code repository, and the project management server.
      - Manage the backup process.
      - Write documentations and specifications.

    • January 2013 - Present, Orbital Technologies, Vancouver
      Senior Software Engineer
      Working to provide software development services to major IT departments. Since joining, I've been working on projects for Microsoft's IT unit to develop and maintain their volume licensing services. My duties include:
      - Participating in design sessions for new projects or features.
      - Writing new code using C#, .NET Framework 4, Entity Framework, T-SQL, Javascript, jQuery, and HTML.
      - Writing automated tests.
      - Reviewing code written by other developers.
      - Writing design and tech spec documents.
      - Analyzing performance bottlenecks.
      - Refactoring older code to improve its design and readability.
      In addition to my work on Microsoft's project, my work at Orbital Technologies also involves interviewing other candidates to assess their programming and design skills.

    • May 2010 - December 2012, Nokia, Vancouver
      Senior Software Engineer
      Worked in an agile environment on few projects with the following responsibilities:
      - Analyze new business requirements and provide architecture and implementation plans.
      - Implement new features by writing code, DB change-sets, and SQL queries.
      - Enhance existing features by fixing known issues, performance bottlenecks, and security holes.
      - Refactor existing code to improve design and quality.
      - Write shell scripts for various maintenance jobs.
      - Provide code reviews to other developers.
      - Provide technical support for deployment engineers and help setting up the CI system and investigating deployment problems.
      Projects and technologies I worked on:
      • September 2011 to December 2012
        Enhance and maintain the publisher intake system for the Nokia Store (previously Ovi Store). Nokia Store is a high traffic app store for Nokia smart phones and feature phones, supporting hundreds of millions of customers and over 10 million downloads per day. The intake part of the system is built using Ruby on Rails, PostgreSQL, Cent OS, HTML, CSS, Javascript, and Prototype. My responsibilities on this project also included writing data migration scripts to transfer publisher data to a new DB format.
      • March 2011 to August 2011
        Implement a web based application wizard to rapidly develop customized RSS based smart phone apps. This project was developed using PHP, Zend Framework, CentOS, Javascript, jQuery, Ajax, HTML, and CSS.
      • May 2010 to February 2011
        Worked on Nokia Store client UI for the award winning Nokia N9 phone using C++, QML, and Javascript.
      Other achievements I made during my work in Nokia include: Winning a Nokia internal award for innovation.

    • December 2009 - March 2010 (contract), HN Consultants, Vancouver
      Lead Web Developer
      Developed a new medical application to manage patient information and reports. Developed in C#, .NET 3.5, ASP MVC, SQL Server 2008, HTML, CSS, JS, jQuery, Ajax. Features: user roles security model, rich client, PDF export, automated notification emails, client & server side validation. I was the lead of three developers working on this project and my responsibility was to design the code and the data model, implementation, in addition to choosing the technologies to use and setting up a development environment for the team.

    • September 2009 - December 2009 (contract), Cosmos Interactive Inc, Vancouver
      Senior Software Engineer
      Developed a 2D graphics engine for the iPhone and XNA platforms and use it to build the award-winning Babylonian Twins game. The engine was developed for the iPhone using C++, Obj C++, OpenGL, OpenAL, XML, Cocoa Framework, Mac OS X; and for WindowsPhone/XBox using XNA, Visual Studio, and Windows. I was the architect and one of two main programmers. The team also had two other additional programmers.

    • September 2006 - April 2009 (contract), SpeedyPin.com, Vancouver
      Senior Web Developer
      Worked in an agile environment to enhance and maintain the phone card retailer's high traffic websites. My work involved dealing with issues like website security, high traffic, and SEO among others. Responsibilities:
      - Analyze business requirements and suggest appropriate solutions and object oriented code design.
      - Implement code in PHP5, MySQL, XML, HTML, CSS, JS, and Ajax.
      - Design and implement plug-ins for the Content Management System using Perl.
      - Improve performance and security of existing code.
      - Unit testing using PhpUnit.
      - Write stand-alone and inline documentation.

    • December 2004 - June 2006, Array Systems, Los Angeles
      IT Consultant
      Worked on developing and maintaining enterprise applications for clients of this consultancies company using .NET, SQL Server, as well as LAMP. I worked for IT departments of notable clients like American Honda Motors. Responsibilities:
      - Application and data model design.
      - Implementation using C#, .NET, SQL Server, PHP, MySQL, HTML, and JavaScript.
      - Unit testing.
      - Write technical and specification documents.

    • September 2003 - August 2004 (contract), 2 Digital Productions, Dubai
      Programmer
      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.
      - Research new programming technologies to be adopted and develop new algorithms when needed.
      - Make deployment packages using InstallShield.
      - Provide technical support to other team members.

    • August 2000 - August 2003, Cosmos Software, Dubai
      Programmer
      Worked on multimedia programming as well as web development projects. 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.

    • October 1999 - April 2000 (contract), General Systems Company, Baghdad
      Software Engineer
      Worked on a SCADA system to develop a network redundancy module which utilizes several Ethernet networks to provide additional network availability and bandwidth. Responsibilities:
      - Define the requirements and 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 (part-time), Mesopotamia Software, Baghdad
      Programmer
      Worked as a programmer to develop 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.

    Education

    1995-1999 B.Sc. in Computer Engineering
    University of Baghdad

    References are available upon request.

     
    © Sarmad Khalid Abdullah. All Rights Reserved.