because writing helps

It’s 12:43. I’m at the coffee bar. I sneak behind my coworker-friends and gently kick the back of someone’s shoe — a callback to an earlier joke where he claimed no one could kick off his shoes. He spins around, glares at me, and we all have a laugh.

I order my mocha — “The usual?” “Yes please!” — pick up our drinks, and head downstairs.

It’s 12:48. At the crosswalks, I split with the group, which is headed to the main building. I need to drop by security in another building to pick up a lost item. As I start across, we notice a stream of people rushing down the steep hill in front of the main building. The faint sound of alarms. Suddenly, police cars speed down the street, skid to a stop, and officers rush towards the basement entrance with guns drawn. I turn around and exchange looks with my coworkers. What’s going on? Guns, drawn? … Is there a shooter?

“Go back inside! Go back inside!” someone begins to yell. I’m already across the street, so I head to 1000. Another coworker rushes across the street to go with me. We sit in the lobby as people mill about, confused, asking each other, “Do you know what’s going on?” “I heard there’s a shooter!” “Someone said they saw blood!” “What’s going on?” “WHAT’S GOING ON”

It’s 12:52. I get a call. My heart warms just a bit at the caller ID. It’s Ethan, the safe-harbor kind of friend. He checks in with me, makes sure I’m okay. We wait a little longer. I glance at the Security door. They probably have bigger things to worry about than my lost fleece. I start to worry that the lobby is not the safest place — if a shooter was rampaging through the buildings, this would be where they enter. I suggest that we go upstairs.

It’s 12:55. From the second floor, I have a view. A half dozen people at a time are coming out of the basement entrance, hands in the air, waved forward by a heavily armed police presence. Another fleeting thought — is the window the safest place to be during a shooting? — but I don’t feel threatened yet. It’s a bit abstract. Like watching a movie.

We’re not there long before a security officer with a thundering voice tells us that we need to evacuate, now. His voice is a little panic-inducing, actually. I grab a bottle of water and we head towards the exit. As we stream out, I see a lady on her laptop, headphones in her ears. She clearly can’t hear what’s going on. We make brief eye contact — the strange kind of eye contact that seems to make time stand still — before I break it by gesturing forcefully towards the exit. She starts, and begins to pack up her stuff. I leave.

We’re in the parking lot now. We’re there for a while. Everybody in the parking lot is fielding a torrent of texts from concerned family, friends, and the curious. For many of us, the gravity of the situation still hasn’t sunk in. No one’s told us anything, after all.

An hour passes. Two. We get updates from the news. We chat, crack jokes to distract the one coworker who keeps repeating, “Levity. I need some levity right now.”

It’s 3:30 and we’re finally clear to go. My keys are stuck in the building, so we order pizza and I crash at a coworker’s place until my roommates get home. The next day, the building is still closed but we’re escorted inside to pick up our things. We share experiences, hugs, and go about assuring each other that we’re okay.

It doesn’t really hit you until the next, normal work day, as you take the same route through the same places you been through a hundred times.

Your coworkers are hurting.

Someone brought a gun to your company and shot indiscriminately.

I was just grabbing coffee.

Your workplace was violated, and all it takes is one person.

Holy shit.

Advertisements

a haiku

to code in java
is to die under the weight
of its boilerplate

How to become a programmer, or the art of Googling well

*Note: Please read all italicized technical words as if they were in a foreign language.

The fall semester of my senior year, I was having some serious self-confidence issues. I had slowly come to realize that I did not, in fact, want to become a researcher. Statistics pained me, and the seemingly endless and fruitless nature of research bored me. I was someone who was driven by results – tangible products with deadlines that, upon completion, had a binary state: success, or failure. Going into my senior year, this revelation was followed by another. All of my skills thus far had been cultivated for research. If I wasn’t going into research, I had… nothing.

At a liberal arts college, being a computer science major does not mean you are a “hacker”. A liberal arts CS major prepares you for a career in computer science research, which is completely different from, say, software engineering. It’s like comparing a physical therapist with an athlete. Sure, a therapist knows which muscles get strained, and how to better take care of your body. But you can’t ask them to substitute for a player in a professional game. As a computer science major in my school, sure, I’d studied the structure and interpretation of computer languages. But I’d never even heard of the words front-end developer or full-stack. What was Heroku? Never heard of Xcode. Wasn’t git just the thing you used to share code with your lab partner? Frameworks? Didn’t you just need HTML and Javascript? What the hell was an API?!

Job after job description required IOS or Android programming experience, or a portfolio of websites I’d designed. I had none of these, and to be frank, I didn’t even know where to start. I hadn’t grown up in a tech-savvy family – my dad still can’t text. My mom still waits for me to come home during breaks to transfer new music to her MP3 player (which I bought her). I could pick at a couple tutorials, but how could I ever bridge the gap between me and them? The ones who went to technical high school, or whose parents were both software developers? The ones who had their own servers running, or whatever? Who had hacked into their middle school computer system in 7th grade? How could I ever compete with the technically privileged?

I settled for jobs that weren’t even computer science related. Knowledge of bash recommended, but not required. Even worse, I gave up. My experience with python scripting will give me an edge over other IT Help Desk candidates, I firmly told myself. I have experience helping old people with their computers. I should at least be able to land a job. That’s something.

<– SPOILER: I have an offer from Google. –>

Mid-September my senior year, that all began to change. I somehow became a friend of one of them, and it was all I needed to learn.

I initially put this friend on a kind of pedestal. The first time I met him, he was in the middle of writing a script to scrape Craigslist of all its free furniture listings (which is illegal, btw). At the time, I didn’t even know what scraping was. Then came the hackathon. I’d always wanted to go, but I’d never had the kind of friends who’d attend, and I couldn’t go on my own. I knew nothing. Who would want to bring someone as useless as me? But I shyly asked this friend if I could tag along – just to watch, mind — understand that I will be completely useless to you – and he laughed, said he understood, and we went.

He was the very picture of the competent hacker I held in my head, that I nursed a secret crush for. But most extraordinary, he threw something together using tools that he’d never used before. Yes, he did spend more time on Google than he did coding — but through sheer force of googling and a prior, general picture knowledge of how these things worked, he’d roped together a pretty sophisticated app. He knew where Twilio belonged in the grand hierarchy of things, and so, even without knowledge prior, was able to figure things out.

And I despaired. How do you get so good that you can build something out of nothing?

The rest of the semester passed glumly, and without incident. Come winter, I began to panic again. Driven by the need to become employable, I tried my hand at a couple Code Academy website tutorials. Hm. Not bad. I made an attempt at my first website – pretty terrible — just one, static page full of boxes and awful colors — but it was something. Something I realized. Just like my code-god compatriot, when I didn’t understand something, all I needed to do… was google it.

“How to center a div in CSS.” “How to make tiled background image in HTML.” “How to link to a pdf.” Sometimes it took hours for me to figure out the simplest things, but I’d come to understand that the answer was out there, somewhere. So I kept at it. Soon I was confident enough to try my hand at a small project – scraping our school’s Grades at a Glance website to create an automatic GPA calculator (our school didn’t have one of those). Eureka, it worked! And that wasn’t so bad, was it? Just like that, the first crack began to form on the illusion I’d cast on them as being a superior kind.

<– Some Small Advice: if you’re just beginning to program, I’d suggest starting with JavaScript/HTML/CSS because there is a plethora of help out there. You will most likely find someone has done exactly what you want to do. And do a couple tutorials! Even if they seem ineffective, at the very least they help you learn the terminology you’ll need to be able to google effectively. –>

Boosted by this small success, I gathered a group of like-minded classmates – friends who also did not have software engineering experience – to attend a second hackathon. Here, I had a second revelation. I knew more than my friends. Suddenly, I was an expert. I could speak the language. I knew what had to be done, and where things needed to go. After just two weeks of going through random tutorials, people were already beginning to see me as more competent than them. Sure, I was nowhere near the competency of my coder-god friend, but I slowly began to realize that the gap between me and him might be as artificial as the gap between my friends and me.

That’s all it takes. Really.

I took on a summer internship with a custom software engineering company. I was surer in my programming abilities than I was before, but I needed to be completely certain I had what it took to make a career out of it. There, I picked up IOS programming, Ruby on Rails, and Angular; I can make bluetooth devices do all kinds of gymnastics on a mobile phone. I’ve exchanged blows with git, shared intimate conversations with Cordova, chatted with Heroku, and I’ve even dipped a foot in the Android programming world. But most importantly, I know that experience, though important, is not everything. The gap is not insurmountable because I have what it takes to learn.

To be honest, I probably could have passed the Google interviews without any of this software knowledge. A solid background in CS is what they look for, and my school gave me that. But I never would have dreamed of applying to Google. I obviously didn’t have what it takes.

It took meeting a god and dethroning him for me to realize that I was wrong.

The barriers to becoming a software engineer are real. People born in technical families, or who were introduced to programming at an early age have this easy confidence that lets them tackle new things, to keep learning — and, in our eyes, they just keep getting further and further ahead. Last year, I saw this gap and gave up. But all we really need is the opportunity to see that it’s not hopeless. It’s not about what we already know, it’s about how we learn. It’s about the tenacity of sitting in front of a computer and googling until you find the right answer. It’s about staring at every line of code until you understand what’s going on, or searching until you do. It’s about googling how-to, examples, errors, until it all begins to make sense.

Everything else will follow.

Why I’m going to fail my background check and have my offer from Google rescinded

I usually keep good track of my paperwork, but one slipped through my fingers – a W-2 form, from a summer researching at the National Institutes of Health (NIH). I needed it to prove that I had worked there for my background check with Google. I was pretty sure my dad had it, but when I called him for a copy, he said he couldn’t find it. Instead, he suggested that I just request a duplicate copy from the NIH. Easy.
 
In order to get a duplicate copy of my W-2 form the NIH, I went through the following steps:
 
  1.  After extensive online searching (wherein I learned I needed an NIH account), put in a ticket at HR asking how I could acquire a duplicate W-2 form.
  2. Was told to fill out a Request for a Duplicate W-2 and mail it to them. I did.
  3. Was called and told that I could not be found in the database, so I had to call OHR(?) at some number.
  4. That number told me they did not handle W-2 forms, and referred me to someone (Molly*) at a given number (*fake name).
  5. That number took me to an automated voice mailbox system, or something like that, that required me to login, or provide the extension of the person I wanted to reach.
  6. I called #4 back, and they could not find the extension.
  7. I put in another ticket (step 1).
  8. I was given Molly’s number.
  9. I called the number, but was told that she no longer worked in that office… But wait! They knew she was tele-working today. They gave me a number.
  10. Called number. See step 5.
  11. Called back number at step 9.
  12. Another person picked up, and gave me Molly’s direct number after I explained my situation.
  13. Got to Molly’s voicemail. Left a message. A week passes.

Still no W-2 form.

 
###########################################################
 
I gave my dad one, last desperate call. Are you sure you can’t find it? No, I’m sorry. It hasn’t turned up.
 
Five minutes later, he calls me back, sheepish. “I didn’t see it the first time… but it’s where I left it, with the other paperwork.”
 
Dad!!