Over the years I've been involved with a range of projects in a diverse set of industries. Highlights include getting my hand dirty in the guts and at the edges of a foreign exchange trading system, designing and implementing a social network from scratch, refactoring a number of websites to achieve impressive increases in performance, traffic and revenue, and designing and implementing the public APIs for one of the leading big data companies in the world as well as getting involved with some of the core aspects of their platform.
I enjoy designing and building innovative software solutions. My motivation comes from solving tough problems in efficient and cost-effective ways. I try not to tie myself to particular development environments, programming languages or technologies, and light up at the prospect of learning something new. I'm always looking for opportunities to put cutting edge technology through its paces in appropriate situations, and also get great satisfaction from building rock solid systems build on well-established components.
What I look for in the work I do is a challenge, and that can come in many forms. Sometimes it's breaking new ground, and other times it's taking an ageing system and formulating a plan to update it while ensuring continuous service and data integrity.
My strongest skills lie in designing systems and guiding the development process, but that doesn't mean I won't get my head down and get involved with the code. Watching a system design become real is incredibly satisfying.
- Started a photography company. See http://stuartdallas.com/ for some examples of my photography work since then. [Stuart Dallas Photography Ltd]
- Started a software consultancy. See http://3ft9.com/clients for some examples of my consultancy work since then. [3ft9 Ltd]
- Recruited and managed a small team ranging from 1 to 3 developers (mix of permanent and contract) and a contract designer to achieve staggering website growth. [Freeads Classifieds]
- Took ownership of a web site attracting ~600k unique users a month in February 2007. I initiated and led a complete redesign and code rewrite of the site which now (July 2009) gets over 2 million unique users a month. [Freeads Classifieds]
- Designed, implemented and tested a web-based interface from mocked-up screenshots for an innovative IT asset management and planning system. [IT Vision]
- Designed and implemented a compatibility-focused Windows-based tool to detect installed hardware and software for use in an asset management system. [IT Vision]
- Designed and implemented a TCP load balancer to spread requests from a front end web server across multiple backend logic servers. [IT Vision]
- Successfully ran all aspects of a web hosting company as a part-time venture for over ten years. [SharedServer.net]
- Initiated and lead a successful company-wide switch from CVS to Subversion, including research, initial setup, staff training and maintenance. [IT Vision]
- Took over the development of a conversation analysis module and integrated it into a back-office deal analysis package. [RCP Consultants]
- Designed and developed several STP server applications for use by foreign exchange traders. [RCP Consultants]
- Took ownership of a web site developed by an external consultancy, redesigned the look and feel as well as replacing the backend PHP code resulting in an instant increase in traffic. Also re-negotiated the hosting arrangements to realise instant savings of 85%. [TRADA Technology]
- Design and implementation of several small utilities including a distributed phone book for company-wide use and a VNC management console for the support team. [TRADA Technology]
May 2010 – present:
Founder & CEO,
May 2010 – present:
Founder & CEO,
Stuart Dallas Photography Ltd
Nov 2007 – Nov 2011:
Head of Technology,
Freeads Classifieds Ltd
Mar 2007 – Oct 2007:
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.
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.
I am still involved with Freeads as an advisor and a contractor.
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:
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:
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:
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:
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:
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.
Development of a support ticketing system in FoxPro.
Jul 1995 – Sep 1996:
Sales / Customer Service,
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.
Sep 1996 – May 2000:
BSc (Hons.), Bournemouth University
Software Engineering Management
- Member of the British Computer Society.
Excellent references can be supplied upon request. Pretty bad ones could probably also be supplied if required.
From there to here...
I took a year out before starting my degree to work at PC World, performing a number of roles throughout the year from sales to customer service and after-sales support. During the summers of my first two years at university I worked for an independent computer sales and repair shop. It was here that I began my career in software development when I took a short contract with them to develop a ticketing system in FoxPro.
The third year of my time at Bournemouth University was spent working for a company that manufactured monitoring systems for the nuclear industry to fulfil the work placement requirement of the degree course. In addition to getting some valuable experience of working in an office, SCADA, embedded systems and office politics, I was also required to adhere to the strict development process and documentation requirements the industry demands.
Following my graduation I continued the theme by taking a role with a company that, amongst other activities, developed foreign exchange dealing software for Reuters, another industry that requires adherence to detailed standards and extensive documentation.
I then went after a role in an agile startup, finding a home with a very young company that was developing a revolutionary product for schools. As a senior developer and the second employee I helped build the product, expand and train the team, and provided customer support and training. I also got the opportunity to own and manage features of the product.
I was then given the opportunity to join another startup that had taken over an existing product, and spent the next three years building a solid, scalable, "whitelabelable" classified advertising platform which is currently (Dec 2010) powering three classified ad websites with more to come. The combined sites get over 2 million unique visitors each month, with page impressions hovering around the 20 million mark.
Since May 2010 I have been contracting through my consulting company (3ft9 Ltd) and have been involved with several exciting and challenging projects. At the same time I created my photography company (Stuart Dallas Photography Ltd) and have been steadily building a local reputation in that capacity.