SQL Developer in Kayseri, Kayseri Province, Turkey
Freelance Web Developer | Formerly Team Leader2012 - PRESENTWolf & Badger
- Took on a functioning but struggling project and turned it around into an award-winning eCommerce web site, with the business continuing to grow 2-3 times year on year.
- Utilized my expertise in Python and Django to fix major performance problems on key pages.
- Implemented various designer-supplied graphical designs in HTML/CSS—adapting them to add responsive features.
- Worked with client to identify business needs, while utilizing knowledge of web trends, to both drive the business forward and enable subsequent large refactorings and cleanups.
- Scaled the development team up from being the sole member to a distributed team; including doing recruiting and online technical interviews, and introducing code review and other quality controls.
- Continued to implement large scale changes to the codebase to cope with new business needs - for example, converting the project to be multi-currency.
- Developed and released the testing library "Django-Functest" to aid testing requirements.
Freelance Web Developer2008 - 2011Cardiff University School of Medicine
- Participated in the design of a UI that emphasized semantic editing and designer-defined styling in order to make consistent styling across the site possible.
- Integrated into the editor a layout system that allowed users to create multicolumn layouts without the need for special templates or editing HTML.
- Implemented all of the above as a plugin to a Django CMS that was released as an independent open source project.
Software Developer2004 - 2006Diagonal Solutions
Technologies: C#, ASP.NET, Microsoft SQL Server
- Implemented bespoke, web-based business applications for government bodies—police departments and local councils—using C# and ASP.NET.
- Used and extended the company's in-house enterprise CMS solution.
- Delivered websites to exacting accessibility standards for public sector bodies.
- Used test-driven development to produce software of the highest quality.
Freelance Developer2002 - 2004Federal Mogul
Technologies: MS Excel, MS SQL Server, VBA
- Developed bespoke software for internal order processing.
- Performed business analysis of their existing ordering processes in order to provide equivalent software solutions, streamlined where possible.
- Worked within software constraints of a multinational company to provide accessible software.
- Provided end-to-end support for a new system from design to installation.
- Iterated a software solution rapidly in response to user needs and further business process clarifications.
- Django (Development)https://www.djangoproject.com/
Django has become a world-leading Python web framework—for perfectionists with deadlines—used by large companies like Instagram and Pinterest and many thousands of smaller ones.
I joined the team as a core developer in 2006, and I've worked on a range of components—including contributing to the CSRF protection and parts of the template parser and many smaller features and fixes, often security related.
- Django-Functest (Development)https://github.com/django-functest/django-functest/
I wrote the library, extracting it from several projects that needed the functionality, and am currently maintaining it.
- Christian Camps in Wales (Development)https://www.cciw.co.uk/
I created and maintain the website for this charity. As a volunteer staff member, I analyzed and converted existing paper procedures into online versions (staff application, reference collection, police checking and camper booking and secure payment).
Due to handling sensitive information, it has to be done to the highest standards, with carefully implemented permissions that cope with continual roll-over of staff.
This project benefits greatly from its use of Django and has extensive functional and unit testing. I have also used charting and visualizations to highlight problems and progress with regard to compliance with the charity's own regulations.
All source code is released under an open source license.
- Learn Scripture (Development)https://learnscripture.net/
This is a Bible memorization website that I created and maintain. It sports a streamlined and accessible interface, simple enough to be used by children while also working well for adults, plus motivational and social features to keep users' interest.
From the beginning, it was designed to work well on mobile devices in terms of being responsive to screen size, touch screens, and bandwidth constraints.
To support some of the testing methods that users choose, it uses Markov chains for textual analysis to generate candidate word choices.
Implemented using Django, Celery, PostgreSQL, and jQuery.
- Django-PayPal (Development)https://github.com/spookylukey/django-paypal/
A library to bridge between Django and PayPal; it got 400 stars on GitHub and I'm currently the sole maintainer.
- Ensuring Clean Code: A Look at Python, Parameterized (Publication)We’ll explore the application of parameterization and how it relates to mainstream design patterns such as dependency injection, strategy, template method, and others. In Python, many of these are made unnecessary by the fact that parameters can be callable objects or classes.
FrameworksDjango, Selenium, Django REST Framework
Libraries/APIsDjango ORM, jQuery, Fabric, SQLAlchemy
ToolsEmacs, Git, Sentry, Celery, Nginx, uWSGI, GitHub, Mercurial
ParadigmsFunctional Testing, Unit Testing, Test-driven Development (TDD), Functional Programming
PlatformsLinux, New Relic, Mailgun
StorageMySQL, PostgreSQL, SQLite
OtherGunicorn, Integration Testing
- Master of Science in Natural Sciences2001 - 2002University of Cambridge - Cambridge, UK
- Bachelor of Arts with honors in Natural Sciences1998 - 2001University of Cambridge - Cambridge, UK