Full-stack website developer with over twelve years experience in software development. Proven ability to work both independently and as part of a team. Can be relied upon to deliver projects successfully within planned time frames.
Freelance Website Developer — Senktec
July 2012 onwards — Wokingham, Berkshire, UK
Website developer building sites for small enterprises, research institutions and individuals, primarily working with WordPress and Ruby-on-Rails. I work both directly with clients and as a contractor for other companies. Building new sites and optimising and improving existing sites.
See some of the work I’ve done on the portfolio page.
Ruby: Built server-side functionality in Ruby for projects using Ruby-on-Rails. This also included database design, SQL queries and database migrations.
PHP: Built themes and plugins in PHP for WordPress sites. Bespoke development in PHP for new, or existing projects.
HTML & CSS: Built websites to match a graphic designers’ mockups. This included working with responsive HTML5 and CSS3 (and SCSS). Working from PSD files. Building HTML newsletters.
Testing: Used a test-driven approach on projects, including both unit level and full application system tests. This included using Ruby’s MiniTest, RSpec, Capybara (Webkit, Selenium, PhantomJS), Cucumber and PHPUnit.
WordPress: Building new themes. Customising existing themes via child themes. Hooking into actions and filters, and overriding templates and CSS styles. Building functionality into plugins, keeping it separate from the theme. Teaching best practices.
Python: Built a Django CMS website integrated with tools running via the MATLAB runtime. Consulting on numerical modelling using NumPy, SciPi and Matplotlib.
3rd Party Integrations: PayPal, Stripe, plus various other SOAP and REST APIs
Web Applications Developer — Incutio Ltd
June 2010 – July 2012 (2 years 1 month) — Wrexham, UK
Worked as part of a team developing and maintaining Ruby-on-Rails web applications.
Sales-on-Rails was an e-commerce framework written in Ruby-on-Rails. My primary role was to develop and maintain this framework and the e-commerce websites running on it, including design and implementation of new features, maintenance and optimisation of existing code, building new e-commerce sites, and communicating with clients.
E-commerce Rails projects included:
- A system to filter products using check boxes.
- A stock management system tracking quantities and locations of products, incoming supplier orders, allocating stock to new orders, and displaying stock levels.
- A mechanism to track and display recently viewed items via Ajax requests, allowing the main page content to remain cached.
- Integration of full-text search using Xapian.
- Features to export and import data that integrate with clients’ systems and Amazon, via XML and other formats.
- Integration of postcode lookup for the checkout.
- Part of the team that re-wrote the CarrierPigeon marketing email delivery platform in Ruby-on-Rails (later named Mill33). Working with RSpec, CoffeeScript, Sass, Bootstrap, and Resque.
- Developed bespoke websites for clients using Ruby-on-Rails and WordPress.
DevOps: Setup and maintained servers, working with Apache, Passenger, Nginx, Unicorn, Memcached, Chef, Capistrano and Linux. Updated DNS records.
Developer Technology Engineer — Imagination Technologies Ltd
September 2006 – April 2010 (3 years 8 months) — Hertfordshire, UK
Worked as a C++ programmer for the Developer Technology team, who wrote and maintained software development kits (SDKs) for Imagination Technologies’ POWERVR 3D graphics cores.
PVRShaman is an IDE for 3D graphics shading languages with an integrated 3D view. I was the primary developer for over 3 years with responsibility for decisions regarding implementation, bug fixing, and gave input into the roadmap. PVRShaman worked for both the OpenGL Shading Language and DirectX High-Level Shading Language.
PVRTrace is an analysis tool for OpenGL ES2 applications. I took over as main developer after PVRTrace had missed several shipping deadlines and successfully produced the first release. Achievements included understanding and optimising the existing code, completing missing sections and prioritising work on important functionality for the release.
Collaborated with other programmers and worked on shared code to implement a major overhaul of the common tools libraries. Wrote the parser for POWERVR Effect Files.
Solved performance problems in hardware licensees’ benchmarks, including reimplementing and optimising pixel-accurate versions of their applications and porting benchmarks written in Java to C code.
Ported utilities and SDKs to run on Mac OS.
Worked with Python scripts as part of the build system and to help automate testing applications.
Technical skills included C++, C, Visual Studio, GCC, Xcode, OpenGL, Python Valgrind/Callgrind, and working with dynamic libraries (dll/so/dylib).
Teaching Assistant in Computer Science — University of Nottingham
October 2003 – November 2005 (2 years 2 months) — Nottingham, UK
Demonstrated in labs, ran tutorials and gave lectures. In particular for courses in Java, PHP, Perl, SQL, Delphi and C++. Supervised MSc dissertations, marked essays & exams, and provided pastoral care. Developed skills in mentoring and leadership.
MSc Information Technology (2002–2003) — University of Nottingham
Dissertation was to develop a computer player for the game Cluedo. Written mostly in C++, it used OpenGL graphics and Prolog to deduce facts about the game based on events witnessed.
BSc Physics (1999–2001) — University of Nottingham
Including problem solving and numerical simulations using C and MatLAB.
CompTIA – Linux+ (2006)
Zealandia — June-August 2013 (part time)
Volunteer worker at the Zealandia Wildlife Sanctuary in Wellington, New Zealand. Restoring 225 ha of land behind a predator proof fence to native plants and animals. www.visitzealandia.com