Dan Harper

Building out a small corner of the www.

Background

Experienced software engineer, background in full-stack web application development.

Read more on LinkedIn.


Facebook Mar 2017 – Present

Software Engineer on the Workplace team. Tech lead within multiple full-stack teams. Sought out as a mentor and influencer.

Most recently I onboarded and led the team from Redkix – Facebook's first acquisition for Workplace, acting as a driver of Facebook engineering culture for the incoming team.


Radweb Aug 2011 – Feb 2017

Led development of several web and mobile applications, primarily InventoryBase. Built using Laravel to power JSON REST APIs with OAuth; React, Flow & CSS Modules for the frontend UI; Amazon AWS, Ansible & CircleCI for deployment.

Formed a culture of responsible software development through Version Control, Test Driven Development, Continuous Integration and Agile project management, with a core focus on constant improvement of development practices.


Freelance 2007 – 2012

Developed small marketing sites and applications for local businesses; sold many templates & projects on the ThemeForest marketplace.

Part of a team of regular staff authors writing numerous web development articles for the Tuts+ network covering the latest web technologies.

Open Source

I was on the core Babel team for a short amount of time before joining Facebook. I mostly improved Babel/Babylon's parsing of Flow types, enabling a richer set of ESLint plugins to be created for Flow syntax.

Below are some other projects I've either built or maintained. Nothing very recent, though.

See more on GitHub.


PHP implementation of IBM’s specification for representing JSON as XML - developed to add drop-in support for XML to existing JSON APIs through a HTTP middleware.


Built much of, and maintained, a plugin providing lint & auto-fixing support for Flow type annotations in ESLint.


Team of idiots. Building stupid stuff at the PubHack hackathons.


My University had several different ways to calculate your results, but provided no tool for calculating it. I built a small web app to do the calculations, and it was since used by thousands of students, even over 6 years after I graduated.

Recommended Reading

A small list of some of books, videos, and courses which have had a strong influence on me as a programmer, and on my career.


Refactoring Fowler



Clean Coders Martin

This extensive video series is really something. I think I can attribute a bulk of the best practices I follow today, and my general approach to building maintainable software to the Clean Coders videos by Uncle Bob.

He's got quite an odd presentation style in the videos, but don't let that put you off – they're worth every penny!


Implementing Domain Driven Design Vernon

The "Red Book" is much more accessible and readable than Evans' original "Blue Book".


If it weren't for this book, I definitely wouldn't have felt comfortable interviewing at Facebook! It turns out much of it wasn't needed (the UIE interviews are a bit different), but I found this book incredibly good at explaining several algorithms and techniques.


Clean Code Martin



Design Patterns Gang of Four



Blog

Just like everyone else with a portfolio on the internet, I have a blog which I haven't updated in years. I won't pretend that this redesign will be any different.

Read more on “Musings of a Programmer”.