Intern Blog: What I’ve Learned at

I’m a junior at NYU, where I’m studying computer science. I have a short attention span—which is why I’ve decided to write this in listicle form for those of you who are also easily distracted. I code until I barely wake up in time for work and I climb rocks. As you can tell, I am a man of few words—I’d like to credit Python for teaching me about conciseness.

1) Don’t be afraid to learn—and make mistakes in front of everyone else.

When you’re a one-man team or the only programmer in a group, you tend to have your own way with things. As the team gets bigger, other people will check out your work, and will very likely correct the mistakes you make. In the past, I’d get hot-headed because I just didn’t want to be wrong. Now, I embrace making mistakes—as long as I learn from them.

2) Be open to change. (Even if it breaks your heart.)

It’s critical to maintain an open mind, especially when listening to those who have more experience. I was once a PHP fanatic. When I first heard of Ruby, I refused to learn it. After all, PHP was more established and used by all the big companies. In the back of my head, though, I knew that I was just reluctant to adapt because I refused to believe that other technologies were better. Now, I’m quite familiar with Ruby, as well as Python—the language of choice here at I’ll finally admit, my elders were right—both of these languages are eons ahead of PHP.

3) Your code should be so easy enough for a five year old to read and understand.

Diving into new codebases has always intimidated me, but it’s necessary to learn the style and design that more experienced coders stick to. I realized that a lot of code out there on the web is pretty terribly written, particularly in terms of readability/learnability. If the objective is to make code harder to copy, then those developer deserves a trophy. In my own code, I’ve tried to avoid inflicting that pain on others, especially on my co-workers.

4) Working with people keeps you sane—or, at least, allows you to embrace your insanity with others.

A huge benefit of working at is the ability to work remotely—a benefit I take advantage of all too often. It’s just too easy to code uninterrupted for hours and hours at a time; it’s something I’ve gotten used to after spending many nights in college hacking away at personal projects. A few days of this, though, makes me extremely restless, and the comfort of my room feels more like solitary confinement. Working around people changes the whole game! Their presence keeps my spirits up.

5) Keep your projects organized to keep your mind organized, too.

When I’m hacking away on a personal project, keeping organized isn’t a big priority. I’ll usually just keep a mental list of things I’m currently working on. However, on a big team, organization is crucial. Without a well-organized project, people will clash and development will slow to a snail’s pace. We must communicate incredibly well—especially in a distributed environment—and act as a well-oiled machine.

6) You have a lot more fun when you do something meaningful—whatever “meaningful” means to you. taught me that you can really enjoy working while still being very productive. This point in particular seems to be a common thread between many startups, and will probably be the thread that continues to pull me back into startups.

—Josh Qian, Engineering Intern