Hi, I’m Francis! This is my blog. You can dig back to 2001 when my friends and I started it in high school. Most of my writing is about software development. I sometimes write stories too.
I have a history of making structural changes in organizations and applications. I enjoy removing the hard problems that make work hard for others. These problems usually require a lot of institutional research and a lot of persistence to solve. They always exist in code, but they often exist in how a company operates, as well. Regardless of where the problems exist, it’s people that make it better, and I’ve found that a well-rested, emotionally secure team can solve any problem that I put in front of them.
Over the years I’ve helped build some of the best engineering teams I ever had the pleasure to serve on. In 2013 I decided to start from scratch and opened Wizard Development. We modeled our business around how we wanted to see software development teams hire and operate.
In 2015 I started the Web Connected Devices initiative at Bocoup. I built a team around trying to improve the developer experience and tooling around making web connected devices, I wanted to make it easier to build the “internet of things that do what I tell them” and explored the internet I wish we had. While a lot of our work was behind the scenes, we did build the SparkFun Inventors Kit which has one of the best books to come with any educational electronics kit you’ll find anywhere. It’s also a great platform to prototype on.
In 2017 I joined the Bustle Digital Group. As VP of Engineering I’ve lead the team in the largest infrastructure projects we’ve ever had. We’ve migrated and decommissioned years of legacy systems, migrated to a serverless architecture and saved 90% of operating costs, and acquired over 5 other publishing companies. I’m quite proud of our API that’s very fast. In addition to software engineering I’ve built and hired a top notch IT team who keeps us modern and nimble.
See my LinkedIn for a full job history.
- Node Serialport I’ve been the primary maintainer since 2015. The project had been largely unmaintained for a few years and it needed some love. I spent several months doing bug triage and fixing what was possible without a major release. Re-engaged users who had felt abandoned. And then purposefully had major releases to bring the api in line with the common use cases, developer assumptions and reality. I’ve recruited a few other maintainers since and am working on unifying node serialport and the proposed web serialport api. Currently the #4 binary package.
- bluestream Make nodejs streams play nice with async functions.
- streaming-iterables Replace your streams with async iterators.
- Many more projects can be found at my github and npm pages. They range from helpful libraries to silly experiments.
I’ve also had the pleasure of giving more than a few talks at conferences and meetups around the world. Including;