I have upwards of 6 years' experience delivering successful web solutions. I developed a passion during my teenage years, and I continue to love both the creativity and power of web technologies. I work well both individually, and as part of a team. I am a self-motivated, quick learner, and take great pride in my work.
Below is a snapshot of some of the technologies I know best. You'll also find a timeline of the projects I've worked on. Both elements are interactive, and you can use your keyboard to navigate between slides.
With well over 6 years of experience, I have an expert understanding of HTML. In all of my work, I strive to create clear, concise markup. I am particularly excited by recent developments in the language, and utilise these to develop richer, semantic code (using micro and meta data forexample). In the past year, I have worked with a number HTML5 APIs, including Offline & Storage (for drag and dropping), and Performance & Integration (for XHR and multipart form data). It's no surprise that the majority of the questions I answer on Stack Overflow pertain to HTML problems.
I have been using CSS since 2005, and have an excellent understanding of the technology. Since the advent of media queries in CSS3, I have been developing responsive layouts which look great on all viewports. My designs harness the extra capabilities of CSS3, allowing me to do far more without the need for excess DOM manipulation. I think this page is a really good example of that.
In my previous role at MyOptique Group, I created a range of touch-friendly, bespoke components on the Glasses Direct website (including the Pub-Sub home trial and favourites APIs, the infinite scroll and the product showcase interactions). The site subsequently won the Retail Week Customer Experience 2015 award for Outstanding Digital Experience.
Testing was at the heart of the development at MyOptique Group. I implemented Continuous Integration using QUnit and SinonJS, and wrote my own test suite to provide assurance that major refactors could take place without changing the resulting DOM & CSSOM.
I have over two years' experience of working with Django, which I first used to develop this site . In that time I have worked with a plethora of Django plugins (including GeoDjango, Rest Framework and Django CMS) to create performance oriented websites and APIs.
Unlike many developers who learn Django, I discovered Python first, which enabled me to quickly get to grips with the framework. I really enjoy working with Django, not simply for its well structured MVT approach and superb documentation, but also because, like Python, it comes very much "batteries included". I have worked with Django to develop scalable, responsive websites.
I have over two years' experience of using Sass to write functional CSS. Recently I have been working with the BEM methodology to create reusable, semantic web components. In the last few years, browser advances have enabled production use of newer additions to the language such as the flexbox model, and I thoroughly look forward to how the standard develops over time (eagerly anticipating variables!).
I have been using Python for the past four years, working with a number of frameworks including Django and Trac. I am a huge fan of the language. At CGI, I organised a number of training sessions for beginners, and have also participated in Dojos and attended Pycon UK.
I find Python's combination of readability and power particularly refreshing, especially coming from a PHP background!
In addition to this, I also wrote my own test suite to provide assurance that large scale refactoring hasn't changed a page's DOM or styling. From my experience, TDD not only reduces the likelihood of bugs creeping into production code, but also improves code quality.
I have been using Linux for over 3 years, both in a virtual environment, and as a host OS. Throughout this time, I have almost exclusively used Ubuntu (Gnome), but have also worked briefly with Fedora and RHEL.
I have worked as part of a Scrum team for over 12 months - working in 2-week sprint cycles, using Jira to plan and develop stories, and taking part in daily stand-ups and end of sprint retrospectives. I have also worked in Kanban teams, and have found both techniques to be very effective, particularly when trying to deliver large epics.
I have years of experience working with, creating and testing jQuery libraries, and I have a strong understanding of jQuery plugin development.
Almost all of the technologies which I use on a daily basis are Open Source, and I love the aspect of community and collaboration that comes with it. To date, I have developed a number of plugins for Trac, contributed to a variety of GitHub hosted projects, and continually try to help others whenever possible through sites such as Stack Overflow . I aim to contribute much more the Open Source community in the future.
I have over 3 years experience of working with Version Control Systems such as Git and Subversion, working in teams of all sizes. My current team uses a combination of GitHub, Gitflow and Continuous Integration to ensure the highest standards of code quality.
I developed my first website at age of 14. The intention of the site was clear: deliver flash games from a domain not blacklisted by the school's network. Although the project was entirely juvenile, it proved to be a life-defining venture (and was a huge success!)
Shortly after, I began using Adobe Photoshop, and instantly found a passion for graphic design. This proved to be the impetus for my first geniune project, EvenICouldDoIt.com, which provided tutorials newcomers to graphic design. The site's popularity peaked in 2007, by which point it had received over 14 million hits and been cited by many (including a US university) as a resource of high quality content.
Working 6 days a week on my International Baccalaureate qualification, and with free time at a premium, I managed to complete a few more projects, including an Arts site for a teacher at the school, and a couple more advertising local community and charity events.
At Loughborough University, I spent a great deal of time working. I worked as a barman, as a concierge, and still found some time to continue developing. The first site I worked on was XSVision.net , which at the time I intended to be the home of my own web design company.
During my holidays, I designed a site for a couple of students that provided bespoke fancy dress for new first years. I thoroughly enjoyed working on the project, and spent quite a lot of time meeting with the two of them to discuss ideas etc. The project was a great success, and I was asked to revamp the site for the following year.
After leaving Loughborough University with a First class degree in Economics, I joined the IT multinational CGI Group (formerly Logica). For around 2 years, I worked as a User-interface Engineer for an Applications Lifecycle Management tool built on top of Open Source products.
During this period I significantly consolidated my existing skills, and developed a number of new ones. I worked every day on a Python and Linux stack, and was introduced to Version Control Systems (VCS) through Subversion and Git. I developed both an Agile task board and backlog for the product, which drove the team itself to taking up Agile as a methodology.
In 2014 I joined MyOptique Group as a Front-end Developer. Between 2014 and 2015 we completely refreshed the Glasses Direct website, working in an Agile environment, using Test-Driven Development (TDD) and Continuous Integration to aid the process. A huge number of architectural changes have been made to the site, which is now faster, delivers a much better user experience and is entirely mobile-friendly.
I was fortunate enough to be heavily involved in the planning of every phase of the development and to have worked with a number of stakeholders to deliver the project on schedule.
- Best Practices Continuous Integration, Responsive design, Optimisation, Code reviews
- Databases MySQL, PostreSQL, SQLite, MongoDB
- Photoshop Since CS (8.0)
- Economics First-class degree from Loughborough University
- International Baccalaureate 38 points — Computer Science, Economics, Biology, English, Maths, German