Skip to content

Rebecca Hill

WeTransfer

Rebecca is a software engineer, team lead, manager and speaker. Originally from Auckland, New Zealand. She is currently herding cats (aka developers) and wrangling JavaScript at WeTransfer in Amsterdam.

Inteview image for Rebecca Hill

What led you to become a developer?

I feel like I fell into development without even really noticing. I started off working admin roles in digital part-time while studying a conjoint Bachelor of Law and Arts in English and Drama - which all feels pretty irrelevant now! I loved tech but wasn’t getting the creative satisfaction I craved. I started coding a little bit on the side, because I thought it would make me a better project manager, to understand the developers I was working with. I’d always thought that actually being a professional coder was something so unattainable, something that people who looked and acted like me and had my experience just didn’t do, but I loved tinkering around with code.

I remember the moment that I finally realised that this was something I was really excited about and was worth pursuing. My flatmates had some friends over, I think it was about 1am, and I still had my head stuck in my laptop working on a WordPress website for an acquaintance. A friend came over to see what I was doing and pretty much said: “Hey if that’s what you’d rather be doing right now than hanging out with us, you should do that all the time!” It didn’t take me much longer than that to quit my successful project management job and go back to school to study development. It took me till I was 25 to have this epiphany, and starting again completely from scratch at that age was one of the hardest things I’ve ever done but boy oh boy do I count my lucky stars I did!

What’s your setup and development environment?

What’s your favorite stack to work with?

Most of my front-end developer experience has been with React, Redux, and friends, and I am so impressed about how React continues to evolve after all these years. I also have a fair bit of Node experience, and with the Serverless framework - I love that with JavaScript I can build pretty much anything my heart desires!

What are your top 5 go-to repos?

I have a keyboard shortcut that is just muscle memory now and gets me to the private repos I use for work, including the wetransfer.com project I’m partially responsible for which is by far my most go-to repo. As far as open source goes though, let’s see…

https://github.com/ryanmcdermott/clean-code-javascript
https://github.com/JedWatson/classnames
https://github.com/beerecca/dotfiles
https://github.com/lodash/lodash
https://github.com/prettier/prettier

What technologies are you most excited about now?

Right this minute it would be feature flagging. It’s been around for ages but I don’t think the community is using it to its full extent. I’ve become what I’ve recently started calling a “feature flagging evangelist”! There’s so much power behind this one little concept and as someone who is directly responsible for the code my team ships, I’m extremely passionate about getting value out to users as fast as possible, mitigating risk, with as few dependencies as possible, with the ability to experiment in production.

What does your ideal workflow look like, from messing around to production?

Assuming we’re talking about the build phase only and I’m starting with a fully formed user story with acceptance criteria and designs and subtasks refined with teammates (a thing of beauty!) then I would say:

  • Diving into the codebase to figure out which files and functions I might be touching, maybe adding comments here and there, maybe with a little pseudocode, so I can get my head around the whole thing
  • Deciding on what my first task will be
  • Writing a couple of unit tests for it
  • Writing the code for it
  • Rinse and repeat until I feel like an atomic commit is in order
  • Rinse and repeat that until my first shippable increment is done, including integration tests
  • Deploying that to my personal development environment for QA to test
  • Making a pull request, which is reviewed by two teammates (and QA and designer if applicable) ideally that day
  • Making any necessary changes, re-review and merge to master
  • Which starts off unit and integration tests and a deploy to staging where I can sanity check the changes alongside whatever other work is being deployed
  • And then a one-click deploy to production!

What are you currently learning?

On the tech side, Ruby! The backend of wetransfer.com is written in Ruby and I’m lucky enough to be surrounded by some extremely talented Ruby developers. On the human side, I’m working on the balance between enabling and challenging my team to be the very best and most effective it can be and celebrating my teammates for already being the best teammates a girl could ever ask for :D

What project are you most proud of?

If I look at my whole developer career, there’s one project that really comes to mind as the one I worked the hardest on, that was the most challenging, and that changed everything for me. That would be the project I did in my spare time as an intern product developer having come from a year-long part-time polytech degree, trying to prove that I should be accepted into the graduate programme alongside people who had just come from 5yr software engineering degrees. If I remember correctly I worked on it Christmas Day that year. I’m so grateful to have been given that opportunity as I wouldn’t be where I am without it.

What are beginner developers not learning that is critical in this day and age?

Patience! Hah that feels like a silly answer but in this industry, it’s so important. Things change so quickly and we’ll all still be learning how to do this job for the rest of our careers, so panicking about how much we do or don’t know and how fast we can do everything is not only pointless but can be really damaging. I think the two most useful pieces of advice I can give to beginner developers is 1) spend no more than an hour on trying to solve a problem on your own and 2) ask as many questions as you can, but bundle them together once or twice a day so you’re not distracting others. Being passionate and ambitious and driven is amazing, but rather than worrying about what others expect of us, we all need to take good, honest, simple time to ask for help and develop ourselves before we can be truly valuable contributors.

What tech challenges are you facing at your company?

From a purely technical perspective, I think the most challenging thing about working on wetransfer.com is just the size that we operate at. Millions of people use our site every day, uploading and downloading millions of files, meaning that although the site looks very simple from the outside there is a lot of engineering expertise that goes into keeping that thing running, especially when we deploy changes to it multiple times a day. As with most challenges, it also presents us with amazing opportunities. It means that performance is really important for us, it means that we can run really interesting experiments to provide our users with the best possible user experience, it means that I get to work with extremely intelligent people who love big challenges - all of which I’m really passionate about!

What music do you listen to whilst designing?

Anything you want to promote or plug?

You can follow me on Twitter and check out where and when I’m speaking on my website.

As for WeTransfer, did you know that we actually have a whole bunch of really beautiful tools for creativity? Check out WePresent for instance. Every day I go on there I can’t believe the cool people I get to work with and promote. Speaking of which, of course we’re hiring!

Lastly, I want to give a shout out to some amazing humans I follow on Twitter.

Interview image for Damini Satya Kammakomati
Damini Satya Kammakomati

Salesforce

Damini Satya is a Software Engineer at Salesforce building next generation CI/CD systems for cloud scale deployments. She is an ardent open source contributor, mentor, traveller, who loves to paint.

Interview image for Martin Konicek
Martin Konicek

Synthace

Martin is a software engineer based in London. He currently works at a biotech startup called Synthace. Previously he was on the core React Native team at Facebook.

Interview image for Burke Holland
Burke Holland

Microsoft

Burke Holland is a front-end developer living in Nashville, TN; the greatest city in the world. He works on the Azure team at Microsoft on behalf of JavaScript developers everywhere.

Be the first to read new interviews just like this one with Tim Benniks. from top developers.