Skip to content

Latest commit

 

History

History
439 lines (410 loc) · 17.9 KB

File metadata and controls

439 lines (410 loc) · 17.9 KB
title C.V.
permalink /cv/
layout page
body_modifier cv
objective <p>To evangelise best practices for both large and small scale websites and applications, encourage building forward-compatible websites, componentisation, cross-team mindshare of concepts, and trying to avoid supporting as much Internet Explorer as user statistics allow &ndash; for the sake of everone's sanity&hellip;</p>
skills
HTML|HyperText Markup Language
CSS|Cascading Stylesheets
Sass/Scss
BEM Methodology|Block-Element-Modifier Methodology
OOCSS|Object-oriented CSS
JavaScript/ES6|Ecmascript 6
React
Redux
Webpack
Git
Apache
Express
Linux
Docker
experience
company role period description
Walmart Global Tech
Senior Software Engineer
Aug. 2019 - present
<p>Currently working as part of the User-Generated Content (UGC) team responsible for the operation of the Ratings & Reviews ecosystem for Walmart.com. Striving for a community-driven, high-engagement product review experience. Dealing with 200 million customers across 27 countries, hundreds of millions of daily page views.</p>
company url role period description projects
CarTrawler
Senior Software Engineer
Aug. 2016 - Aug. 2019
<p>Striving to increase developer mindshare and knowledge of componentisation methodologies and best-practices. Encouraging cross-departmental communication to enable higher-quality deliverables and a smoother development process, while mentoring developers in code-quality and testing standards.</p>
name type role period description colophon
Next-gen Landing Pages
Infrastructure, Microsite
Core Member & Achitecture
Oct. 2018 &mdash; present
<p>Next-gen Landing Pages is an initiative to provide partner management with best-in-class tools for rapid onboarding of new partners. While the existing project requires a bespoke build per site, next-gen would instead allow for construction and content management of each page via a headless CMS and modular components.</p>
JavaScript/ES6|Ecmascript 6
React w/ server-side render
Jest (100% coverage)
Express
Contentful
Docker
Kanban
Jenkins
CI/CD|Continuous Integration/Delivery
Storybook
Acceptance Tests (Protractor)
Visual Regression Tests
Sass
OOCSS|Object-oriented CSS
BEM Methodology|Block-Element-Modifier Methodology
Monorepo Architecture
name type role period description colophon
Travel Buddy
Progressive Web App
Core Team Member
<p>A post-booking companion with the goal of easing the stress of the car rental pick-up process. Makes use of the latest technologies to allow users to store booking vouchers offline, as well as Add to Home Screen to give a native app look and feel, all while running in the device’s browser.</p>
JavaScript/ES6|Ecmascript 6
React
Redux
Jest (100% coverage)
Docker
Kanban
Jenkins
CI/CD|Continuous Integration/Delivery
Storybook
Service Worker (Pre-cache, Offline, Push Notifications)
Acceptance Tests (Protractor)
Sass
OOCSS|Object-oriented CSS
BEM Methodology|Block-Element-Modifier Methodology
Monorepo Architecture
Webpack
name type period description colophon
Prism - Styling Framework & Design System
Proprietary Project
Ongoing
<p>The Prism Styling Framework & Design System is an initiative to provide a best-in-class system to help synergise design and development functions, aiming to blur the line between when design stops and development starts and easing transition between the two, reducing friction between teams. This is accomplished by working very closely with design teams to create a standard library of known components and styles that can be called upon, at a whim, to create almost any visual representation of CarTrawler products with full confidence in their accurate representation in-browser.</p> <p>In addition to this, the Framework & Design System is helping lay the groundwork for a greater push towards a wholly componentised approach providing all teams in the company with complete access to a shared component library, allowing them to mix and match from a predefined list of on-brand, fully-tested components. This approach will eventually provide incredible stability and identical core functionality, regardless of tech stack, device, or screen size.</p>
Advanced Sass Techniques
OOCSS|Object-oriented CSS
SMACSS|Scalable and Modular Architecture for CSS
ITCSS|Inverted Triangle CSS
BEM Methodology|Block-Element-Modifier Methodology
Dynamic Living Documentation
Kanban
Visual Regression Testing
Git
Gulp
Mobile-first Design
Semantic Versioning
company url role period description projects
Paddy Power
Front-end Web Developer
Aug. 2013 - Aug. 2016
<p>Worked as part of the Paddy Power Sportsbook team, helping deliver a consistent and easy-to-use experience to millions of users per month by improving page performance and usability. Also helped in improving the lives and mental stability of in-house developers by refactoring HTML and CSS, as well as implementing best-practices and standards.</p>
name url period description colophon
In-play Betting Pages
Dec. 2014
<p>Paddy Power's newest In-play Betting Pages were developed as part of an initiative to create more in-house, best-in-class, products that would provide value to the company while simultaneously reducing dependencies on third-party clients. These pages use a number of new technologies such as AngularJS and WebSockets for realtime price updates.</p> <p>As part of working on the core functionality of the site, I also developed the initial project structure to allow the project to scale painlessly, as well as created an extensive Gruntfile that would handle a large number of tasks that were responsible for building the source files, committing the newly-built files to Git, and automatically versioning the project according to Semantic Versioning.</p>
Agile/Kanban
AngularJS
Git
Grunt
Realtime Data
Responsive Design
Sass/SCSS
Semantic Versioning
WebSockets
name period description colophon
Abacus CSS Framework
2016
<p>The Abacus CSS Framework is a powerful, modular, and lightweight CSS component library built using OOCSS and BEM notation, for use across all Paddy Power sites and products. It features a powerful mobile-first grid system, incredibly flexible components and is capable of delivering the entirety of Paddy Power's online branding and style, as well as full structure and layout support for mobile-first development in just 9KiB.</p> <p>The project is a slacktime project that I created to help intertwine the Web Development and Product Design teams to get them to communicate more, and help bring consistency to Paddy Power's branding and design across our entire online portfolio.</p> <p>It has given designers the ability to easily update the look and feel of all Paddy Power's online products, allowing them to confidently make changes while reducing the dependency on developers to make said changes on their behalf - freeing up valuable time for other projects.</p>
Agile/Kanban
<abbr title="Block, Element, Modifier">BEM</abbr> Notation
Git
Grunt
Gulp
Mobile-first Design
Object-oriented CSS
Responsive Design
Sass/SCSS
Semantic Versioning
company url role period description
CentralReservations.com
Front-end Web Developer
Sep. 2011 - Aug. 2013
<p>Responsible for maintaining the look and feel of both the primary reservation website, and the company's own corporate site. Also responsible for maintenance of imaging and colour schemes of over 1,500 microsites created and hosted on behalf of hoteliers.</p> <h2 class="h4">Notable tasks</h2> <ul> <li> Successfully advocated for the use of <a href="https://www.pyrocms.com/">PyroCMS</a> on several of our microsites to allow hoteliers a friendly and easy interface to update their sites. The decision to use PyroCMS was based on the need for a CMS that was not only extremely lightweight and easy for customers to use, but was quick and easy to theme for. </li> <li> Completely redesigned and redeveloped the company's booking engine, offered to hoteliers for use on their own websites, and drastically improved UX resulting in increased conversion across many existing sites. </li> <li> Lead the implementation of front-end frameworks and technology such as <a href="http://getbootstrap.com/">Twitter's Bootstrap</a> which allowed allocating extra resources to back-end development. </li> <li> Introduced the use of the <a href="http://www.lesscss.org/">LESS CSS pre-processor</a> which decreased development time and enabled us to keep third-party libraries and code up-to-date with great ease. </li> <li> Spearheaded the development of mobile-friendly themes for use on over 1,500 microsites which would enable customers to book rooms with incredible ease across a vast array of mobile devices. </li> </ul>
company url role period description
CentralR.com
Web Developer
May 2008 – Mar. 2009
<p>A direct competitor to CentralReservations.com, CentralR.com operates in a similar fashion and is responsible for over 1,000 external sites created and maintained on behalf of hoteliers.</p> <h2 class="h4">Notable tasks</h2> <ul> <li> Worked as part of a small team for the complete redesign and redevelopment of the company's main reservation site under a very tight deadline. </li> <li> Responsible for the imaging and copy on several of the company's external hotel websites. </li> <li> Designed and created the company's advertising for use across the UK & Ireland with Sky Active. </li> </ul>
projects
title url period description
Oscailte (Octopress Theme)
2013
Oscailte is a free (as in beer) and open-source theme, built for use with the Octopress blogging framework. Designed to be highly customisable by simply setting flags and changing config variables, it has proven to be a somewhat popular theme &mdash; allowing users to spend less time fighting with the theme and more time writing.
title period description
DesktopVersion
2013
DesktopVersion was a Reddit bot written entirely in Ruby that could scan recent Reddit submissions linking to en.m.wikipedia.org and then left a comment to that same submission with a standard link to the Wikipedia article.
education
description courses
<p>I'm largely self-taught when it comes to front-end web development and have acquired these skills over the past few years by following blogs and tutorials by some of the most respected individuals in the industry such as <a href="https://paulirish.com/">Paul Irish</a>, <a href="https://css-tricks.com/">Chris Coyier</a>, <a href="https://davidwalsh.name/">David Walsh</a>, and <a href="https://csswizardry.com/">Harry Roberts</a> - to name but a few.</p> <p>That being said, I <em>have</em> finished the following course:</p>
degree institute year description
Certificate in Web Technologies
NCI, Dublin
2013
<ul> <li>Completed course with First Class Honours.</li> <li> Was elected class representative. During my tyranny, I encouraged fellow classmates to collaborate and share course notes with each other via Github repositories - inspired by the theory of <a href="https://en.wikipedia.org/wiki/Collective_intelligence">Collective Intelligence</a>. </li> </ul>
interests <p>There are a lot of things that I enjoy, but out of all of them, I enjoy these the most: reading about the latest advancements in web technologies &amp; reading in general, typography, music, fixing things most people would deem broken, playing games &ndash; board &amp; video, and taking myself seriously at times.</p> <p>I also have a strong passion for open-source technology (<a href="https://github.com/coogie/coogie.github.io/commits/master/cv.md">this CV is open-source!</a>) and a free and open Internet, and regularly donate to the <a href="https://donate.mozilla.org/en-GB/?currency=eur&amp;presets=20,10,5,3&amp;amount=10">Mozilla Foundation</a> and the <a href="https://supporters.eff.org/"> <abbr title="Electronic Frontier Foundation">EFF</abbr></a>.</p>

Stephen Coogan Front-end Web Developer

{% if page.objective %}

Objective

{{- page.objective -}}
{% endif %}

{% if page.skills %}

Skills

    {% for skill in page.skills %}
  • {% include abbr.html item=skill %}
  • {% endfor %}
{% endif %}

{% if page.experience %}

Experience

{% for role in page.experience %}

{{ role.company }} {{ role.role }} {{ role.period }}

      {{ role.description }}

      {% if role.projects %}
        <section class="Era__section">
          {% for project in role.projects %}
            <article class="Project">
              <h2 class="Project__title h5">
                <span class="Project__name">{{ project.name }}</span>
                <small class="Project__meta Muted o-no-owl">
                  <span class="Project__role">{{ project.type }}</span>
                  <span class="Project__period o-no-owl">{{ project.period }}</span>
                </small>
              </h2>
              {{ project.description }}

              {% if project.colophon %}
              <aside class="Project__colophon">
                <h3 class="Project__colophon-title h6">Methods, techniques, and tech:</h3>
                <ul class="Project__colophon-list">
                  {% for item in project.colophon %}
                  <li class="Project__colophon-item">{% include abbr.html item=item %}</li>
                  {% endfor %}
                </ul>
              </aside>
              {% endif %}
            </article>
          {% endfor %}
        </section>
      {% endif %}
    </article>

    <hr />
  {% endfor %}
</section>

{% endif page.experience %}

{% if page.projects %}

Side Projects

{% for project in page.projects %}

{% if project.url %} {{ project.title }} {% else %} {{ project.title }} {% endif %} {{ project.period }}

{{ project.description }} {% endfor %}
{% endif %}

{% if page.education %}

Education

{{ page.education.description }}

  {% for course in page.education.courses %}
    <article>
      <h1 class="h3">
        {{ course.degree }}<br>
        <small class="Muted">{{ course.institute }} | {{ course.year }}</small>
      </h1>
      {{ course.description }}
    </article>
  {% endfor %}
</section>

{% endif %}

{% if page.interests %}

Interests

{{- page.interests -}}
{% endif %}