Stuart Dallas

Profile

A BSc Hons. qualified Software Engineer with extensive experience of software development covering all stages of the development lifecycle within several different industries and utilising a variety of technologies and platforms. Proven track record of implementing and managing both traditional and agile development processes in addition to delivering high quality software with a focus on usability, performance and scalability both individually and as part of or leading small teams.

As a manager I pride myself on being accessible and inspiring in addition to being a technical authority. As a seasoned developer with a wide variety of experience I firmly believe that I know how to get the best from a team of software engineers, designers and system administrators. I also regard my track record as a testament to that belief.

Achievements

Career Summary

Mar 2007 – present: Head of Technology, Freeads Classifieds Ltd
Management of and hands-on involvement with the design, development and maintenance of a free online classified ads website (www.freeads.co.uk) with a strong focus on usablility, performance, scalability and code maintainability. On joining the company the site was attracting ~600k unique users each month, and at the time of writing (July 2009) it's over 2 million.

The rapid growth was achieved by a combination of evolutionary improvements of the visual design, architecture and of marketing activities. I was heavily involved in the first two and took an advisory role in the third.

The site was initially made up of ad-hoc scripts with lots of code duplication and no real structure. I took the initiative here and instigated a complete re-design of the code architecture which enforced a modular approach and greatly aided code maintainability.

In addition to the code rewrite I also implemented source control, initially with Subversion but later switched to Git after evaluating all the options. The use of Git has greatly improved productivity with far less time being spent managing the codebase and handling merges.

The inherited documentation was severely lacking so I took steps to ensure that the new codebase and functionality was properly covered. As well as writing a significant amount of documentation myself this also included making documentation a required part of all developers deliverables.

All the features added over the past few years are too numerous to list, but those with the biggest impact include a better user media storage and serving solution, an internal messaging system, the addition of a load balancer and a formal deployment system. For each of these I took the lead in both designing and developing the solution, assisted by a number of contractors as required.

In addition to development and management duties I also had responsibility for all IT systems within the company, including the testing, staging and production infrastructures including 24 hour on-call availability to minimise downtime.

Over the past two years the development team has varied between just myself up to me plus 3 concurrent contractors, including one contractor who remained with us full-time for nearly 9 months. In March 2009 I recruited a permanent PHP developer due to rapid growth of both the site and the todo list.

Feb 2005 – Mar 2007: Senior Software Engineer, IT Vision Ltd
Architected and implemented the UI for a web-based asset management system (www.itvision.net) from pages mocked up by a designer. The website was written in PHP, used MySQL for storage and interfaced with a custom-built "logic engine" via TCP sockets.

Created a load balancer in C++ to sit between the aforementioned website and a pool of logic engines.

Implemented a PHP extension to encode and decode URLs to prevent tampering but without impacting site performance.

Designed and developed a compatibility-focused Windows-based tool to detect installed hardware and software on an ongoing basis and feed that information into the asset management system. Written in C using DLLs a a plugin system for module support. Also created a section of the website to allow users to build a distribution with specific modules and a specific configuration. Distributions were delivered as single executable files which were built on demand. The single executable file could be run ad-hoc or installed as a Windows service.

In the early days of this role I took responsibility for implementing and managing the development, testing and production server infrastructure until the company reached the stage where a full-time sysadmin was required. The infrastructure was a mixture of Linux, FreeBSD and Windows.

In addition to designing, developing and testing software this role involved managing the development team in the absence of the Software Development Director.

Jan 2003 – Jan 2005: Software Engineer, TRADA Technology Ltd
Took ownership of a web-based knowledge resource (www.asktrada.co.uk) that had been developed by an external agency but had failed to meet requirements. I designed and developed a complete rewrite of the site from the ground up utilising PHP and MS SQL which resulted in a near instant doubling of site traffic when launched.

In addition to those core duties I also developed and supported various internal applications including the company intranet and several add-ons for the CRM system. These tasks involved C#, VB, COM and MS SQL.

This is the role where I got my first taste of management by hiring and supervising a PHP contractor to take over maintenance of AskTRADA so I could concentrate on higher priority tasks involving the intranet and CRM add-ons.

Jun 2000 – Apr 2003: Software Engineer, RCP Consultants Ltd
Development of prototype systems as proof-of-concept demonstrations for potential customers. Also developed prototypes as investigations into new technologies. Designed and developed a number of STP applications and a conversation analysis module. The technology used was a mix of C++, VB, COM, XML and involved adherence to strict software development procedures. Also required the ability to learn and use new technologies quickly and effectively; something I take great pride in being able to do effectively.
Sep 1999 – Jun 2000: Web Developer, Insipiring Technologies Ltd
Developed various modules for several web-based directory-style applications. Also conducted a preliminary investigation into switching from an Access database to MSSQL Server which laid the groundwork for the actual transition which took place shortly after I left the company.
Jun 1998 – Sep 1999: Software Engineer, Laboratory Impex Systems Ltd
Development of safety critical environmental software for the monitoring of nuclear radiation levels primarily in a SCADA system called Web and following strict development processes including a very high standard for user acceptance testing. A key achievement was the conception and subsequent development of a COM-based communications controller system. It was developed using Delphi and is currently in use at several nuclear installations around the UK. I also got involved in creating automated management reports for the accounts department using Crystal Reports.
Oct 1996 – Dec 1998: Technical Engineer, Computer Workbench Ltd
Sales and repair of all types of computer equipment. In addition to selling, upgrading and repairing computer equipment I also provided phone-based and in-store technical support for customers.
Jul 1995 – Sep 1996: Sales / Customer Service, PC World
Initially part of the sales team. Requested and achieved the position of store merchandiser in November 1995 where I took responsibility for implementing the different looks for the pre- and post-Christmas sales. After successfully demonstrating my technical knowledge and skills I took the position of telephone technical support shortly after Christmas before finally moving to the customer service desk as a technical advisor.

Education

Sep 1996 – May 2000: BSc (Hons.), Bournemouth University
Software Engineering Management
Awarded: 2:1

Professional Memberships

Personal Info

I am passionate about technology and specifically software development, and my personal technical development and side-projects take up a lot of my spare time.

Beyond technology my hobbies include photography, snooker and attempting to get fit.

References

Excellent references can be supplied upon request. Pretty bad ones could probably also be supplied if required.