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.
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 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.
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.
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.