{"id":445,"date":"2009-08-31T17:46:11","date_gmt":"2009-08-31T16:46:11","guid":{"rendered":"https:\/\/wade.one\/blog\/?page_id=2"},"modified":"2015-02-20T11:02:09","modified_gmt":"2015-02-20T11:02:09","slug":"about","status":"publish","type":"page","link":"https:\/\/wade.one\/blog\/about\/","title":{"rendered":"About"},"content":{"rendered":"<h1>Skills<\/h1>\n<p><strong>Primary languages:<\/strong> PHP, C#.net, Javascript<br \/>\n<strong>Secondary languages: <\/strong>Bash, C, C++, VB.net<br \/>\n<strong>Tertiary languages: <\/strong>Python, Ruby<\/p>\n<p><strong>Data Storage: <\/strong>MySQL (inc. clustering), CouchDB, Memcache\/Couchbase.<\/p>\n<p><strong>Concepts: <\/strong>OOP, MVC, MVVC, SOLID, REST (api\u2019s), Waterfall, \u201cAgile\u201d<\/p>\n<p><strong>PHP Particulars: <\/strong>ZendFramework 1+2, Phalcon, Symfony, Doctrine, PHPUnit<\/p>\n<p><strong>Building:<\/strong> Jenkins\/Hudson, NuGet, Composer<\/p>\n<p><strong>Support:<\/strong> Redmine (inc. writing plugins), Bugzilla<\/p>\n<p><strong>Other:<\/strong> Windows XP\/7\/8\/2003\/2008, Linux (particularly Ubuntu\/Debian),<br \/>\nHardware, usual geeky stuff. Amazon EC2\/RDS\/CF etc<\/p>\n<h1>Work History<\/h1>\n<p><i><strong>MediaSkunkWorks, York \u2013 Jan \u201915 \u2013 present<\/strong><\/i><\/p>\n<p>CTO. Returned to previous employer to continue work on the software previously written to help push it forward for release-to-market. Focus primarily on using a variety of programming languages and services to allow<em>parallelisation<\/em> of reports, <em>data analysis<\/em> and <em>real-time graphing<\/em> with <em>reduced cost<\/em>but also <em>increased speed<\/em>. For example using <em>Amazon\u2019s Lambda<\/em> for the number crunching of data out of <em>CouchDB<\/em> into a pre-computed <em>MySQL<\/em> database to power an information website.<\/p>\n<p><i><strong>Randomstorm, Wetherby \u2013 Sep \u201914 \u2013 Jan \u201815<\/strong><\/i><\/p>\n<p>Software Engineer. Rewriting of current API\u2019s to be simpler, cleaner and adhere more to <em>SOLID<\/em> as well as aiming for <em>REST<\/em> <em>principles<\/em> where currently there were very little. Use of <em>Doctrine<\/em> and some <em>Symfony<\/em>. Standardising the multiple modules currently in the systems into a coherent set of independent modules with easy data exchange between them.<\/p>\n<p><i><strong>MediaSkunkWorks, York \u2013 Jul \u201912 \u2013 Aug \u201814<\/strong><\/i><\/p>\n<p>CTO. Manager of a small development team tasked with primarily internal products moving to <em>data-driven SaaS websites<\/em> using the <em>multi-terabyte datasets<\/em>stored in <em>CouchDB<\/em>.<\/p>\n<p>Creation of backend and front-end systems for the analysis of and reporting on Google SERP pages. Built <em>bespoke CRM<\/em> for management and reporting of link building integrating with external tools to provide validation of links and correspondence management from a central, single UI. Bespoke was required due to the unique way the business is run with mass outreach and API integration \u2013 nothing was found that was suitable. Tools were designed with two purposes 1) improve performance of staff 2) provide tools to support as well as creating saleable products. Technologies used include <em>Zend Framework<\/em>,<em>CouchDB<\/em>, <em>Couchbase<\/em>, <em>MySQL<\/em>, <em>C#<\/em>, <em>HTML5\/CSS3\/Javascript<\/em> (<em>requirejs<\/em>).<\/p>\n<p><i><strong>Stickyeyes, Leeds \u2013 Apr \u201909 \u2013 Jul \u201812<\/strong><\/i><\/p>\n<p>Developer promoted to Lead Developer of the in-house data analysteam\/structure team. Focusing more on fully fledged programs built in PHP. Heavily MVC orientated (including Zend Framework). Also implementation of other design patterns such as singletons (primarily used for PDO connections), factories (for the distributed job system), proxy classes (to enforce separation of data from code) and the observer pattern (to allow plugins to core system modules).<\/p>\n<p>Day-to-day administration of the node network of over 100 \u201cworker\u201d servers in various locations around the world. The worker servers run custom software I wrote in PHP to deal with jobs from a queuing system (customized beanstalkd \u2013 available on GitHub) that now forms the core of the business and allows other developers to easily deploy new scripts that required large, distributed data processing: a system that allows easy horizontal scalability just by adding new servers.<\/p>\n<p>Set up and wrote map\/reduce jobs running on our own 4TB CouchDB cluster to allow migration away from MySQL.<\/p>\n<p>Also created websites for clients such as www.gamingsupermarket.com, based on Zend Framework\u2019s MVC pattern.<\/p>\n<p>Wrote custom node management software in .NET (C# and VB) which was ported to Linux using Mono as well as writing a custom QT scriptable web browser in Python for integration into our node network system written in PHP (also available on GitHub).<\/p>\n<p><i><strong>CleverClover, Wakefield \u2013 Nov \u201907 \u2013 Apr \u201809<\/strong><\/i><\/p>\n<p>Website Developer for a web design company involving lead project developer roles.<\/p>\n<h1>About<\/h1>\n<p>I\u2019ve been an avid developer since I first got a PC when I was 11 years old, initially playing with Basic and CompuServe Page Builder. I did not pursue it as a career really until my first full time job at a removal company where I wrote their invoicing and job management software in VB.net and also built their website. After that I got Clever Clover to give me a job and rapidly went up from there, \u201cmoving up the ranks\u201d as it were. I\u2019m not a fan of titles for developers when talking to each other but for the sake of job seeking I\u2019ve been a lead, senior and CTO.About Me<\/p>\n<p>Outside of programming I am still very geeky as my favourite hobby is video games, particularly MMO\u2019s which I\u2019ve been playing now since I was a teenager. I do however also like home DIY projects, snowboarding \u2013 particularly in Canada and socialising at the pub \u2013 where I generally end up discussing concepts to do with programming admittedly, I think that\u2019s called passion though!<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Skills Primary languages: PHP, C#.net, Javascript Secondary languages: Bash, C, C++, VB.net Tertiary languages: Python, Ruby Data Storage: MySQL (inc. clustering), CouchDB, Memcache\/Couchbase. Concepts: OOP, MVC, MVVC, SOLID, REST (api\u2019s), Waterfall, \u201cAgile\u201d PHP Particulars: ZendFramework 1+2, Phalcon, Symfony, Doctrine, PHPUnit Building: Jenkins\/Hudson, NuGet, Composer Support: Redmine (inc. writing plugins), Bugzilla Other: Windows XP\/7\/8\/2003\/2008, Linux (particularly &#8230; <a href=\"https:\/\/wade.one\/blog\/about\/\" class=\"more-link\">Read More<span class=\"screen-reader-text\"> &#8220;About&#8221;<\/span> &raquo;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"open","ping_status":"open","template":"","meta":{"footnotes":""},"class_list":["post-445","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>About - wade.one<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/wade.one\/blog\/about\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"About - wade.one\" \/>\n<meta property=\"og:description\" content=\"Skills Primary languages: PHP, C#.net, Javascript Secondary languages: Bash, C, C++, VB.net Tertiary languages: Python, Ruby Data Storage: MySQL (inc. clustering), CouchDB, Memcache\/Couchbase. Concepts: OOP, MVC, MVVC, SOLID, REST (api\u2019s), Waterfall, \u201cAgile\u201d PHP Particulars: ZendFramework 1+2, Phalcon, Symfony, Doctrine, PHPUnit Building: Jenkins\/Hudson, NuGet, Composer Support: Redmine (inc. writing plugins), Bugzilla Other: Windows XP\/7\/8\/2003\/2008, Linux (particularly ... Read More &quot;About&quot; &raquo;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/wade.one\/blog\/about\/\" \/>\n<meta property=\"og:site_name\" content=\"wade.one\" \/>\n<meta property=\"article:modified_time\" content=\"2015-02-20T11:02:09+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/wade.one\/blog\/wp-content\/uploads\/2015\/02\/Wade-Logo-cropped.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1518\" \/>\n\t<meta property=\"og:image:height\" content=\"1506\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@wadewomersley\" \/>\n<meta name=\"twitter:label1\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/about\\\/\",\"url\":\"https:\\\/\\\/wade.one\\\/blog\\\/about\\\/\",\"name\":\"About - wade.one\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/#website\"},\"datePublished\":\"2009-08-31T16:46:11+00:00\",\"dateModified\":\"2015-02-20T11:02:09+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/about\\\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/wade.one\\\/blog\\\/about\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/about\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/wade.one\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"About\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/wade.one\\\/blog\\\/\",\"name\":\"wade.one\",\"description\":\"wade womersley - york based software engineer\",\"publisher\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/#\\\/schema\\\/person\\\/8b4739f8f8bb2cff5d792d4b8779fcc3\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/wade.one\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/#\\\/schema\\\/person\\\/8b4739f8f8bb2cff5d792d4b8779fcc3\",\"name\":\"Wade Womersley\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/02\\\/200px.png\",\"url\":\"https:\\\/\\\/wade.one\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/02\\\/200px.png\",\"contentUrl\":\"https:\\\/\\\/wade.one\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/02\\\/200px.png\",\"width\":202,\"height\":200,\"caption\":\"Wade Womersley\"},\"logo\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/02\\\/200px.png\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"About - wade.one","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/wade.one\/blog\/about\/","og_locale":"en_GB","og_type":"article","og_title":"About - wade.one","og_description":"Skills Primary languages: PHP, C#.net, Javascript Secondary languages: Bash, C, C++, VB.net Tertiary languages: Python, Ruby Data Storage: MySQL (inc. clustering), CouchDB, Memcache\/Couchbase. Concepts: OOP, MVC, MVVC, SOLID, REST (api\u2019s), Waterfall, \u201cAgile\u201d PHP Particulars: ZendFramework 1+2, Phalcon, Symfony, Doctrine, PHPUnit Building: Jenkins\/Hudson, NuGet, Composer Support: Redmine (inc. writing plugins), Bugzilla Other: Windows XP\/7\/8\/2003\/2008, Linux (particularly ... Read More \"About\" &raquo;","og_url":"https:\/\/wade.one\/blog\/about\/","og_site_name":"wade.one","article_modified_time":"2015-02-20T11:02:09+00:00","og_image":[{"width":1518,"height":1506,"url":"https:\/\/wade.one\/blog\/wp-content\/uploads\/2015\/02\/Wade-Logo-cropped.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_site":"@wadewomersley","twitter_misc":{"Estimated reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/wade.one\/blog\/about\/","url":"https:\/\/wade.one\/blog\/about\/","name":"About - wade.one","isPartOf":{"@id":"https:\/\/wade.one\/blog\/#website"},"datePublished":"2009-08-31T16:46:11+00:00","dateModified":"2015-02-20T11:02:09+00:00","breadcrumb":{"@id":"https:\/\/wade.one\/blog\/about\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/wade.one\/blog\/about\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/wade.one\/blog\/about\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/wade.one\/blog\/"},{"@type":"ListItem","position":2,"name":"About"}]},{"@type":"WebSite","@id":"https:\/\/wade.one\/blog\/#website","url":"https:\/\/wade.one\/blog\/","name":"wade.one","description":"wade womersley - york based software engineer","publisher":{"@id":"https:\/\/wade.one\/blog\/#\/schema\/person\/8b4739f8f8bb2cff5d792d4b8779fcc3"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/wade.one\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":["Person","Organization"],"@id":"https:\/\/wade.one\/blog\/#\/schema\/person\/8b4739f8f8bb2cff5d792d4b8779fcc3","name":"Wade Womersley","image":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/wade.one\/blog\/wp-content\/uploads\/2015\/02\/200px.png","url":"https:\/\/wade.one\/blog\/wp-content\/uploads\/2015\/02\/200px.png","contentUrl":"https:\/\/wade.one\/blog\/wp-content\/uploads\/2015\/02\/200px.png","width":202,"height":200,"caption":"Wade Womersley"},"logo":{"@id":"https:\/\/wade.one\/blog\/wp-content\/uploads\/2015\/02\/200px.png"}}]}},"jetpack_sharing_enabled":true,"jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/pages\/445","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/comments?post=445"}],"version-history":[{"count":5,"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/pages\/445\/revisions"}],"predecessor-version":[{"id":1088,"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/pages\/445\/revisions\/1088"}],"wp:attachment":[{"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/media?parent=445"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}