Muneeb: About

I am a Software Architect, Mentor and Technologist. I completed my college in 1992 with major in Digital Electronics, Microprocessors and Assembly Language Programming. Right after this I got fellowship to pursue MS Systems Engineering with major in Computers, Digital Control and Real-time Simulation.

After my post-graduation, I started teaching in an engineering college where I taught courses on Algorithms, Digital Simulation, and Software Engineering to post-graduate students. Along with teaching I was assigned a software project to convert a power simulator code written in FORTRAN to C. The code size was more than 20 thousand lines and I solely did the conversion. Doing this work I mastered both the languages, FORTRAN and C, and got the experience on how large software systems are designed and coded. I fell in love with C which became my first major programming language. I used Borland and Quick C compilers to do the coding. Then C++ and Object-Oriented came along and so I started development in Visual C++ and MFC.

After about 5 years in teaching and software development, in 1997, I got an academic scholarship and went to Australia to do MS Honors in Computer Engineering with major in Real-time software and control systems. In my research work I used MS Visual Studio, Web Programming, CGIs, Applets, and VRML as tools and languages. It was the time when Java started becoming popular and I migrated from C++ to Java/J2EE technologies. I came to USA and started working as a Java/J2EE Engineer for a financial company. Since then, Java became my primary language for developing Enterprise Applications. In 2005, I started exploring .NET and found it useful for small to medium sized projects. I developed a few web sites using .NET and C# for myself, friends and relatives.

As a software engineer I like to work on all layers, Presentation, Domain and Data. I enjoy designing large and complex systems which involve distributive components and various technologies and protocols.

In recent years I mostly worked on the projects using Agile methodologies like Continuous Integration, Pair Programming, Small Releases, Automated Testing and Automated Build. In my projects I prefer using open source tools like Spring Framework, Hibernate, Maven, JUnit Tomcat, CruiseControl.