• Do you have any questions for me?

    Recently, I’ve been chatting with some folks who are starting out with technical interviewing. A common question that comes up is that folks aren’t sure what to say at the end of the interview, when the interviewer says, “Do you have any questions for me?”

    In this post I’ll document some questions I’ve asked in the past, and that I’ve been asked when helping out with interviews for companies I’ve worked for. These are questions that I’ve found to be helpful as an interviewee, and insightful to hear as an interviewer.

    It’s also worth noting that the questions you should...

  • I drew all 84 people I work with as Golang gophers. Here's what I learned.

    Recently, I embarked on a fun, but ambitious and masochistic endeavor of trying to draw each of the 84* people I work with at Pivotal R&D in the Toronto office as a Golang gopher. Was it a super fun way to get to know my coworkers? Absolutely! Would I do it again? Probably not.

    (I started this project in February, and completed it this past week. In that time, people have left and joined. I included some folks who have since left, and did not include folks who just joined. I might do a follow-up batch later on, when I’m...

  • Designing Self-Regulating Processes

    I am currently reading The Manager’s Path, an excellent book by Camille Fournier that I highly recommend to anyone who’s not only considering becoming an engineering manager or tech lead, but also for anyone who wants to understand how to be more effective as an individual contributor. One thing that jumped out at me was this paragraph:

    As a new tech lead, be careful of relying on process to solve problems that are a result of communication or leadership gaps on your team. Sometimes a change in process is helpful, but it’s rarely a silver bullet, and...

  • Learning to deal with grief as an adult

    Update On January 15, my grandmother passed away peacefully in our family home in Xiamen, China. She was surrounded by her husband, her younger sister, her son and daughter, and grandson. While she was still lucid, in early December I was able to fly out to China and see her for a final time. Thank you to everyone who reached out to me after I published this post. The outpouring of support meant so much to me and my family – thank you.

    I’m in a remarkably fortunate minority of people who have never had to deal with the loss...

  • Creating, writing & delivering awesome technical talks

    After DevOpsDays London, a bunch of people approached me, IRL and on Twitter, to ask for tips for delivering technical talks. I made a Twitter thread after my keynote at Write/Speak/Code:

    I’m not an expert at giving technical talks by any means – but I do know a thing or two about public speaking,...

  • How do I draw sketchnotes and doodles?

    Lately I’ve been churning out a lot of sketchnotes:

  • How to level up your TDD skills?

    I get asked pretty often by people who are interested in applying for a role at Pivotal, or a number of other companies known to value test-first development, “I know about this TDD thing, but how do I know that I’m doing it right?”

    Of course my first piece of advice is to try to work at a company that values TDD, but that’s a chicken-and-egg problem if those companies are testing for TDD in the interview process!

    This article is an attempt to summarise and categorise the advice that I generally offer to junior developers. All code examples in...

  • The Ulysses Paradox

    I wrote this piece last year when I randomly learnt about the landmark case, United States v. One Book Called Ulysses. It was such a bizarre story that I was inspired enough to blog about it with my pseudo-art-historian hat on.

    In 1922, in the temporal heart of Prohibition-era America, a man named James Joyce wrote what would be later considered the most controversial novel of the twentieth century. Ulysses chronicled the stream of consciousness of a character named Leopold Bloom, who lived in Joyce’s contemporary Dublin. The text was simultaneously esoteric and coarse, and whatever semblance of a plot...

  • An Experiment to Improve Team-wide Feedback

    I’ve been working at Pivotal Cloud Foundry for the last 16 months. During that time, I’ve mostly been an engineer, but am currently putting on a Product Management hat for a little while! More on that in a future blog post.

    Pivotal is a company that spends a lot of time thinking about what good feedback looks like. Not as in feedback from customers or end users, although that is also extremely important; I’m talking specifically about peer-to-peer feedback that is intended to help individual contributors grow as engineers, designers, product managers, technical writers, and so on.

    We have lots...

  • Learning COBOL in 2018

    This past weekend, I finally ventured out of my burnout-induced cave to attend a tech event on a weekend: PLIBMTTBHGATY, one of my favorite formats for events where you learn stuff. The Programming Language I’ve Been Meaning To Try that I chose was COBOL. Surprisingly, no one else (except Spike) wanted to learn COBOL with me?!?

    My main takeaway from the day is that COBOL was a lot easier to get started with than I anticipated. The syntax was obviously unlike any modern programming language I’ve used, but it was easy to read, because it was so imperative and...

  • Craftmanship, Inclusivity, and Community-Building

    A lot of things have been on my mind lately. Among them, Sarah Mei’s latest thoughts on Twitter about “No True Developer” tribalism. She and a few others call out this troubling pattern that has been happening in tech for a really long time, where people who are part of an “in” group publicly make assertions like “You’re not a true developer if you don’t do/know/follow X”. As someone who is relatively new to the industry (I started learning to code in September 2014, and have been working professionally since February 2015), I can relate to so much of...

  • The Sophomore Slump

    When I was in college, I spent most of my weekends traveling to other universities in order to take part in parliamentary debate tournaments. Students across all years participated in the same rounds, which made debate the single most exhilarating and intellectually-challenging activity of my college career – and also, the most emotionally difficult one.

    Since freshmen are debating against seasoned seniors, the league had a special category of recognition for first-year debaters that fared well. Debaters in their first year are referred to as “novices”, and there was a corresponding set of novice speaker awards as well as team...

  • You've got passion -- how do you convince others?

    If you’ve ever had a conversation about tech, software, hiring, retention, diversity, being a junior, supporting juniors, etc. etc. there’s a 95% chance that I’ve told you to go on Twitter and follow Sarah Mei immediately. Hey, you! Reader! Go follow Sarah Mei on Twitter immediately!

    The reason is because she has some of the most accurate and concrete ideas for how to make life better for junior developers, particularly women and people who aren’t traditionally encouraged to enter tech. Through Sarah, I recently came across Lydia Guarino’s latest series of tweets about where junior devs fit.

    ...
  • A Very Simple Thing You Can Start Doing

    My last blog post and the reception to it got me thinking that it’s one thing to describe a problem in the abstract, but it’s much harder to come up with “actionable” solutions (good god I hate that phrase). But I think I have one idea that you can start doing today that will support the women that you work with.

    I first noticed my friend Franzi doing this at a conference a few months back. It was so simple that it was mind-boggling to realise that I had never heard anybody else do this before.

    Every time a...

  • I don't want to be That Girl

    This is a difficult post for me to write. When I started coding a year and a half ago, I have to admit that I didn’t really know what I was getting myself into. I knew that software development was a cognitively intensive field, which is what initially drew me to it, but I didn’t know that it would be the community that would make me grow to have a truly vested, emotional interest in increasing diversity in this field.

    I’ve been involved with organising codebar for the last year or so. At first, I think I became involved...

  • Full Text Searching in MongoDB

    I’ve always had an interest in language. Specifically, I really like the sweet spot where natural language intersects with mathematical logic. I studied Ancient Greek in university for two years, but had to eventually stop because I realized that maaaaaybe I needed to actually take some Economics requirements and graduate… but during the two blissful years that I was studiously parsing and translating Homer, my fondest recollection is the (relative) regularity of Ancient Greek syntax. I liked that you could pretty much identify the role of every single word in a sentence based on its declension, which allowed the author...

  • Developer Recruitment Trade-Offs

    two_of_three

  • The Great TSL Bug-Hunting Competition

    A few months ago, my company upgraded our core application from Rails 3 to Rails

    1. Despite the best efforts of the Rails maintainers in making the transition as smooth as possible, we still anticipated many subtle bugs and breakages.

    Our application has a lot of moving parts, as is the case with most companies that have a core application. Moreover, every developer was familiar with a few key parts of the code, but nobody knew 100%. As a result, we were wary of the abilities of the dev team alone to think of every edge case that could...

  • My work visa experience

    I’m often approached by fellow Americans or folks who live in non-EU/EEA, non-Commonwealth countries wondering how to go about getting a work visa in the UK. Here’s an account about the lessons I learned during my journey towards gaining a Tier 2 work visa to live and work in the UK.

    In case it isn’t apparent, I work as a software developer. Specifically, I make web applications, primarily with Ruby on Rails. In my limited anecdotal experience, it is far easier to earn private sponsorship if you are looking for work in a STEM field, because specialized skills are in...

  • Custom Rails Form Errors Without Gems

    Everyone who’s used Rails knows that a lot of magic is baked into the framework. One part of Rails that I’ve always been a little mystified with is how form validations work under the hood. Lately, I’ve had to do a lot of hacking around with forms – sometimes to change error messages across the entire application, other times only for one particular use-case or one model. There are a couple of gems that make form customization a little bit more user-friendly – simple_form is perhaps the most well-known.

    However, under certain circumstances (like legacy projects), it may not...

  • Ready, Set, Ruby!

    A few weekends ago, Spike went to SoCraTes, where he learned a game called Set. The premise of the game is fairly simple:

    There are a certain number of cards laid out on the table from a deck of 81 total cards. Each card has four characteristics, and three possible options for each characteristic:

    • Color - red, green, purple
    • Shape - diamond, pill, squiggle
    • Fill - solid, stripe, empty
    • Number - one, two, three

    A complete ‘set’ consists of three cards that all have nothing in common, or all have exactly one trait in common....

  • Being Wrong, Loudly

    The journey of learning to code, for me, has borne a lot of similarities to learning the mechanics of university-level competitive debating. I’ve been wanting to write about these similarities for a while now, but struggled to find a unified, thematic way to present this intersection.

    A bit of background: I debated competitively for about four years throughout university and graduate school. I never got very good at it. I never won speaker awards (recognition for the highest-scoring individuals at a competition), never won national titles, and produced a handful of good cases (topics briefs that establish the subject and...

  • On Code Citizenship

    Before I knew I wanted to become a coder, I thought I wanted to become a lawyer, or at the very least, a policy researcher. And before that, I spent far too many waking hours living a double life as a competitive debater. As a result, I spent a lot of time reading political science and sociology texts in university and grad school. I’ve been thinking a lot lately about the idea of what it means to be a good citizen, and how that applies to software development.

    Katrina Owen spoke at Bath Ruby a few weeks ago about...

  • The lolcat gem

    This has changed my life.

    lolcat_gem

    github

  • Test-Driven Development - What and why?

    In the process of describing my career change to non-developer friends, I found myself explaining time and again what exactly I learned at Makers Academy, and how it was possible to make a complete career transition in only twelve weeks. In truth, it’s impossible for a 12-week course to replace a 4-year university degree. However, at the same time it is also true that in most CS programs, much of the content is theoretical, and relatively little time is dedicated to learning how to write code – and even less is spent on learning how to implement industry best practices....

  • Test-Driving Rock, Paper, Scissors with PHPUnit

    Test-driven development is a method of writing as little code as possible in order to achieve functionality. In order to ensure that tests are purposeful (i.e. not false positives), it is standard practice at Makers Academy to write a failing test, then write just enough code to make the test pass, followed by refactoring. The aim of this tutorial is to provide a glimpse into the “Makers Way” of software development using PHP and PHPUnit. This walkthrough assumes basic familiarity with PHP syntax.

    There are many ways to write Rock, Paper, Scissors. In this version, we will err on the...

  • New Job!

    I always experience an unreasonably high level of vicarious anxiety when I watch movies that involve the main characters in any type of vehicle that’s rapidly accelerating out of control, usually towards a collapsed bridge/tunnel/overpass, even though you KNOW it’s going to be okay and they’re not actually going to kill off Keanu Reeves and Sandra Bullock’s characters with a full 20 minutes left of the movie, because if Americans wanted our movies to make us feel bad, we would just watch foreign films.

    In an imperfect analogy, the last week of my life kind of felt like that. There...

  • Christmas Morning Reflections

    When I was in the sixth grade, I had a gym teacher who was really, and I mean, REALLY enthusiastic about exercising. He claimed to shower three times a day, because that’s just how much he exercised. I thought he was absolutely nuts, because it’s one thing to enjoy exercise for the endorphins, but what sane person exercises that much? In the week before we went on holiday break, I remember that he said to us that Christmas should not be a time to sit around and stop taking care of your physical health. A lot of people view it...

  • Week Two at Makers Academy

    Week 2 at Makers Academy presented a host of new challenges. During Week 1, it would not be accurate to say that there was hand-holding, but the Boris Bikes project that we built in pairs came with a much more in-depth tutorial than our project for Week 2, which was to build a working skeleton for a simple Battleships game. Where Week 1’s difficult gradually crept upward as the week went on (with a slightly steeper climb when London TDD was introduced!), in Week 2, at some points it truly felt like we came up against a huge wall that...

  • Week One at Makers Academy

    For twelve weeks, I will be taking an intensive web developing and coding course at Makers Academy. For those who are unfamiliar, Makers Academy is one of many popular “tech boot camps” springing up all over the world. In large part this is a response to the fact that technology is one of the fastest-growing and most dynamic industries in the world right now, while in many major cities, the supply of talented people with technical skills outstrips demand.

    My intention for this series is to chronicle the content progression in the course, but only as a secondary goal. Many...

  • Ten Days in London

    Recently, my friend Chrystal visited me in London for ten days. Being awesome (and probably WAY too trusting!), she let me plan pretty much every detail of her visit. And being very, very Type A, I probably got more joy out of planning the minutia than any reasonable person should, ever. It later occurred to me that it could be helpful to other London visitors to see the itinerary that I put together for her visit. Without further ado, here it is!

    Many of the plays and one-off events were booked about a month in advance. However, there are many...

  • The Great Birdhouses of Westeros

    Last year, I went home for about a month after quitting my job in NYC, and found myself feeling bored and creative at the same time. I paid a visit to the place where I sank all of my childhood pocket money: the arts and crafts store.

    I wandered around the aisles, not really sure what my upcoming project was going to be. I was about to settle for a pad of heavy-duty paper and some watercolor paints and brushes, when these cheap, cute little decorative birdhouses caught my eye. They were $1 each, and they were definitely too small...

  • Monopoly Pub Crawl

    I haven’t died. I did, however, move to a new country since the last update and utterly forget that I had this blog. In the UK so far, I have met David Cross, sat three feet away from Kevin Spacey, ordered my dinner off an iPad at a restaurant, and hopped a fence in a city farm to frolic with sheep. Those adventures will be documented in further detail at a later date.

    The pub is a curious institution in England. It’s an extension of the living room — a communal space that is multipurposeful in a way that bars...

Subscribe