Two Lessons You’ll Learn in Your First Year as a Tech Lead

Originally posted on Medium.

I’ve been a tech lead for about a year now and I’m not dead yet.

That’s not a lot of time in the grand scheme of a working life, but since tech lead years are like dog years I’ve got a battle scar or two. These are some of lessons they’ve taught me.

Read

To Our Credit

How we earned our Stripes — Part 5

Originally posted on Medium.

This is the fifth article in a series of blog posts about our transition towards Stripe as Airtasker’s main payment provider.

In Part 3, we made a decision. We unleashed Stripe onto our system before our poster’s credit cards were migrated, creating two concurrent streams of payment. I shouldn’t say it was a damn fine call, since the impact was more due to serendipity than insight, but damn was it a fine call.

Read

Putting Our Accounts in Order

How we earned our Stripes — Part 4

Originally posted on Medium.

This is the fourth article in a series of blog posts about our transition towards Stripe as Airtasker’s main payment provider.

Despite all the excellent work getting our own system ready to accept Stripe tasks, we had one glaring omission. Our taskers are paid their hard-earned funds into bank accounts, which were stored and tokenised in the ecosystem of our old payment provider. We had about a quarter of a million of these. If we wanted our taskers to continue to get their money, we needed to add these bank accounts to Stripe.

Read

Stripe Down Under

How we earned our Stripes — Part 3

Originally posted on Medium.

This is the third article in a series of blog posts about our transition towards Stripe as Airtasker’s main payment provider.

February 2018, we launched in the UK. We’d be lying if we said there weren’t hiccups — we certainly had a few bugs to clean up and a lot of work getting to feature parity with our old provider. But, most importantly, it worked. It worked great.

Our MVP was proven. Stripe’s architecture was meshing well with our own system and everyone was happy. Developers loved working with the pristine Stripe API. Support agents loved the cleaner interface. DevOps loved the zero downtime. Our UK team loved that we could actually accept payments in London. And finance loved how much money we were saving.

Given how well-received it was, there was only one option: get it on Australia.

Read

Stripe in the UK

How we earned our Stripes — Part 2

Originally posted on Medium.

This is the second article in a series of blog posts about our transition towards Stripe as Airtasker’s main payment provider.

When you start from ground zero, switching payment providers is an intimidating project. Airtasker hosts around 4000 tasks a day, which adds up to a fair amount of dollarydoos moving through our payment system from poster to tasker. That’s not something you want to mess with. It’s as critical to Airtasker as you can get.

Read

A Tale of Two Payment Providers

How we earned our Stripes — Part 1

Originally posted on Medium.

This is the first article in a series of blog posts about our transition towards Stripe as Airtasker’s main payment provider.

It’s 2017. You’re a rapidly scaling start-up trying to launch globally, but your payment provider (face blurred to protect their identity) isn’t available outside Australia. What do you do?

Switch to Stripe, of course. And that’s what Airtasker did.

Read

Setting up a Jupyter notebook server on an EC2 instance using Docker

Because I’m a fair hand at maths and even better at being late to parties, I’ve been meaning lately to play around with some data science. However, I ran into a few dilemmas setting myself up:

  • First, the Python environment can be surprisingly messy. Coming from languages with more streamlined package management, I found myself investing more time getting my machine set up than I thought I’d have to.
  • I move around a lot. I really want to work on this stuff on the go, from multiple different machines.
  • I don’t want to mess around setting up the environment a second time.

To solve these problems, after discussing it with a good friend of mine and finding out he had a similar setup himself, I decided to host a Jupyter notebook on a free tier EC2 instance. Thereby being able to access it from anywhere!

Read

How to set up SFTP with a jailed user on an AWS EC2 instance

Recently at my work we had a client who wanted to routinely dump data via FTP onto our production server.

We set up a user account for them to use. However, to maximise security, we also wanted to:

  • Jail the SFTP user to a single home directory
  • Prevent SSH access

What seemed a straightforward process became more complex, mostly due to some UNIX idiosyncrasies with chroot jails and file permissions.

Read