The first few weeks
I want to try to report weekly on my progress while building Branch. I like Paul Graham’s definitions of Maker’s Schedule vs. Manager’s Schedule and I will try to split these updates into two parts; one for each.
What did the maker do? #
The version of Branch I showed in the screencast was mostly thought of as a prototype. The approach was pretty straightforward in terms of running the build steps. A Python script was waiting for new build jobs to come in and would then loop over each step and spin up a Docker container. This works, but it’s not the most ideal and scalable approach necessarily. Most of my “maker time” have been spent thinking about how to approach this in a simple, yet scalable manner.
My first stop was trying not to build this. I thought about ways I could “outsource” this part of the service and use something like AWS CodeBuild or an open source tool such as Drone. After a lot of consideration and testing of different tools and approaches a friend of mine, Christian, convinced me to try out Docker’s multi stage build feature. When I visited Denmark earlier this week I sat down with Christian and we came up with a quick and dirty prototype that convinced me that multi stage builds is the way to go - at least for now. This was one of the most exciting things that happened on the maker front in the past few weeks. Christian has offered to help me out with the code as he was kinda looking for something to hack on as a side project. Pretty awesome, as I have enough to do already.
I also spend a bit of time researching other continuous integration tools and studying continuous delivery and integration history in general. I got Jez Humble and David Farley’s book “Continuous Delivery” on Amazon and I’m exciting to dive into the more theoretic aspects of CI. I’m really passionate about educating WordPress developers about this topic as I work on Branch.
What did the manager do? #
Most of my energy since the announcement has been spent on customer development. Until now I’ve had 11 calls with potential beta users, which has been super helpful. In addition to the calls I’ve had a lot of conversations via email and social media. The main purpose of these conversations has been to learn more about what I need to build and make sure I will be able to charge enough to make Branch a sustainable business.
I sent out a super short survey to the people who signed up for the beta list (109 people) to try to learn if I was talking to a freelancer or an agency and who they were. This helped me prioritize who to reach out to first. I then reached out to the people on the list asking them to jump on a quick Zoom call with me. This has been incredibly helpful and I really appreciate everyone who took time to talk to me. My gut feeling is still really good and I am definitely convinced that Branch is the right thing for me to work on now. I had a good idea about this before the announcement because of all the WP Pusher users I have talked to over the past few years, but these calls have definitely been very helpful.
I also spent some time evaluating the announcement and the feedback I got from it. I wrote a blog post about 24 hours after the announcement if you are curious to know more.
Another thing that took up some of my manager time was project planning and management. I have been spending a lot of time in Trello, Google Sheets and GitHub issues to try to sort out all the things I have to do to get to the beta release of Branch.
Finally I reached out to a few people whom I thought could help me with various things, since I’m pretty much on my own at the moment. Having other people to discuss all the different decisions and challenges is super important for my psyche.
Next up? #
My number one priority is to get to some sort of “alpha” version where I can start to test Branch with a few chosen teams of developers. This is where 95% of my maker time is focused.
My manager time will still be dedicated to customer development and I will keep talking to the people who signed up for the beta. This coming week I also need to do a bit more project planning and management to get everything out of my head so I can better focus on the important work.
✌️