|   Register

Ali Moeen's Online Place

Wednesday, February 22, 2012   
You are here :     About Ali
About Ali

Blessed with a loving wife Roshan, I live in Toronto, one of the biggest cities of Canada.

I play ping-pong and listen to electronic music and, more than anything else, I am an agile expert in the kitchen.

Beside several common interests, my wife and I are both interested in photography. We always are looking for new ideas about ways to capture shots.

I professionally work on Microsoft .NET platform, C#, ASP.NET, C/C , SQL Server and Oracle Database. I also accept projects on Linux, MySql, Perl, Python and Ruby as not all clients want to be dependent on Microsoft.

I am a hands-on .NET technology consultant and I like software development very much. I have to confess that I am addicted to it. The following is the story:

Education

Master of Science, Computer Science, Artificial Intelligence

In 1998, I started my masters degree program in computer science. My major was Artificial Intelligence. During the program, I worked on image processing, pattern recognition, neural networks and robotic control and vision, but my main concentration was on rule-based and fuzzy expert systems. I designed and developed a visual language and compiler for rule-based expert systems as my final thesis. I finished the program in February 2000.

Bachelor of Science, Computer Science

I appreciated the expertise that I had already gained in machine language programming when I started my computer science program in 1990. I upgraded my 6502 machine language to the 8088 assembly language. My major concentration during the first year of my computer education was the C language, which was the most fashionable computer language at that time. I learned in-depth aspects of that language differently. Borland C had an S switch to generate an assembly source file, instead of an obj file. I analysed the generated assembly code by the compiler to understand the C language aspects beyond the syntax. That approach later helped me to grasp in-depth aspects of the C language, as well. I was amazed at how the Borland C compiler uses simple tricks to implement encapsulation, polymorphism and inheritance.

During the last three years of the CS program, among other topics, I had a great deal of interest in mathematics, compiler design and database concepts. Those concepts have helped me a lot during my professional career. I havent have an opportunity to work in the compiler design field outside the academic world; however, it is helping me to learn programming languages faster and to use them more efficiently. I always seriously keep working on my database skills and I have been using them in most of the projects I have been involved with.

MCSD (Microsoft Certified Solution Developer)

Professional Career

In fall 1986, when I was sixteen years old, I started computer programming. My first computer was a Commodore 64. I was young, and I had so much enthusiasm about the 6502 Microprocessor and Machine Language. The Commodore 64 didnt have strong Basic Language, so the best choice was using machine language. By age seventeen, I made relatively good money by developing computer animation for camera studios. There werent any 3dmax or macromedia director at that time. Pure 6502 machine language programming and mathematical curves was my only choice. I even couldnt use Basic language because of speed and performance.

During my school years, 1990 to 1994, I worked at consulting companies and developed database applications using C/C , Borland Turbo Vision, and Btrieve. I also implemented Novell Netware networks. I kept working on Novell Netware for a while (versions 3.2 and 4.10), then I switched to Microsoft networking technologies later in 1994. I kept maintaining and updating my networking skill. TCPIP networking skills have been helping me during the Web application projects that I have been involved with.

From 1994 to 1997, I was a team member in a HIS (Hospital Information System) project. We used Visual C and Oracle 7 to develop the whole HIS system. During those years, I worked hard on Visual C , MFC, Object Oriented concepts and Oracle PL/SQL and administration.

I switched to developing software for industrial automation systems in 1997. I was responsible for developing Visual C COM and ActiveX components to interface with industrial automation hardware and the PC computer. The reason that I had been accepted to participate in that project was the AD (Analog to Digital) PC ISA interface card that I had designed and built during my bachelors degree program. That proved that I had enough knowledge of PC hardware architect and hardware concepts to write hardware interface software. The hardware controller software that I developed had the fault tolerance capability to automatically use redundant hardware upon failure. I also developed an MTS component to store data that came from high-speed/real-time data acquisition components into an Oracle database. That actually was quite challenging. In another phase of the project, I developed a browser base interface for the system, using IIS 4 and ASP. I continued working on that project until the year 2000.

From the year 2000 until 2005, I worked on ERP and Health Care systems, using the .NET platform, C#, ASP.NET , Visual Basic, SQL Server 7-2000. Beside hands-on technical work, I was translating business requirements to technical specifications. My last role, before I start consulting work, was System Architect.

I have been doing consulting since May 2005. Consulting work helped me to involve with variety of teams technologies and systems. I enjoy the consulting work very much.


During my career in software development, I have gone through many software development methodologies and techniques including Scrum, Agile, XP, TDD and MSF. I took the good stuff from each and made my own methodology and called it “Real Life Software Engineering”. It helps me to get the job done fast, on time and free of bug!



Copyright 2007 by Ali Moeen   |  Privacy Statement  |  Terms Of Use