Education
Dundalk Institute of Technology
Bachelor of Science (BSc) in Computing & Software Development
2007 – 2012
Certificates / Courses
PHP
API Platform
Symfony RESTful API
Angular
Angular 8 – The Complete Guide
Learn and Understand AngularJS
The Complete Angular Course: Beginner to Advanced
Android
The Complete Android & Java Developer Course
Relevant Books I’ve Read
Skills
Languages | Java, PHP, JavaScript, Typescript, Node.js, MySQL, HTML, CSS |
Software Design & Architecture | OOP, Design Patterns, Domain Driven Design, Dependency Injection, IoC, SOLID, DRY, KISS, Refactoring |
Test Libraries | JUnit, Mockito, PHPUnit, Codeception, Selenium |
Javascript Libraries | jQuery, AJAX |
Javascript Frameworks | Angular |
Java Frameworks | jHipster, Spring, Struts |
PHP Frameworks | Symfony2, Symfony3, Symfony4, Laravel, Silex, Zend Framework 2, MODX |
Databases | MySQL, Oracle SQL, MongoDB |
Version Control | Git |
Dependency Management | Composer, Maven |
Environments | Scrum, Agile, Kanban |
ETL / Data Warehousing | Pentaho Spoon Data Integration |
Reviews
Work Experience
Founder / Software Developer
DocumentaryWIRE
May 2008 – Present
DocumentaryWIRE is a website which curates documentaries from across the web. Source code: https://github.com/JonnyD/DocumentaryWIRE
- Originally developed the website using WordPress then converted it to Symfony2 and migrated the data using Pentaho Spoon ETL.
- Since its inception in 2008 it has attained millions of visitors and thousands of followers on social media.
- Updgraded app to Symfony3, upgraded app to Symfony4.
Follow Us
http://twitter.com/Documentaries
http://facebook.com/DocumentaryWIRE
http://pinterest.com/Documentaries
http://ello.co/Documentaries
Skills: PHP5/7, Symfony2/3/4, Doctrine2, JavaScript, Angular 8, AJAX, jQuery, Twig, SEO, APC caching, and Pentaho Spoon.
See Posts:
Admin Documentaries with Query Params
Add/Edit Standalone & Series Documentaries
The Criteria Pattern
Modulus Examples
Parent & Children Activity
Introducing DocumentaryWIRE v3
Version 3: Homepage. Built with PHP, Symfony2, MySQL, Doctrine2
Software Developer – Other Projects (Failed, Postponed, Freelance)
January 2016 – Present
Founder / Software Developer
GreetApp (Failed / Lost interest)
October 2018
Live meetups, and people based on shared interests,
Source code:
Java Version: https://github.com/JonnyD/greetapp-api-java
PHP Version: https://github.com/JonnyD/Greetup-API-PHP/tree/master/src/GU
See Posts:
Greetapp – Specification Pattern Example
Example of an API
Design
Skills: MySQL, GIT. Android, Java, Swift, jHipster.
Founder / Software Developer
Elite Fifa Leagues (Failed – Pivoted)
August 2017 – June 2018
A website for fifa gamers to compete against each other in tournaments. Source code: https://github.com/JonnyD/EliteFifaLeagues
This project failed but it allowed me to pivot to a better project (coming soon).
Skills: PHP7, Symfony3, Doctrine2, MySQL, GIT.
See Posts:
Calculating Standings by Results
EliteFifaLeagues high level domain design
Example Wireframe
Founder / Software Developer
PeerRank (Postponed)
January 2016
Accumulates ratings/feedback from many websites (e.g. Ebay, Airbnb, etc) into one reputation dashboard. I opened sourced two libraries so far for this project:
- Airbnb.comSDK https://github.com/JonnyD/AirbnbSDK
- 80Legs.com SDK https://github.com/JonnyD/peggy
Skills: PHP7, Symfony3, Doctrine2, MySQL, GIT.
See Posts:
Introducing Peggy
Creator / Software Developer
FreedomainRadio
February 2014
Source: https://github.com/JonnyD/FreedomainRadio-Chrome-Extension
See Posts:
Chrome Extension for Freedomain Radio
Chrome Extension
Co-Founder / Amateur Philosopher
Libertarian Ireland
2010 – 2018
- By being exposed to new thoughts and ideas I learnt to extrapolate and reason from first principles (it’s like refactoring of the mind).
- Improved communication skills and emotional intelligence by using techniques such as RTR (Real-Time Relationships by Stefan Molyneux) and NVC (Non-violent Communication by Marshall Rosenberg) to express emotions and thoughts without blame.
- Spreading awareness that Adverse Childhood Experineces (ACE’s) create a dysfunctional society and that peaceful parenting is one solution.
- Encouraging individuals to be responsible for their compassion instead of outsourcing it to the government.
- Over 1300 page likes and over 1000 group members on Facebook
Software Developer
Good Travel Software
March 2015 – June 2017
Good Travel Software is a startup that sells software for the short term car rental market and peer to peer rental services.
- Collaborated on a booking system for General Motors called Maven Plus and a SAAS called Share Car.
- Worked within a small team to plan requirements and software architecture using Domain Driven Design.
- Worked on many layers of each project; frontend using AngularJS, backend using PHP and Zend Framework 2, database using MySQL and Doctrine2, and API using Apigility.
- Tested code using unit, functional, and acceptance tests.
- Working with QA team to create new test cases and continuously improving the testing cycle.
Skills: PHP 5, PHP 7, Zend Framework 2, Apigility, MySQL, Doctrine2, AngularJS, Git, and Codeception.
Maven
Modular Booking System
PHP Developer
MOR Solutions
October 2014 – March 2015
MOR Solutions is a digital agency designing and developing websites.
- Worked with PHP, JavaScript, and MySQL doing jobs for various clients. For example, I built the backend for https://www.tankardstown.ie/ and https://www.panda.ie/.
Skills: PHP, MySQL, JavaScript, MODX, Zend Framework 1
Software Developer
Armac Systems
April 2013 – March 2014
Armac Systems develops optimization software for the aerospace & maintenance sector where inventory demand is stochastic.
- Converted abstract specifications into executable code in an Agile environment. Created Outline Solution Documents from Functional Specifications, implemented and tested requirements, created Test Plans for QA, fixed bugs.
- Developed new features, fixed bugs and and tested code using Unit, Mock, and Functional Tests across all layers of a JEE application (frontend and backend).
- Refactored legacy code (e.g. Struts to Spring) and optimised the database which decreased loading time of web pages, database heavy tests, database imports/exports, and data integration.
- Integrated data using Pentaho ETL/Data Integration; built new components, tested and verified integrity of data. Helped integrate SAP NetWeaver to aid updating in real time.
Skills: Java, Oracle SQL, Spring, Struts, Hibernate, JSP, Pentaho Spoon ETL, JUnit, Mockito, HTML, CSS, GIT.
[Video] Optimizing MRO Inventory https://www.youtube.com/watch?v=c6ysVXylbMc
RIOSys
Various / Volunteer / Freelance
Civcraft
June 2012 – March 2013
Civcraft is Minecraft server with the goal of leaving players as free as possible to generate their own political, social, and economic order within Minecraft through the use of several custom mods as well as some more general ones. That means no rulers but doesn’t mean no rules. Those rules are enforced by other players in the community. It’s part of a social experiment to see which ideas would win in a free society.
- Using Java, MySQL, and Bukkit, developed various plugins for a Minecraft multiplayer server called Civcraft such as JukeAlert and Citadel which are used by 1000’s of players daily, http://dev.bukkit.org/bukkit-plugins/citadel/
- Using Node.js, MongoDB, and Express, created a bot that connects to a Minecraft server and logs players activity into a database. https://github.com/JonnyD/Skynet/blob/v1.0.3/lib/skynet-minecraft.js
- Using Symfony2, created a resourceful API that presented the data collected by the bot described above. https://github.com/JonnyD/Skynet-Web
Skills: WordPress, Java, Ebean, MySQL, PHP, Symfony2, Node.js
See Posts:
Citadel v2 & Command Pattern
Updating Citadel Schema
Introducing Skynet – A Minecraft Bot
A Finite State Machine in Minecraft
Citadel is a block protection plugin. (Java, MySQL, Ebean)
Skynet.js (Node.js, PHP, Symfony2, MySQL)