4
John Carmichael - C.V. - July 2016 Contact Details Name: John D Carmichael Current Address: Germaniastraße 15a, 80802, München, Germany Telephone: ++49 (0)176 2201 6230 Email: [email protected] Blog: www.beingyesterday.com D.O.B.: 06 th March 1984 Personal Profile A friendly, hard working problem solver who likes a challenge and thrives producing web or mobile applications and sites, from developing to architecting. Always excited about, and engaging with, new tools, systems and technologies. Experienced with working via Agile, Waterfall and Extreme methodologies with a preference toward Agile/Kanban. Currently loving the MEAN stack world but with plenty of experience in a *AMP environment as both a *AMP developer or linux mid-level administrator. Experienced with a range of CMS's but with a strong preference toward building applications. Relevant Skills Frameworks : Laravel 5+, Symfony2 , Express, Node JS, AngularJs, jQuery, Appcelerator, Bootstrap CMS : eZpublish 4, Kirby cms, Wordpress, October cms, 2spring-cms (own cms), others OS (desktop) : Windows, Mac OS, Ubuntu, Linux Mint, Virtual Machines OS (server) : Debian, Ubuntu, FreeBSD, vSphere, general exposure to Active Directory. Cloud : AWS, Rackspace & Linode IaaS Linux : Mid-level security administrator with Apache security modules such as mod-evasive/security, linux based tools such as psad, fail2ban, lynis. PM2 for micro-service management of micro NodeJS services. All the usuals such as open-ssh server, rsync, Nagios, cron jobs. Plenty of years with Apache vhosts and proxies. Server scripting: PHP, Node. Some basic exposure to Java and Python. Database : MySQL, Mongo, Solr, Redis Transport : JSON, XML Templating : Twig, Swig, Numchucks, Smarty and of course PHP. Client Side : HTML, Javascript, CSS (SASS and LESS), Gulp and custom Node build tools. TDD : Selenium web driver, nightwatch js, mocha & chai. P.M. Tools : Jira, Conluence, Trello, Scrumwise VCS : SVN and Git. Either via 3 rd party tools eg Bitbucket or private repo configurations. Other : UX/UI, Google API's (SSO to Analytics), Piwik, Facebook SSO, Cygwin tools for Windows', MailChimp, Sendgrid, Adobe (Ps, Ai, Fl, Fw, Id), CAD (Solidworks, AutoCAD), MS/Open, Office, Sharepoint, Idea communication via any medium available from voice to online tools to pen and paper... An adaptable skill and mindset. Preferred IDE : PHP/Web Storm. Page 1 of 4

2016_07_20_CV_John_Carmichael

Embed Size (px)

Citation preview

Page 1: 2016_07_20_CV_John_Carmichael

John Carmichael - C.V. - July 2016

Contact DetailsName: John D CarmichaelCurrent Address: Germaniastraße 15a, 80802, München, GermanyTelephone: ++49 (0)176 2201 6230Email: [email protected]: www.beingyesterday.comD.O.B.: 06th March 1984

Personal Profile A friendly, hard working problem solver who likes a challenge and thrives producing web or mobile applications and sites, from developing to architecting. Always excited about, and engaging with, new tools, systems and technologies. Experienced with working via Agile, Waterfall and Extreme methodologies with a preference toward Agile/Kanban. Currently loving the MEAN stack world but with plenty of experience in a *AMP environment as both a *AMP developer or linux mid-level administrator. Experienced with a range of CMS's but with a strong preference toward building applications.

Relevant SkillsFrameworks : Laravel 5+, Symfony2 , Express, Node JS, AngularJs, jQuery, Appcelerator, Bootstrap

CMS : eZpublish 4, Kirby cms, Wordpress, October cms, 2spring-cms (own cms), othersOS (desktop) : Windows, Mac OS, Ubuntu, Linux Mint, Virtual MachinesOS (server) : Debian, Ubuntu, FreeBSD, vSphere, general exposure to Active Directory.Cloud : AWS, Rackspace & Linode IaaSLinux : Mid-level security administrator with Apache security modules such as mod-evasive/security,

linux based tools such as psad, fail2ban, lynis. PM2 for micro-service management of micro NodeJS services. All the usuals such as open-ssh server, rsync, Nagios, cron

jobs. Plenty of years with Apache vhosts and proxies. Server scripting: PHP, Node. Some basic exposure to Java and Python.Database : MySQL, Mongo, Solr, RedisTransport : JSON, XMLTemplating : Twig, Swig, Numchucks, Smarty and of course PHP.Client Side : HTML, Javascript, CSS (SASS and LESS), Gulp and custom Node build tools.TDD : Selenium web driver, nightwatch js, mocha & chai.P.M. Tools : Jira, Conluence, Trello, ScrumwiseVCS : SVN and Git. Either via 3rd party tools eg Bitbucket or private repo configurations.Other : UX/UI, Google API's (SSO to Analytics), Piwik, Facebook SSO, Cygwin tools for Windows',

MailChimp, Sendgrid, Adobe (Ps, Ai, Fl, Fw, Id), CAD (Solidworks, AutoCAD), MS/Open, Office, Sharepoint, Idea communication via any medium available from voice to online tools to pen and paper... An adaptable skill and mindset.

Preferred IDE : PHP/Web Storm.

Page 1 of 4

Page 2: 2016_07_20_CV_John_Carmichael

John Carmichael - C.V. - July 2016

Relevant Work Experiences

Company: Acrontum GmbH, Munich, Germany Duration: November 2015 – PresentPosition: Senior Web DeveloperDetails:

A digital agency based near the city centre of Munich. Adhering to Agile principles we tackled a range of clients from big to small. Below are some of the finer details of the bigger projects:EON:NodeJS micro-services delivering real time data on house-hold smart meters via an ionic mobile app. A senior developer amongst a complex team structure, my main area of responsibility was the apps dynamic notificationmicro-service. As part of a larger network of micro-services secured with JWT based interfaces, the notificationservice pulled and delivered data from many services, with push notifications delivered from Urban Airship. Tests in Chai and Mocha, maximum code coverage and of course, non-blocking.

BMW: Laravel 5.2 at the backend, AngularJS 1.5 at the front, LESS as the CSS pre-processor and a team of 3 full-stack developers we turned around a now live and in production application serving a group of up to 7000 internal staff worldwide. The application was designed to communicate live events and issues to different user groups in real time enabling the 1st line support to interface with customers on the phone with the most up to date information. All data relative to local user time zones whilst being wrapped in an extremely granular permissions system. The app streamlined a previous group of systems enabling a single sign on to access multiple banks of data, as well as pushing new data into a pre-existing BMW ticketing systems. The server architecture behind the scenes was modular based for scalability, a load balancer leading to plug and play http servers each communicating to a main MySQL database server which was then continually replicated and periodically backed up off site.

Many other sites, either inherited or as new clients or internal agency tools (that unfortunately I can't mention):• https://www.deutschland-nederland.eu/ Inherited from another agency, this a wordpress based site handling

multiple translations via the WPML wordpress plugin. The site imported new content on a daily bases via acustom data migration tool interfacing with an old internal database system via a custom middleware.

• A small number themes written for Kirby-cms and sold under the acrontum name at http://www.getkirby-themes.com/authors/acrontum

• Internal car comparison tool for BMW built with AngJs and SASS coupled to a Laravel 5.2 back end. The tool pulled data via an interface accessed over a secure REST API and displayed data automatically highlighting differences between car models to the end user.

Club: Outgoing Digital, Leeds, UKDuration: November 2014 – September 2015Position: Dev. lead / systems architectDetails:

A select group of freelancers trading behind the name of Outgoing Digital. As a new group we originally tackled a small range of small sites written predominately in Kirby-CMS, until we struck upon an idea for a social wishlist mobile/web app titled, GEENEE.

I led the team in building GEENEE.org on the MEAN stack. The trick with this project was handling irregular work times and remote developers. Settling on a <git> to <local> to <common dev server> via rsync, we were able to maintain good levels of communication for both visual and technical members of the team. From past experience working with remote teams complete transparency is key, as lack of communication typically leads to isolated thinking and inefficiencies.

The overall stack worked on proxy passes to individual dev sites all mapped to individual sub domains of a global dns. The chosen stack, SASS + AngularJS front end with local storage, coupled with NodeJs + express ++ Mongo back end. Redis & PM2 to keep the whole setup alive.

A great application I still believe has legs, but after a shakey start and waining confidence the idea was shelved.

Page 2 of 4

Page 3: 2016_07_20_CV_John_Carmichael

John Carmichael - C.V. - July 2016

Company: Alastair Sawday Publishing, Bristol, UKDuration: November 2014 – October 2015Position: Freelance Developer, from Leeds, UKDetails:

After leaving Sawday's as a full time developer I continued to work for approximately another year for them as a freelance full-stack developer based in Leeds. Aside from general support and small stories and tasks, there were 4 main projects I led during this time period:

• iOS mobile app: A new release of the offline “Pubs” app built using Appcellerator.• Guest account creation: To allow guests to sign up for an account from multiple touch points across the

family of sites whilst keeping copy content managed from a single point. The end product was a single widget, universally deployable across multiple sites and integrable with eZ Publish + Salesforce CRM.

• Geolocation search: Using a separate Solr core to determine the lng lats of a place name in any of 5 countries we were able to then use geo spatial searches to return search results within a given radii of a select point. The complexity was multiplied with the search omni box capable of handling 4 different search types.

• Automated testing. One of the last major projects undertaken with Sawday's was building and configuring a full end to end test suite for all three of their major sites with an an estimated coverage of70% of the previously manual hand tested scripts.

Company: Alastair Sawday Publishing, Bristol, UKDuration: June 2012 – October 2014Position: Full stack developer and stand in IT supportDetails:

A full time member of the scrum team, with an expertise in PHP and JavaScript, I helped to build and maintain almost all of the digital work released between 2012 and late 2014. Projects ranging from Solr search to booking systems to in-context editing to SEO projects with the eZ Publish 4 framework, as well as iOS apps with Appcellerator. Working via scrum/agile methodologies resulted in plenty of hands on experience on all areas of the site from UX/UI right through to cache considerations via Varnish for site performance.

As stand in IT support I assisted in a company wide transition to MS Server 2012 with active directory as well as 1½ year phase out of Apple machines. My role typically involved trouble shooting issues with local machines all the way up to roles and policies. This role coupled with the developers role was fairly stretching attimes, however this role was fortunately fairly infrequent.

Sawday's was a great company to work for with a friendly and creative team. Working in a Scrum fashion really diversifies your horizons with regard to team collaboration. Communication is key, and there can rarely be too much (although it can be a challenge to keep a lid on scope creep with a committed creative team).

Company: 2spring-CMS, BristolDuration: January 2011 – May 2013Position: Owner, developer, architect, UX/UI, marketing.Role:

2spring-cms was a remote CMS with multiple clients who were them selves web designers. 2spring-cms ran off a custom built PHP MVC framework as well as utilising a multitude of 3rd party libraries from ImageMagick to phpseclib. The system was built within a few months and grew feature by feature over the coming years from image galleries to repeatable regions to live news feeds. 2spring-cms's clients (the web designers) mapped content to their clients websites within 2spring-cms and gave their clients sub account details to access and edit said content. The new content was written into flat html files and synced over to the production servers of the web designer's clients via ftp or sftp.

A hugely challenging but rewarding project. The system ran on a Debian OS behind a load balancer to allow for ease of scalability. Ultimately the business became too time consuming to run vs. the monetary reward it yielded. Similar products on the market at the time were pagelime.com and couchcms.com.

Page 3 of 4

Page 4: 2016_07_20_CV_John_Carmichael

John Carmichael - C.V. - July 2016

Company: DeRep Ltd, LeedsDuration: January 2010 – May 2012Position: Web DeveloperDetails:

DeRep is a report writing tool for secondary school teachers, a start up at the time funded by investors, my role at DeRep was all round developer. A LAMP based online web service, the small team at DeRep worked in a waterfall/extreme fashion, design and functional criteria coming from the founder. During the BETA release in 2011 we generally worked to what I now know to be called extreme coding; fixing and building as we went with no real concept of projects. This experience was fun and most definitelyteaches you to code/ work under pressure. A broad role, experiencing the installations of forums such as phpBBand SMF, file sharing via Pydio (later switching to Own Cloud) and general server maintenance (eg MySQL database replication, security patches etc) as well as writing some of the complex back-end algorithms.

Company: Freelance web developerDuration: November 2009 – January 2011Position: Web DeveloperDetails:

Working closely with alphacreativedesign.com I built and helped build many sites ranging from commerce to general CMS sites using the limited wonders of Wordpress (with some limited exposure to pre-symfony Drupal). This period of my career as a web developer really gave me the foundation layer of the real world experience that you don't pick up from university.

Company: Hardy & Greys, AlnwickDuration: August 2008 to March 2009Position: CAD EngineerDetails:

Although not directly related to the new world of coding I have found myself thriving in; it was the CAD work at Hardy and Grey's after university that lead me to OpenOffice.org Calc and Base which ultimately opened thedoors to my current profession.

EducationDegree: 2-1 Technology and Product Design from Northumbria UniversityA-Levels: Maths, Physics, Chemistry, Product Design from Ilkley Grammar School GCSE: Maths, Double Science, Art, Resistant Material Design, English Lit & Lang,

German, Religious Studies, Physical Education from Guiseley Secondary School

General Likes & Interests- Science and Technology. - Surfing. One of the reasons Bristol appealed to me in the first place, the proximity to more frequent (all be it more crowded) and warmer swells than the North East of England. - Snowboarding, although I have only had lessons I cannot wait to put these lessons to the test on some real mountains and snow. - Music, socialising and all the typical things...

General Dislikes• Wordpress, Magento (we tackled a site at acrontum in magento, hopefully never again) and any other poor

frameworks.• Poor communication.• Disorganisation.

Current Main ChallengeAfter settling in the new way of life in Munich, getting to a fluent level in German will be the ongoing challenge for at least the next year.

Page 4 of 4