Curriculum Vitae - Resumé
Hi there. If you are looking to employ me, or are just interested in what I've done, you can find my CV here, or you can download it in Adobe PDF format by clicking the icon to the right.
Professional Summary
Graham is an experienced lead developer with over 10 years experience in all aspects of web development including frontend engineering and layout, server side languages, databases, server operations, code quality and testing. He has strong problem solving and innovating skills and is a quick learner. He is an experienced technical leader and is able to manage the technical quality of a project whilst meeting project milestones. Enjoys mentoring junior team members and has a keen eye for design. Seeking to expand his senior role in a digital team where he can use his extensive and varied skillset to craft quality experiences for many users.
Skills and Experience:
- Javascript Extensive javascript experience in sites and creating single page apps using frameworks (Angular, Backbone). Experienced using browser debug tools. Considerable experience using native javascript and libraries to interact with server side APIs via AJAX, including debugging AJAX requests, security concerns (CORS), authentication, and data transfer formats such as JSON and XML.
- Serverside development Strong experience developing database driven websites, especially using VB.NET, PHP, NodeJS and most recently Python. Understanding of good application architecture, object oriented programming, Model View Controller principles and version control systems. I have a good knowledge of SQL, and am happy constructing database queries and designing database schemas. Knowledge of database performance issues and techniques for optimising for scale.
- Frontend development Expert at building standards compliant websites using HTML, CSS and JavaScript. Can take a flat design to a CSS standards compliant website quickly and accurately. Strong knowledge of cross browser compatibility issues and using build tools such as Sass and Grunt. Able to create wireframes and discuss and advise on usability and interface issues with designers and clients.
- Communication Adept at communicating at all levels and disciplines, including report writing and presentations. Can adjust tone and level of communication to reflect end audience and am often required to communicate technical concepts to sales staff, clients or designers.
- Technical leadership Led and worked in teams with designers, developers and clients. Can analyse and identify appropriate needs and technologies for particular projects. Described as a ”‘safe pair of hands” that can be relied upon to deliver to deadlines. Sets and maintain code quality and consistency standards.Mentors and provides training to 6+ team members. A quick learner and can adapt and learn whatever is needed for a particular project. Always able to find technical solutions through creative thinking.
- PHP (advanced), ASP/ .NET (advanced), Python (Basic), NodeJS (advanced), Drupal (expert)
- Javascript (expert), AngularJS (advanced), backbone (expert), jQuery (expert), Ember (basic)
- HTML (expert), CSS (expert), Sass (expert)
- Project management: Agile & waterfall
- Photoshop and digital graphics (advanced)
- LAMP server setup and maintenance (advanced), nginx, varnish (basic)
- Microsoft IIS 6-8 and SQL server (basic)
- Windows (expert), Mac OS X (expert), Linux (advanced)
Professional Highlights
- Introduction of build tools, automated code quality checks and project processes to a 7 person development team at Incuna, allowing faster development and more time spent on revenue generating work.
- Rapid prototyping of an iPad app to show the effects of eye disease. Built from the initial brief in two days using HTML5 canvas, iPad camera and Apache Cordova. Produced a quality product combining new technologies to an aggressive deadline and impressed the client to commission a full project.
- Lead developer for one of the largest Drupal sites in the UK. Performed performance optimisations to improve page load speed across the technology stack at database, code and server level. Made frequent client visits and exemplary communication made me the main client contact.
Career Experience
December 2011 - Present: Lead Developer - Incuna Ltd.
- Worked on a multitude of tasks and technologies including Python/Django websites, single page web apps for desktop and mobile in AngularJS and BackboneJS, as well as mobile apps built with the Titanium and Cordova frameworks. Demonstrated ability to quickly grasp new and varied technologies.
- Pioneered the use of development aids such as Grunt and Docker to automate and speed up tasks during project setup and development, resulting in greater team throughput and company profit.
- Supervisory role for team of 6+ frontend developers. Constantly mentoring and training team members with a wide range of skill levels and personalities. Mentoring often takes the form of pair programming where I try to impart technical design and architecture considerations as well as specific solutions. A departing team member told me “I learned more from you than the last 10 years of coding”.
- Performed recruitment duties including giving interviews and assessing code test results.
- Responsible for ensuring code quality for frontend team. Introduced automated frontend code quality tests and style guides to help with consistency, maintainability and stability of code.
- Refactored entire library of most used product to include documentation, and be easier for developers to use increase productivity and rate of work = profits
April 2011 - December 2011: Drupal Developer - Torchbox Ltd.
- Applied extensive Drupal expertise with contributed modules to create user communities, automated mailouts and template layouts for major nonprofit organisations. Showed complex problem solving skills troubleshooting sites using up to 160 modules.
- Scoped, planned and developed modules and features for Drupal, including reusable white label features. Owned projects and features end-to-end. Quickly mastered custom Python build system.
- Experience using Agile project management styles including Kanban and feature-driven development.
- Lead developer for largest Drupal site in country. Performed performance optimisations to improve page load speed across the technology stack at database, code and server level. Made frequent client visits and exemplary communication made me the main client contact.
Feb 2009 - April 2011: Lead Developer - Subject centre for Languages, Higher Education Academy
- Strategic technical role. Performed requirements scoping on projects. Advised on UX and accessibility best practice. Also gave strategic advice on emerging web technologies suitable to the organization.
- Supervisory responsibility for two junior developers whom I trained and mentored. Implemented issue tracking systems and new working practices to streamline productivity.
- Project managed, coded and delivered the website and CRM for a major government teaching project to a tight deadline and small budget using open source software. Significant usability efforts allowed remote admin staff to use the system, saving the business time and money. Demonstrated planning skills and the ability to bring a project in on schedule, as well as complex PHP database design.
- Fully designed and developed a windows app and online elearning system to allow nontechnical academics to create online learning materials with little or no training. Created using jQuery for extensive form manipulation, wysiwyg editing and JSON requests with a VB.NET backend. Highly successful and still in use across the country by hundreds of academics today.
- Planned and migrated entire 15+ website portfolio from a legacy Microsoft server to a managed PHP/MySQL Linux server platform with greater redundancy and reliability. Executed this migration with no disruption in service to visitors and minimum of disruption to content editors, demonstrating vital communication and planning skills.
Feb 2007 – Feb 2009: Web Developer - Subject centre for Languages, Higher Education Academy
- Performed audit and analysis on suitable CMS solutions for a major project, settling on the Drupal framework for its flexibility and community. Learned, implemented and customised Drupal, and developed custom modules for functions where existing solutions could not meet business needs.
- Bespoke Drupal module and theme work making extensive use of PHP, xHTML, CSS and Javascript.
- Migration of bespoke legacy .NET CMS to the new Drupal platform, including legacy database migration, content, taxonomies and theme.
- Provided training for non technical staff using new systems at appropriate level for the audience.
- Setup and maintained IIS 6 web servers for sites with around 25,000 total unique visitors per month.
2003 - Sep 2006: Web Consultant - School Of Physics and Astronomy, Univ. of Southampton
- Managed and implemented entire process from initial client requirements scoping to design and development. Advised on usability and accessibility improvements and best practice.
- Implemented Agile design/development process with stakeholder to get rapid feedback
Education & Qualifications
2003 - 2006: Doctorate (PhD) - University Of Southampton
Thesis Title: Surface Effects in Liquid Crystal-Polymer Structures- Research on surface effects in liquid crystal cells. The project was heavily reliant on computer modelling and simulation. This required in-depth mathematical programming and data manipulation. Experience using MATLAB language.
- Key Skills: Working under pressure to deadlines, self-motivation and task planning, working in a team, presentations of 30+ minutes and poster design and presentation.
1999 - 2003: MPhys Physics Masters Degree, Upper Second Class Honours - University Of Southampton
- Including basic electronics, programming, presentation skills and report writing in the form of a 3 month dissertation and a final year project for which I received a first class equivalent grade.
- Key Skills: Problem solving and the ability to analyse a situation or task and quickly identify the most efficient way to tackle it
2010: ITIL V3 Foundation certificate - British Computer Society
1997 - 1999: A-levels; Computing (A), Physics (B) and Mathematics with Applications (B)
Taunton's College, Southampton, UK
1996 - 1997: GCSE's - Two A*'s, one A, four B's and two C's.
Interests and other activities
President: University Games Society. Drafted new constitution for student union. Increased membership by 600%.
Hobbies: SciFi, photography, video editing, distillery tours, DIY, home architecture, gaming, technology.