Thursday, March 8, 2018

Six Months On, Six Months Off: My Experience of Maternity Leave in Tech

Today, my second child, Henry, turns one. I went on maternity leave for six months when he was born, which means I have also been back for six months. I was a grad student when I had my first baby, so life was pretty different then. Being International Women's Day in addition to Henry's birthday, it feels like a good time to reflect on my experience this time around.


Henry eating a cupcake at his daycare's birthday celebration.

In no particular order, here are some thoughts about my six months off:

  • I felt pretty useless the first 6-8 weeks, recovering from a repeat c-section after 50 hours of labour towards a failed VBAC.
  • Everything was changing on my team when I left, big time. We had a new team lead who was amazing, but this fact gave me all kinds of feels as I was more or less 'in charge' until then. 
  • I kept close tabs on the goings-on of the team while I was away. Slack was part of my regular social media rounds. I even contributed with tangible work here and there when there was something I could help with or that I was really invested in.
  • I managed to get a lot of reading done during my leave and that felt really good.
  • I missed the office (the actual building in addition to the people there).
  • I decided I wanted to pursue technical leadership instead of people management as a career path.
  • I didn't have the motivation to go out to play groups or baby classes as I did the first time.
  • I didn't socialize much other than visiting with family. (It was great to visit my parents' pool patio for example, even if I rarely actually swam.)
  • Making lunch for myself sucked (we get free lunches at work).
  • I constantly asked my husband, who works at Shopify as well, what was going on at the office, what was for lunch, whether he brought my any dessert, etc.
  • I felt very grateful that I could take so much more time off than my American friends, and have my EI allowance topped up by Shopify the entire time.
  • My team sometimes joked that I never really left.
And some thoughts about my first six months back:
  • At first, I struggled with rejoining as an individual contributor on a team I had in some ways started and led for a while.
  • My husband was on leave for the second half of Henry's first year and he stayed completely disconnected from work by choice.
  • It was incredible how fast things had moved while I was away, and I can't imagine how far behind I would have been if I hadn't stayed connected.
  • I was happy to be able to jump back in quickly with work I was very familiar with from before my leave.
  • The first four months were difficult in terms of scheduling meetings, pumping sessions, and time with students whose schedules were very complicated. Some of my newer colleagues questioned my time management skills / commitment to quality.
  • Henry was a terrible sleeper the entire six months I was back at work (we only sleep trained him this past week and before that waking up every two hours was a 'good' night). I was running on near empty and had nothing left to give outside of work.
  • I missed carpooling with my husband and eating lunch with him, but also enjoyed the slight increase in schedule flexibility knowing he could pick up our daughter from school. It was also nice to eat with teammates and get to know them.
  • I'm finding myself wanting to wean in the near future, despite having nursed my daughter until she decided to stop on her second birthday.
  • I had a hard time enjoying Henry during these months, largely due to sleep deprivation and perhaps being away from him most of the weekdays. But that's back on track now that I am sleeping!
So many feels, this whole baby thing! I'm incredibly grateful to have had this experience while working at Shopify, which appears to be one of the best tech companies in this regard.  However, it's easy to see why being on leave for any number of months, let alone a whole a year, can hurt someone's career. Our society definitely needs to continue figuring out how to balance to scales for folks who leave to care for family, and to encourage men to take leave as often as women.

Wednesday, January 10, 2018

Getting Better at Ruby for #AdventOfCode2017

Because I'm a computing educator, I don't write code every day. I'd be lying if I said I didn't miss it. So when I heard about Advent of Code late 2017, I knew I wanted to participate.

In its third year, Advent of Code was created by Eric Wastl. On each day of December up to and including Christmas Day, a new problem is released at midnight Eastern time. Each registered user gets personalized input, and when you solve part one of the problem, a second, usually more difficult, part is revealed. Each part earns you a star. The faster you get your stars, the higher you are ranked. There's a global leaderboard showing the top participants.


I wasn't too interested in the competition aspect, knowing I couldn't be up at midnight every night working on code. Instead, I decided to commit to solving the problems as close to when they came out as I could for my circumstances. I also decided to use Ruby so I could remember the basics I used to know from working in Rails for half a year, and learn about the language on its own a bit more deeply.

I managed to solve almost all the problems the day they came out, with just two or three being finished the day after due to time constraints (read: two young children). I also learned a lot about Ruby, from the unexpected things you can do with hashes to its memory model, and more. My favourite trick was using a two-item array representing an x-y coordinate as a key to a hash.

More importantly, it was really really fun writing code every day. I couldn't believe how addicting it was. Most of the problems were fairly easy to solve using Ruby (sometimes it felt like it was cheating using that particular language!), though some were much trickier conceptually. None of them completely thwarted me though, and I managed to figure them all out on my own without looking online. Earning each star was very satisfying.

The code as I wrote it is now up on my Github – no editing after the fact. I know I'm not following all the Ruby conventions (I really do prefer camel case for example), and I'm probably being more verbose than a lot of folks doing this competition (I love readable code). Now that the competition is over, you can see all the problem descriptions to understand what I'm trying to achieve. (I think you still have to solve part 1 to see the part 2 description, though.)