KoalaSafe says goodbye

A sad day today, after 6 years KoalaSafe is closing down. It’s a huge disappointment we didn’t get to fulfil our mission and continue serving the families that rely on us.

But we did have a huge impact on many families and acheived some modest success as a business:

  • Successful Kickstarter
  • 200,000 + devices managed
  • Sold in over 250 Target stores across the USA
  • Released two hardware versions

Engineering Year in Review 2019

Originally posted on Hatch Blog

Year 2 for the Hatch Engineering team is already in the rear-view mirror and work on feature/2020 has begun. We gained a new engineer, Steve, said goodbye to our Product Manager, John, and made strong progress on our 2019 focus; here are the highlights and what we want to focus on this year.

2019 Highlights

  • Grew the engineering team to 4 with the hire of Steve
  • Got very close to removing our legacy app Choo (2 views to go!)
  • Made great progress on our 2019 goal of Product Engineering. Engineers are participating much more in design and discovery
  • The investment in our design language paid dividends, improving the efficiency of front-end work as well as allowing design to hand over rough sketches for engineers to build .
  • Transitioning to React hooks
  • Our processes are always being retro’d and improved but we feel we have found a good balance of planning, rituals and GSD.
  • Breaking apart our code bases into packages  of a Lerna monorepo to aid in build times and code sharing between projects (api-client!!)
  • The entire happy path journey is in now in product (for company users and students).

2020 Focus

  • Now that we have the happy path journey in product we have a much better understanding of what the journey looks like, as well as a lot of history of what our unhappy paths look like. This learning will help us to improve our modelling of the process to better facilitate future changes as well as facilitating the manual processes for our unhappy paths. These changes will also help reduce the complexity of the system.
  • At the moment we have a monolith API project and a monolith App project. CI build times are 13 minutes for the app (15 minutes to fully deploy) and 6 minutes to build the API (30-40 minutes to fully deploy due to deploying and running e2e tests). We have laid the groundwork converting them to Lerna monorepos and hope to reduce the build times (especially locally) by separating out packages in both projects.
  • As the team grows focusing on maintaining developer productivity is crucial. A few pain points we know about and will work on are:  our test data for the service tests, re-working code to the current standard and paradigm if we touch it in a meaningful way.
  • With flexible work a continuing mega-trend this decade, we want to make sure remote working is built into our culture. Whilst we aren’t remote first Hatch does embrace flexible working (work from home Wednesday!) and a number of the engineering team are planning remote work trips this year. Whilst internally we are comfortable working together remotely, we want to lean into ensuring our remote practices and interactions with the wider team are equally as second nature as it is internally.
  • More blogging!!

Most excited for in 2020

  • 2020 is all about growth at Hatch and we are super excited about helping our new marketing team crush their growth goals!
  • As we transfer our matching learning into more robust systems we are starting to integrate our data science code into our primary code bases. This adds interesting and new technical challenges as we embrace polyglot code bases.
  • From a technical perspective, automating our back-office integrations in 2020 is an exciting new challenge.

Cozy Personal Finance Manager

Cozy Personal Finance Manager

An open-sourced Personal Finance Manager for Cozy Personal Cloud. Currently all my finances are run through Quicken Personal. I hate how closed it is (and how manual data entry is).

I have been trialing https://getpocketbook.com/ for awhile, but its intelligence about tracking what a transaction is has been buggy since day 1 and I’m locking myself into a closed-data system.

May have to look at contributing some Australian Bank Interfaces in the near future.

Refactoring Definition

Refactoring can only be called refactoring if the *same
tests* can be used to exercise *different implementations* of the
*same behavior*.

Really liked this definition of Refactoring, as apposed to Refuctoring, from the DDD/Cqrs Group
t speaks to the scope of what a Unit Test should test… and how!

Tropical Software Development

It has been almost 8 months since I have posted! All my time has been focused on moving to the Caribbean; a life long dream of mine. We have been in the Virgin Islands now for 6 months, working remotely for a great software house, Digiterre.

Working remotely in the tropics has been awesome thus far but does come with some pit falls:

  • Power: We picked accommodation that have backup generators and have been thankful since day one as we regularly loose power during the day.
  • Internet: This was what I have been most worried about, however besides being slow ( 1 Mbps) it has been reliable. I use my iPhone as a backup over 3G
  • Social: All the sunshine, bikini clad beach babes, sailing and scuba diving in the world can’t replace the geek interaction you get in the office. As sad as that is to admit.

Now the move is behind me and we are settled in, I’ll try and chronicle some of the things I’m currently working on.