Skills & Tools


I enjoy bringing complex project ideas to life. I get the same immeasurable pleasure from writing an API, developing a new plugin or creating a fully-responsive working website as artists get from painting a masterpiece. My innovative mind never stops, which I believe allows me to create more efficient, faster, elegant code with fewer overheads and in fewer lines.

Another skill (maybe not a skill?) is the cleanliness of my code. I’ve worked on countless projects where previous developers have written questionable, inefficient, tangled webs of messy code. Yes, the code somehow worked, but it could have been written so much better. I quickly learned that it’s not always possible to rewrite bad code by previous developers (budget and/or time constraints), but one thing I could do is ensure the next developer wouldn’t look back at my code and think the same. I adhere to the PSR-2 Coding Style standard (almost obsessively) as it’s not only clean but extremely easy to read.

Hopefully, this page will serve as an overview of my current skill set and what I can achieve.

Languages

  • PHP 7I write code that is fully PHP 7+ compatible whilst retaining 5.3+ backwards compatibility where possible.
  • MySQL Database/MySQLI DatabaseIncluding database creation, creating indexes, migration, backup and management.
  • jQuery + JavaScriptI'm proficient in jQuery and have written quite a few custom plugins for clients.
  • AJAXUsing jQuery, I can create dynamic and self-updating content with the help of asynchronous requests that make your website feel faster and more responsive whilst improving user interaction.
  • HTML including HTML5 specSuch as using new structural elements that better define the content on the page - header, nav, main, aside, article and footer.
  • CSS including CSS3 specI'm well-versed in the latest CSS3 techniques such as drop shadows, transitions, animations, gradients and media queries to create fully responsive websites.
  • Bootstrap LibraryMy preference in front-end libraries. Bootstraps CSS components help cut down development time by providing a solid base for developing front-end UIs quickly.
  • RESTful APIsI've integrated weather, payment, content, statistical, product, social media and many more APIs ranging from unauthenticated to oAuth2.
  • AWS/Google APIsSuch as S3, Google Maps, Google Geocode, etc.
  • Single Page Applications (or SPA's)Including Progressive Web Apps (PWA) to provide offline experiences for web users.
  • .htaccess rules and rewritesHandling redirects from WWW to non-WWW, HTTP to HTTPs, or permanent 301 redirects for moved content.

Server-Side

  • SSHWorking with command line interface terminals.
  • WAMP, LAMP, LEMP, LLMPWorking with NGINX(my personal favourite)/Apache/Lighttpd, MySQL and PHP Stack.
  • Domain Configuration & DNSConfiguring DNS A/AAAA/CNAME/MX/TXT/SPF/SRV Records.
  • Email - Postfix/Dovecot/DKIMConfiguring Postfix, diagnosing problems and setting up email digital signatures.
  • SSL and HTTPSConfiguring SSL Certs and providing a managed HTTP to HTTPs switchover, including fixing mixed-content problems.
  • Cron Scheduling (cronjobs)Cronjob management tools and/or command line scheduling (crontab -e and /etc/crontab).
  • cPanel & WHMConfiguring and hosting management.
  • Server ManagementManaging the upkeep, upgrades and maintenance of VPS and Dedicated servers.
  • Cloud ServicesSuch as Amazon cloud hosting (EC2), Digital Ocean, etc.
  • DatabaseIncluding MySQL (my preferred choice), MySQLi, etc.

Tools

  • Visual Studio CodeMy new favourite code editor!
  • Sublime TextMy old favourite editor :)
  • GitMy preferred version control software - I use this daily.
  • BitbucketMy preferred private repository host. I use this daily too.
  • GitHubI use GitHub often. I host my open-sourced projects on both GitHub and Bitbucket.
  • SassI love the dynamic style it brings to CSS - nested style rules and @mixins in particular.
  • Minification Tools Such as UglifyJS, UglifyCSS, etc

Methodology

  • Object-oriented programming (OOP)Before OOP, all of my code was written with procedural functions but since OOP, most of my code is object orientated. It helps create clean, easily maintainable code that considerably cuts down development time. I like writing logically chainable code.
  • Model-View-Controller pattern (MVC)I love the organised approach to MVC. All of my larger-scale projects are written in the MVC pattern.
  • Dependency injection (DI)Following the principle of Inversion of Control, I create flexible modular code that can be reused throughout a project.
  • ORM's like Eloquent ORMObject-relational mapping provides the middle layer between our program and our database.
  • Factory patternsI've worked with Factory Patterns on quite a few projects allowing us to push all of the heavy lifting into the 'factory' to reduce the amount of duplication in the codebase.
  • DRY - Don't Repeat YourselfWriting clean reusable modular code with less duplication.

Frameworks & CMS

  • WordPressMy goto CMS for content-based website such as news, company, schools, blogs, or magazines style websites.
  • LaravelMy preferred framework for large projects with a lot of dynamic elements. I use Laravel to create bespoke systems.
  • Slim FrameworkMy new favourite lightweight framework. I have used this on a number of smaller projects.
  • Codeigniter
  • Symfony

Future

  • ReactJSI'm currently in the process of adding ReactJS to my repertoire.

Services I Offer


Bespoke Web Development

From planning to the final product, I’m able to create a bespoke solution to your requirements. Regardless of size, I can offer custom-made bespoke development in pure PHP or a number of different frameworks.

WordPress CMS

I can build your WordPress website theme from a Photoshop PSD, JPEG, PNG or even a hand-drawn sketch. I can help bring even the most technical or complex designs to life.

E-Commerce

Whether you are looking to sell a couple of products or a couple thousand products, I can help you achieve your online shop presence.

Using Woocommerce, I can create an e-commerce store that is easy to manage, with a range of payment processing options available that can be directly integrated into your website.

Social Media

I can help integrate your social media branding into your website. Whether that’s adding social media links, automating post updates to your Facebook account, showing Twitter feeds or pulling in your latest Instagram photographs.

Modern Responsive Web Development

My development process encases modern and user-focused front-end development based on a given design.

Mobile friendly and fully responsive, you need a website that fluidly resizes to give optimal viewing on all device sizes to enable you to capitalise on all leads.

Custom WordPress Plugin Development

I have created hundreds of custom plugins over the years for clients when ‘off-the-shelf’ plugins don’t fit. Examples include custom import plugins, calculators, customisations, WooCommerce add-ons, booking management, calendars, API integration and more!

WordPress Management

I can manage the regular WordPress core updates as well as plugin updates to ensure your WordPress installation is up-to-date and fully secure.

And much more

I’m always looking to bring new interesting ideas to life, so if you have something like this in mind, please drop me a line and we can discuss the requirements.

Interested in working together to make something great? Hire Ben