Software Engineering

Interests

For me software engineering is about working toward understanding what people need and building the best software solution I can for them. This starts with understanding the problem, context, and users and extends to developing elegant algorithms, identifying appropriate data structures, and choosing fitting technologies.

Most of my recent projects have been web applications. Web application development is a lot of fun because it incorporates a number of subjects (i.e. networking, interfaces, algorithms, data, and design) and is extremely gratifying as it reaches a vast audience. Furthermore, it is moving fast so there is always something new to learn. I also have a fair amount of experience designing, using, and extending databases.

With mobile technology hitting developing nations before water and electricity in some cases (Muhammad Yunus's Nobel Leaurate lecture is a must read), I have wanted to dabble in mobile application development for the last few years.

Experience

The following is a sample of software engineering projects I have worked on the past few years.

SensorMap Project Buy4Now is small Irish online commerce company that offers software solutions for online grocery shopping and general merchandizing. I have been involved in a number of projects involving the online grocery shopping solution. For the past year I co-led a team of six developers and was the principal software designer of Shop4Now version 6, the codebase for public-facing online grocery sites. Superquinn is the first retailer to go live with this latest version of Shop4Now with several other grocery retailers quickly following suit. Technologies and languages used while working on the grocery team include: C#, ASP.Net, CSS, Javascript, SQL Server, web services,and Windows Mobile platforms.

SensorMap Project SensorMap is a part of the SenseWeb research project at Microsoft Research. Users of SensorMap, a web interface displaying real-time sensor information, can view sensor information as well as add new sensors to the interface. I worked as the primary Software Development Engineer to clean up an existing codebase, add a number of new features (user accounts, new sensor types, interface widgets), and make it ready to demonstrate as a research prototype accessible to the public on the Internet. Technologies and languages used include: Javascript, Microsoft Virtual Earth, HTML, ASP.Net, Atlas, C#, SQL Server, and XML.

CodeCOOP Project The CodeCOOP is an internal web application I designed and built first as an intern and then as a contractor at Microsoft Research. Its purpose is to help Microsoft employees who participate in engineering activities (a) share information (including code) and (b) build community. The CodeCOOP supports two types of content: a code repository (including the ability to post code and to search code) and conversations (including the ability to ask questions, reply to questions, as well as search prior questions and answers). In addition, the CodeCOOP implements email digests to keep users up to date with activity occuring in the CodeCOOP. It has been deployed company-wide and used by over 5,000 Microsoft employees. Technologies and languages used include: HTML, ASP.Net, C#, Javascript, and SQL Server.

Google Internship I was an intern for Google in Summer of 2003 on what is now the Google Book Search project. In my 12 weeks there, I designed and built an internal web application for Google employees to perform quality assurance on book images used in Google Book Search. Technologies and languages used include: Java, JSP, MySQL.