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