CV
Education |
|
Honours & Awards |
|
Technologies |
|
Tools |
|
Experience |
My first commercial scale web project was a learning management system called Meety (see Portfolio), which I started while at the University of Pittsburgh and continued as my final year Computer Science project back at Aberystwyth University (in which I scored highly - read my final report!). Meety is written in PHP with a MySQL database, with various components using third-party APIs. In my job at Fatsoma, I have furthered my interface specialisation by becoming much sharper at JavaScript, using AJAX techniques to improve the user experience. Over time, the results from my use of rapid prototyping and mockup work was recognised, and I was given the opportunity to become the in-house expert on user interface matters. I introduced the Balsamiq Mockups program to the company, which fits ideally with our Agile, Feature-Driven development model as we can quickly make adjustments to the interface design before implementation, and later use qualitative (i.e. human acceptance and regression) testing methods to be sure that the end user is satisfied with our development work and that we have indeed progressed! In development, I have experience with a variety of environments, from Eclipse on Windows (used heavily in a commercial environment), to a more stripped down text editor on a Linux/KDE desktop. As part of a fast-moving development team, I am experienced in the use of both the CVS and Subversion version control systems to enable the team to work effectively on a single codebase, and am familiar with branching in order to maintain a development playground without affecting the stable production system. I work quickly, saving time by using tools such as Firebug within Firefox to test changes to the layout and styling of pages on-the-fly without needing to commit each one first. Commercial Examples at FatsomaSince using Alternative PHP Cache (APC) to great effect in my own projects, I spearheaded its introduction at Fatsoma. As an opcode caching system, it showed immediate results after being installed on the server, speeding up page load speeds by over 30%. In projects such as Meety, I went even deeper in the quest for performance, and profiled the code in situ using the PHP extension Xdebug, which allowed further gains (as I show in my final year project report (3mb PDF) - it's a good read!) as I was able to mitigate the effects of bottlenecks such as the database by using the data caching aspect of APC. This is in addition to my awareness of efficient PHP coding practices. Much of my development time in my first few months at Fatsoma was spent on a user-facing web application, SiteBuilder, which allows websites to be created using modules in a drag-and-drop interface through the web browser. This web application heavily relies on JavaScript, which combined with a complex legacy codebase made upgrades - let alone maintenance! - a struggle. After some refactoring, I steadily increased the usability by adding features such as keyboard shortcuts and a right-click context menu, alongside a general interface overhaul, with a much improved experience using subtle interface animations. Through my work, the Sitebuilder is now successfully used to build some of the most popular nightlife sites in the UK on the Fatsoma platform, including thepropaganda.com and roughhill.co.uk (which I personally built, working from designs provided by the client's in-house designer). I have contributed heavily to all aspects of Fatsoma's online presence: aside from the extensive work on their promotions management system, I also implemented the most recent iterations of the main pages at fatsoma.com (including the most recent version, which contains much interface and AJAX magic from myself) and two themed WordPress blogs integrating with external APIs such as Twitter. |