hi, I’m morgan. A believer in empathy driven development.

Empathy driven development is an idea that software should be written with the people who will be using it in mind. Traditional UX (User eXperience) tells us we should design with the user in mind. All too frequently the reality of this is driven by ‘conversions’ or the business ’needs’ of making it as easy as possible for the consumer to hit BUY. Empathy on the other hand says software development should focus on the users actual wants and needs. Additionally traditional development says little about the other users of the software. The people you work with, the people who will work on this software in the future, even your future self.

Recent Career Highlights

As I have been a professional programmer since 1999 I’ve worked as many jobs as variation between them. As a result, many are not worth mentioning. Here’s the work I’m most proud of in the last decade.

Etheric Networks
Senior Engineer, Web Technologies and Developer Operations
May 2020 - Nov 2022

As a long time customer of Etheric Networks I was extremely excited to not only see the inner working of a regional scale wISP, but for the opportunity to work towards bringing better service to other users. My primary responsibility was to take over development of Etheric’s internal customer support and network management software, which had been abandoned by it’s previous maintainer and left to an already overworked developer. Along the way I fell into a de facto DevOps roll.

  • Implemented version control best practices, maintain self-hosted GitLab, setup Continuous Integration, Continuous Deployment and version rollback support. Tools the team had little to no experience with and allowed for far more rapid development.
  • From the work above I laid out the teams first development road maps tracked with GitLab Issues and Board.
  • I made the decision to not rewrite. All too often when taking over projects a programmers first reaction is burn it down and start over, I’ve done it many times. I’ve also learned this is a tricky proposition, particularly when many of the needs are not clearly understood. Instead we propped the original web2py application with the help of the workflow improvements and set in place a transition plan to a newer Django based framework.
  • Created new Django application based on the Django REST framework to assist in the transition off web2py. By using REST the old application could make calls into new, easier to maintain code. This will eventually lead to a JavaScript based front end utilizing the same RESTful interface.

Chabot Space and Science Center
Lead Exhibit Fabricator
Nov 2016 - Mar 2022

For a tinkerer like myself, working in a science museum was a dream. I came to Chabot after a small volunteer period to assist in designing, fabricating, training on and opening the museums new open ended, hands on initiative; Project Create.

With a scant budget and minimal timeline, our team of two created the museums most impactful exhibit in a decade. Before COVID-19 brought this all to a halt I had helped launch 3 exhibits, worked with volunteers to bring their science demonstrations to the public and taught dozens of high school volunteers basic shop.

NodeJS Backend Developer
Nov 2014 - August 2017

Microservices, microservices, microservices!

Tenon.io was a startup focusing on website accessibility, think the w3c validator for accessibility. As a contractor over several years I worked to revamp their slow and buggy PHP based engine into a lean, scalable, highly testable multipart NodeJS system. The system I build was distributed from the start, using a combination of Redis and AMPQ to seamlessly pass jobs off to worker systems, allowing for fault tolerance, dynamic scaling and per customer load limits. Various parts of the system consisted of crawlers, content fetchers and analysis workers, all tied to work queues. This approach not only was more scalable moving forward but allowed us to keep the old analysis engine (PHP) in place, as it wasn’t the bottle neck and put off rewriting.

say hi.