- I did some engineering consulting work, with the bulk of the time spent working for Baydin, Tencent and Dropbox.
- Started The InternProject, a “let’s make sure interns in the bay area have a great time” non-profit with Alex, with major help from Tess, Geoff, James and countless others.
- Became a real open-source contributor via ZMA, a CRUD Admin tool for Meteor, with Geoff and Greg. Greg’s been keeping the project updated. I need to contribute more.
- Worked with Amy to start the Campus Data Summit, creating the Campus Data Guidebook for students starting PennAppsLabs-like organizations at their schools.
- Generally speaking, figured out what I enjoy and what I don’t enjoy, and what I want to do next.
I helped organize HackCon, a conference for student hackathon organizers, this past weekend in NY.
The writing style here is a lot more like the talk I gave - more stream-of-consciosness than well-organized. Different, but not necessarily worse. Hopefully.
I gave a talk at the latest Meteor Devshop a couple of weeks ago about Houston, the Django-Admin like tool that Greg, Geoff and I are working on for Meteor.
With over 200 stars on Github, I think we might almost be real Open Source Contributors now. It’s fun!
If you already know about Meteor, you should try Houston.
If you already use Houston (whoa, thanks!) check out the feature wishlist and send us some pull requests!
PS. I thoroughly enjoyed TA-ing in college and I miss it, so public speaking on technical subjects is a ton of fun (though nerve-wrecking) for me. If you’ve got tips for things I should work on after seeing the talk, please email me!
2013 hasn’t been a great year for new content on this blog. Let me try to change that.
First, what’ve I been up to since January?
It took a while to get my first gig - the first 7 or 8 companies I spoke with all ended up passing, for various reasons, which put a fair bit of dent in my plans. I came up with lots of ways to get more inbound flow, but didn’t have the energy to execute any of it because I was so tired of rejection. Basically, if you’re burnt out and trying to recover, putting yourself in a position to get rejected a lot is not a great idea.
Eventually, I refined and simplified my pitch, going from “co-founder for rent”/”on-demand hiring manager” to a much simpler one - “I can code, and I don’t need to be micro-managed on product.” That worked.
I spent the first ~10 weeks at Baydin, the makers of Boomerang for Gmail, pitching and then adding a feature to Boomerang Calendar. I’ve been fascinated by scheduling tools ever since I saw Tungle.me, so it was tremendously rewarding to work on this problem, and the Boomerang team both provided awesome leverage and feedback, as well as giving me a lot more autonomy than should be reasonable. An awesome and very small (<10) person team in Mountain View - a fantastic place to work. My updates to Boomerang Calendar deserve their own blog post. Hopefully.
Next, I worked at Tencent, a giant Chinese tech company (think AOL or IAC, but more successful) with an office in a church in Palo Alto. The people were great and I appreciated the opportunity to work with them, but the biggest thing I learned was that larger, more traditional companies are not places I thrive.
Finally, I spent two and a half months at Dropbox, working on Dropbox for Business. From Soleio to Guido to Aditya and Ruchi, to (more anecdotally) a few friends I have a ton of respect for, Dropbox has been making some killer hires over the past year and I couldn’t help but want to see why. Now I know (hint: it’s the cafeteria). Dropbox is an absolutely fantastic company with a rather talented group of people, and (I imagine) a lot like what Facebook felt like in 2008 or 2009. Drew is a fantastic public speaker and generally an affable guy.
Each of the three gigs above was a 4-day-a-week kind of job, and I learned a lot from each. The thing that most stuck with me - and I was a little surprised by this - was how much fun I had working on Boomerang Calendar. I worked in a mostly-solo capacity, but with design and library engineering support when needed and great product people to brainstorm and prioritize with. I want to do more of that.
I’ve written a whole bunch about recruiting and internships in the Bay before, and started the 2012 Bay Area interns Facebook group. Still, the problem of “how do you make sure people doing internships in the Bay Area get the value out of it that they can” - admittedly a first-world problem, but my first-world problem, didn’t feel completely-solved.
I had met Alex Poon the prior year, when he organized a number of intern dinners. We brainstormed about what the ideal solution would look like - a single website with everything you need to know, a big kick-off event for interns from small companies to meet others to hang out with during the summer, and a way to generally keep in the loop on what the good events were. Out of this came the InternProject, which (it seems, so far) met our goals for the summer and then exceeded them.
We’re still figuring out how to transition the project to being student run - Alex and Tess dropped out of school and I graduated. We’ll see. The important thing is that the ~2,500 students on our list-serv found it to be valuable, according to click and open rates.
I’ve begun to consider folks like Marco Arment and Loren Bricter as role models rather than just fascinating people. In the long run, I’d love to get into a place where I can make apps that I consider interesting, ideally focused on productivity or developer tools, and have the occassional engineering/design/product support necessary to keep me focused, all the while avoiding management as much as possible. Baydin was a ton of fun. I’d love to replicate that experience, if I can.
In the meanwhile, I’m playing with an entirely different idea that probably deserves its own blog post.
I want to explore whether the reasons that recruiters have a poor reputation in the industry (spam, sketchiness, competence) are an unavoidable side-effect of the industry model.
To do that, I’m spending the next few months figuring what its like to be a full-time technical recruiter, but eliminating all the parts I don’t like.
We’re focusing on seeing if we can be Talent Advocates, helping rising seniors in CS figure out what to do with their lives and monetizing by putting students in touch with companies that help them get there. I want to know if (1) there’s a business here, (2) if I can add enough value to have a clean conscience, and (3) if I can do the work. Follow along at threesat.com.
August 2016 Update: Divvy now has a native guide for migrations. Use that instead.
If you’re having trouble importing, it might be because the URL Divvy gives you is too long. I solved this (on a Mac) by, rather than pasting the URL into the browser, opening a terminal window and typing.
open ‘Divvy Backup URL’
instead. (Where the ‘Divvy Backup URL’ is the one you got when exporting
I’ve been using Divvy the tiling tool for OSX (and windows) ever since I switched to using Macs full-time in 2010. It’s great.</p>
I’ve been using Divvy the tiling tool for OSX (and windows) ever since I switched to using Macs full-time in 2010. It’s great.
Migrating it between installs isn’t so great, and unfortunately googling “migrate divvy preferences” doesn’t help. So, while moving to yet another Mac, I emailed support@mizage and asked what to do.
Here (with their permission) is how to migrate your divvy settings / preferences / configurations / setup / whatever to a new computer:
If you’re on Windows:
0) Quit Divvy on both PCs.
1) Click Start > Run, and paste in this command:
%USERPROFILE%\Local Settings\Application Data\Mizage LLC\Divvy
2) This should open a new Explorer window.
3) Locate the file shortcuts.db
4) Copy that file to the same location on your second computer.
If you’re on Mac:
0) Quit Divvy on both Macs.
1a) If you’re on Snow Leopard, go into your User’s Library folder in Finder.
1b) If you’re on Lion or later, open a Finder window, now hold the Option (alt) key and choose the “Go > Library” menu item.
(AMK Note: this is at ~/Library/Preferences)
2) Go into the Preferences folder.
3) Locate the file com.mizage.Divvy.plist
4) Copy that file to the same location on your second Mac.
At an event last week, I was introduced to the CEO of a post series-A startup I’d been following and found quite interesting. We spoke about his company for a few minutes, and he asked me to email him in case there were any opportunities for me as a freelancer to help.
I followed up. A few days later, I got the following email:
Thanks for your interest in [Company]. We don’t have immediate needs for hiring more engineers at the moment but would be happy to keep you on file for future opportunities.
Please let me know if you have additional questions.
- [Recruiter], [Company]
Who are you, again?
I spent a good portion of 2012 running recruiting for the company I’d helped start, growing our team from 3 to 12. I’ve had a chance to deal a few dozen candidate rejections, and made my fair share of mistakes. Before that, I spent two years applying to internships. As such, some advice for would-be rejection-letter writers:
The effort going into the rejection should match the effort spent in the process.
At my last company, we flew a candidate in for a trial and ended up passing. The next day, I sent a two paragraph email saying, effectively, thank you but no thank you.
That was wrong. The guy deserved at least a phone call after giving us a week of his time.
Last week’s CEO asked me to email him; I was interested in the possibility of work, but I also just wanted to have a chance to chat and seek his advice. I got a response, without context, from somebody else entirely, treating me as yet another applicant. I hadn’t even sent in a resume.
Not that every possible candidate deserves a 500-word essay; a generic application or cold-email, (“Dear Sir or Madam…”) should absolutely receive a friendly, templated rejection.
There’s a difference between a euphemism and a lie.
On Tuesday, the CEO told me they were looking for engineers. On Thursday, I was told the opposite. Either their hiring priorities changed on Wednesday, or (hint: it’s this one) ‘not hiring’ was an excuse. As a candidate I can tell, and it reflects poorly on the company.
The flip-side is, of course, you don’t want to be incredibly specific in every rejection, because the occassional candidate is going to argue that in fact they ARE great at X and were just having a bad day and now you’re in this terrible position of saying “dude, no.” The industry standard seems to be some variant of “not a fit” or “no positions available that you would be well-suited for,” ending with “at this time.”
If you have an opportunity for a cop-out, take it!
A rejection is a bit like an needle injection; yeah, it’s not going to be pleasant, but at least you can make an effort to minimize the discomfort.
In this case, I was rejected because they didn’t want to deal with contractors, or my background isn’t impressive enough, or I wouldn’t fit in; who knows. Regardless, you could say:
Thanks for following up, it was good to meet you.
Unfortunately, I checked with our head of recruiting and we’re focused entirely on full-time roles right now for engineering. Thanks again for following up after we met on Tuesday and best of luck with your career!
And it’s not like I have grounds to be upset: I get it, and you haven’t told me that there’s something wrong with me. Other effective cop-outs that help a candidate save face including H1-B difficulties for internationals or a lack of experience or exposure to a particular technology or industry.
Why does this even matter?
From a friend at Google, their philosophy on recruiting is, roughly, “we should be really nice to the engineers we interview, because most engineers out there will remember Google as that company they applied to and got rejected from, and these are the people recommending technology to their parents and advising friends on where to apply.”
In 2011, I was introduced to Stripe (/dev/payments at the time) as a potential summer intern, and had a great conversation with Patrick. They asked for a code sample, and I sent them one.
It wasn’t very good.
They rejected me, going with something along the lines of “we realized we didn’t have nearly the bandwidth for interns this summer as we had hoped.” Since then, I’ve sent or recommended Stripe to several of my most impressive friends as potential hires because of the goodwill generated from that process.
Rejecting candidates correctly isn’t the most glamorous part of starting a company.
Still, it’s worth getting right.