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. Fittingly, I am now partaking in the development of a mobile application at Buy4Now.

Experience

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

SensorMap Project Buy4Now is small Irish eCommerce company that offers software solutions for online grocery shopping and general merchandizing. I have been involved in a number of recent projects involved the online grocery shopping solution. I have provided support for many aspects of the system, developed new web applications and am now upgrading the in-store picking solution which involved mobile application development. Technologies and languages used include: C#, ASP.Net, 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.