Business and Friends
I recently announced that I was heading up to Mammoth Mountain for some snowboarding. Turns out me, my good buddy, and my family are having a killer time, but the vacation is making me think of a former friend of mine, call him Scott, who used to travel to Mammoth with us. And so goes the story of Cellarspot, Scott, and why friends should be careful when going into business together:
Scott and I had been friends since middle school and very close friends since high school. He’s the same age as me, and he’s studying entrepreneurship at USC. I started getting very involved with academia and computer science my sophomore year, so I started working on Cellarspot in the summer of ’06 to apply my newly learned skills. I mentioned the idea to Scott sometime that summer, and he said it sounded like a good idea. A lot of time went by, and I finally started taking Cellarspot seriously in winter ’07. Scott and I had dinner when we were both home for winter break, and he expressed interest in helping out and being involved. I said that’d be cool, but we didn’t move forward from there at all. At about this time, Scott started getting very involved in his entrepreneurial studies, building his interest in Cellarspot a lot. He kept asking me, “What can I do?” I would reply, “nothing,” because my classmates and I were working on the website and there wasn’t anything for a non-technical person to do. He continued to ask me this question through March ’07, and my answer never changed. On a sunny, Sunday morning in April ’07, I got a phone call from Scott that would eventually terminate our friendship (literally).
Scott told me that he was planning on raising capital for Cellarspot so that he could outsource the website to the Philippines. At this time, Cellarspot had already launched but still needed tons of improvements. Scott wanted me to make the improvements, but I didn’t really have much time seeing as how I was insanely busy with senior-level CS classes, TAing, and other things. By outsourcing the website to the Philippines, Scott would be able to get changes made to the site quickly. I didn’t like this idea.
My initial reasoning for not wanting to raise capital and outsource the site was because I loved working on the website. Moreover, the whole reason why I started Cellarspot was to make a cool website and have fun and learn along the way. I thought it would be cool to make money, but that was never my initial intention -- I didn’t want to give something I love away. Some of my reasoning was also selfish in that I didn’t want to have pressure from investors, because my main focuses at that time were school and TAing.
When I told him, “no,” Scott started to lecture me about respect, because he learned all about respect in his fraternity. Apparently Scott had been networking with people about Cellarspot for quite some time now, and he was angry that his networking would now be wasted because I wasn’t willing to move forward at the pace he wanted. I would be angry if I were him as well, but he was never upfront with me about what efforts he was making. It’s almost as if he had a plan the entire time that he kept secret from me.
After the phone call, Scott de-friended me on Facebook, and we haven’t spoken since. It’s really sad to see a long friendship end over a business that makes about $5 per month on average, but I suppose that’s just how it is. I wish I could have gone back and handled things better, but I can’t. My only hope is that others learn from my mistakes and maintain their friendships.
Lessons Learned
First, make sure you are always upfront. Instead of telling Scott, “There is nothing for you to do,” I should have said, “You should work on something else and stop thinking about Cellarspot.” This is hard, though, because I didn’t not want Scott to work on Cellarspot. I wanted him to be involved with iterating on the website, but I didn’t want him to take total control of the site and rob me of my technical fun. We both should have been more upfront with one and other about what we wanted and what we could offer.
Second, look for signs that your business is interfering with your friendship. Once Scott and I entered a dialogue about Cellarspot, he would introduce me to his fraternity friends as his “business partner.” Weird, huh? I should have recognized this as an interference and acted on it. Instead I just kept going with the flow and didn’t really think about it outside of being weirded out that we were no longer friends but instead “business partners.”
Third, analyze your friendship prior to becoming business partners. If you have any doubt whatsoever before going into business together, then don’t do it. Scott and I had been great friends for a long time, but Scott is very, very stubborn and opinionated. Even in high school the two of us would angrily argue about silly things because our opinions differed. I’m not very confrontational and argumentative at all. In fact, there have only been six people that I’ve had angry arguments with on a semi-regular basis: my mom, my dad, my sister, my brother, my roommate, and Scott. I should have realized that Scott and I would engage in angry argument and not rationally come to conclusions, making business impossible.
Forth, just remember that freakishly good friendships are infinitely more valuable than business and money. My friendship with Scott prior to Cellarspot was on the decline from freakishly good, but relationships always have bumps in the road, right?
It’s Dumping; I’m Leaving
Mammoth Mountain has been getting slammed with snow, so I'm making a last-minute decision and hoping in a car with one of my best friends for a 5 day vacation.
Posts to come: software engineering a startup, business entrepreneurs vs. tech entrepreneurs, and solving a problem.
The Importance of Asking Questions
I've always been the type of person that asks a lot of questions. I used to be very weary of asking questions in the work place, though, because I was scared of annoying my coworkers/superiors. A lot of times I would hold back if I was worried a certain question would be better unsaid. I was especially careful when I worked in e-marketing at KB Home the summer after my sophomore year, because the office politics there were strange. The Art of Project Management, a book Matt recommended to me, has really given me a new perspective on asking questions and the benefits of doing so.
Another motivation behind this post came from my family's Hanukkah party last night, where I spoke with lots of family and friends about what to do next year. I'm trying to decide between an engineering internship with Google in Shanghai and a full-time PM position with Redfin. I think there are a few different scenarios where the usefulness of questions really shines:
Your boss tells you to do something
It's usually the case that your boss is busier than you, especially when you're interning. It's also usually the case that when your boss assigns something to you, he (or she) will accidentally leave out details because he is in a rush or he has his mind elsewhere. Naturally, you should ask questions to get that missing detail out of your boss to avoid not fully meeting his requirements. It usually comes down to one choice: either ask questions to clarify the problem or risk misunderstanding some portion of the problem. Depending on the context, you might be able to refine the problem without nagging your boss, but I think asking questions and potentially being annoying is much more important than working towards the wrong goals. I know if I were a boss, I would rather have the people I manage take up a little more of my time to understand the problem in its full than have them spend weeks or even months with the wrong goals in mind. (Hopefully I'll never be a boss that just tells people what to do -- I'd rather work alongside those whom I manage.)
You and your colleagues are brainstorming
Whether it be brainstorming the solution to a technical problem, the solution to a dilemma (such as where to work), or the way in which a certain product should function, it's often the case that the people around you have opinions. Asking questions in these cases does a number of things:
First, questions get people talking. In my experience, more people are introverted than extroverted, and questions will get the introverts to voice their opinions. With more spoken opinions comes more likeliness that synthesis of those opinions will lead to a positive conclusion.
Second, answers to questions provide a new perspective for everyone listening. It's often the case that the people you associate yourself with are as smart or smarter than you, and it's often the case that they see things slightly differently than you do. Answers to questions can solidify your opinions if your colleagues' perspectives are in line with your thinking. Answers can also make you realize that you're thinking about things incorrectly if your colleagues' perspectives don't line up with your thinking. I believe it's important to realize that these new perspectives can often times be insanely valuable.
A friend of mine once said that the job of a CEO is to synthesize, decide, and delegate. I wanted to capture this process in a little diagram to show how questions fit in:
Perhaps the most important thing to realize here is that the more synthesized information you have, the more concrete your decision will be. That's not to say that synthesizing information is easy -- I think that the process of synthesizing information deserves a lot of explanation that should perhaps be discussed in a later post. I would also argue that questions are one of the most important aspect of synthesized information, because answers to questions open up the opportunity to have lots of different experiences, readings, and other things coming from different people. Also, synthesizing and deciding are common tasks in challenging jobs, so the above diagram doesn't necessarily only apply to CEOs.
So, don't let yourself get intimidated about asking questions in the office. If someone gets annoyed, then tell them that you're just trying to make sure you have a grasp on the situation. Also tell them that they're not helping you synthesize. It'll be awkward and funny at the same time. With all jokes aside, though, questions are super important and should be taken seriously. Try to ask good, concise questions, and the answers will only help. In fact, they'll probably help a lot.
Update: Bo Bennett agrees.
Speaking of Helping People, Presenting helpd.org
I've had an idea for a long time to create an anonymous forum for people to post little ways that they've helped out. This idea was mostly inspired by those insurance commercials where someone will do something nice or courteous and another person will observe the act. Then the observer will also do something nice or courteous, and the chain contains.
After thinking a lot last night about jobs and helping out, I decided to make my idea a reality. I contacted a friend of mine who I met at the Google APM batch day, Eric Fisher, to see if he was interested in whipping up a quick layout. I'm absolutely awful at making pretty layouts, so I try to delegate as much as possible. Anyway, I sent Eric an email with a quick description of what the plans are. He sent a reply about 90 minutes later with a link. Eric is a magician. He managed the code a beautiful, functional, AJAX-enabled site in 90 minutes. How did this guy not get hired by Google? Thanks, Eric!
Eric zipped up the source and sent it my way along with a SQL dump. I spent about an hour changing a few things, adding a captcha, and getting it setup on my web server.
I present to you helpd.org, a place where you can make anonymous posts about ways you've helped out. Helpd is pretty basic at this point, and my plan is to greatly expand it if people find it interesting. I have a few thoughts in mind: RSS feed, pagination, browsing capabilities, voting systems, categories, community aspects, etc.
Go take a look at the site, make a post, and tell your friends. I think it'd be really cool if this site took off, and my plan is to give all the proceeds to Wikipedia and Craigslist.
What does one do after college?
It seems like we all have a few options: pursue something that makes us happy, pursue something that makes others happy, pursue something that should be pursued by someone of our academic status (finance majors work for financial companies, cs majors work for cs companies, etc), or just don't pursue anything at all. I'm definitely not going to do the latter, but what about the three former options? Is it selfish to pursue something that makes you happy but doesn't help others? Is it dangerous to pursue something that doesn't make you happy but makes others happy? Is it foolish to not pursue something that someone like you should pursue? These are the questions that I'm trying to answer right now.
I would like to put myself in a position where my work directly helps someone else. I would like to put myself in a position where I love my work. I would like to put myself in a position where my technical and leadership skills will be challenged. How does a computer scientist truly help those that need help? I think it's relatively easy for a computer scientist to find a job after college that they enjoy and that stretches their thinking (e.g. Redfin or Google), but what about helping others? Is it good enough to help your coworkers, family, and friends, or do you have to do more?
I asked my 82-year-old grandpa these questions when I saw him over Thanksgiving break. He started his life as a weapons engineer, where his job was to manufacture weapons to kill the most amount of people for the least amount of manufacturing costs. He later became a sociology lecturer at Chapel Hill and a guardian ad litem once he realized how his weapons work was helping people. I asked him, "Grandpa, how do you really make a difference and help people?" His response was, "I don't know, but I think asking yourself that question is the first step."
I don't know the answers to these questions either, but the hope of this post is to get underclassmen college students thinking. Eventually you'll be faced with the decision, just like I am now, to start your post-college life, and my only hope is that you decide to do something that solves a true problem, that helps other people in a real way. I also hope that you enjoy what you do and are challenged to become a better/smarter/etc person.
Now max out the volume on your computer, click the "play" button on this YouTube video, and close your eyes. It makes you forget about everything else, huh? What a wonderful song. "Hide And Seek" by iMogen Heap
Blogging Analytics
Two absolutely must-have blogging analytics are Google Analytics and FeedBurner. FeedBurner lets you know how many RSS subscribers you have, and Google Analytics gives you a bunch of awesome stats about your website in general. For example, you can know the keywords by which readers reached you via organic search, the amount of time readers spend on your site, unique visitor counts, hit counts, etc. Google Analytics is super easy to install, so there's really no reason not to have it.
FeedBurner is also super easy to setup, but there are a few use cases that require some technical fiddling:
What if you need to change your feed URL in the future and you're using FeedBurner's URL?
When you sign up with FeedBurner, they'll give you a feed of the form feeds.feedburner.com/some_feed_name. If you link your users to this feed, then you've lost all control over the whereabouts of your feed. Users will start adding that feed to their readers, and you won't be able to redirect them if necessary. FeedBurner offers a service called MyBrand that allows you to create your own host (e.g. feeds.example.com) with a CNAME record such that users will subscribe to feeds.example.com/some_feed_name and will actually be reading from feeds.feedburner.com/some_feed_name. This means that you have control over the whereabouts of your feed. FeedBurner has a very nice tutorial on how to set this up.
If you already have a bunch of subscribers, then how will they be redirected to a FeedBurner feed?
You can make an Apache Rewrite rule that forwards your old feed URL (probably example.com/feed) to the new FeedBurner URL unless the user agent is FeedBurner. Take a look at this post for more info.
Here's a little diagram I whipped up to describe what happens when you're running MyBrand and Apache rewrites:
Again, Google Analytics is cake to setup. FeedBurner by itself is also cake, but the two cases mentioned above do require some fiddling. Go install both of these if you haven't already!
Beautify Your Permalinks in WordPress
WordPress allows posts to have pretty permalinks, but they don't work right out of the box. Permalinks of this form perform much better in search engines. I had to fiddle with some Unix permissions and some Apache configs to get them working correctly, so I thought I'd share my experience. While working through this, I commonly got 404 and 403 errors when accessing my blog, so be careful when applying these settings.
Step 1: Apache
Apache needs to be configured correctly. The following code needs to either be put in your virtual host file or in the main Apache config file (apache2.conf in Ubuntu and httpd.conf in others).
sh: /usr/bin/states: No such file or directory
Step 2: Unix Permissions
Eventually you're going to have to change some options in the WordPress admin panel, but some permissions need to be setup first. When you change your permalink structure, WordPress is going to write to .htaccess in your WordPress installation directory. This means that this file needs to be world writable before WordPress tries to write it. Run the following commands in a shell to make sure .htaccess has the right permissions:
sh: /usr/bin/states: No such file or directory
Don't forget to sudo if you're in Ubuntu.
Step 3: WordPress Options
The last step is to change some options in the WordPress admin panel. Navigate to the "Options" -> "Permalinks" tab and select the option that looks like "http://www.yourdomain.com/2007/12/11/sample-post/";
After fiddling with WordPress, you should be good to go! Shoot me some comments if you run into any problems.
Make Code in WordPress Awesome
If you plan to show your code in a WordPress blog, then you absolutely have to get nextthing.org's plugin. The plugin supports different languages as well as external file includes and downloading. It's pretty awesome. Check it out:
or
sh: /usr/bin/states: No such file or directory








