Thursday, February 28, 2013

Server room

We have a closet at Minted used for Internet cabling and to store a server rack. I started using it for phone calls, when all other conference rooms are full.

Before I knew it, others started using it too.

Yesterday I walked in to find four chairs and a standing desk.


Sunday, February 24, 2013

LUV

I really agree with the management style described in this article: The Sinatra of Southwest Feels the Love:

When Mr. Kelleher, 77, entered the main meeting room, shareholders gave him the kind of standing ovation usually reserved for rock stars. The Southwest pilots union is also in the process of negotiating a new contract with management. But not only did the Southwest pilots not set up a picket line, they took out a full page ad in USA Today thanking Mr. Kelleher for all he had done. “The pilots of Southwest Airlines want to express our sentiment to Herb that it has been an honor and a privilege to be a part of his aviation legacy,” said the union president, Carl Kowitzky, in a statement.

When he brought up the pilots ad — and when he talked about how much the company’s employees meant to him — he wept. “I’m Lucky Herbie for having all of these years with all of you,” he said. More than a few people in the audience wept right along with him. 

No surprise there, either. Over the years, whenever reporters would ask him the secret to Southwest’s success, Mr. Kelleher had a stock response. “You have to treat your employees like customers,” he told Fortune in 2001. “When you treat them right, then they will treat your outside customers right. That has been a powerful competitive weapon for us.”

“We’ve never had layoffs,” he told me the day before the annual meeting, sitting on the couch of the single messiest executive office I’ve ever seen. “We could have made more money if we furloughed people. But we don’t do that. And we honor them constantly. Our people know that if they are sick, we will take care of them. If there are occasions or grief or joy, we will be there with them. They know that we value them as people, not just cogs in a machine.”

When you look at a company like American, with its poisonous employee relations and its glum customer base, and compare it with Southwest, with its happy employees and contented customers, you can’t help thinking that Mr. Kelleher was on to something when he put employees first. “There isn’t any customer satisfaction without employee satisfaction,” said Gordon Bethune, the former chief executive of Continental Airlines, and an old friend of Mr. Kelleher’s. “He recognized that good employee relations would affect the bottom line. He knew that having employees who wanted to do a good job would drive revenue and lower costs.”

I agree that the ingredients to produce devotion in your employees are:

  1. clear goals with metrics, that people are held accountable for achieving
  2. love 
  3. joy and a spirit of lightheartedness

From wikipedia:
During his tenure as CEO of Southwest, Kelleher's colorful personality created a corporate culture which made Southwest employees well known for taking themselves lightly—often singing in-flight announcements to the tune of popular theme songs—but their jobs seriously. Southwest has never had an in-flight fatality. Southwest is consistently named among the top five Most Admired Corporations in America in Fortune magazine's annual poll. Fortune has also called him perhaps the best CEO in America.

Toppled by my own success!

Usually when I try to grow plants, I get very emotionally attached, but they die.

One Christmas-time when my brother came to visit, we had this exchange:

Me: "Tom, can you do me a favor?  I want you to throw this dead plant away.  [point at plant]  But I'm very sad about it, so I don't want you to tell me when you've done it.  Just do it quietly when I'm not looking, and then put the empty pot in the corner.  I don't want to talk about it again."

Tom: "Okay."

Later that weekend, I noticed that the plant was gone, and the empty pot was in the corner.


Photo of a representative plant.

The next day, I had a few people over for dinner.  Linda brought over a tiny potted spruce.  My brother took one look at the hopeful little spruce, and said with a sigh, "Well, I know what I'll be doing on my next trip to San Fran!"

The only exception were my succulents.  My realtor friend gave them to me, and they grew bigger every week.  I am so proud of them!  I love them dearly.

They got bigger and bigger, and then I came home yesterday to find this:

Horrors!

They got too big for their home.  A success problem!

Saturday, February 23, 2013

Must strong people have strong weaknesses?

"Strong people have strong weaknesses.  Where there are peaks, there are valleys."
             - Peter Drucker, The Effective Executive

A few of us at Minted are reading the book "The Effective Executive".  Drew Houston recommended it when he did a fireside chat at our office.  The book contains the quote above.  It has some examples of people who were alcoholic or threw frequent tantrums, but still was the best person at one core part of their job. It goes on to suggest that you ignore the weaknesses in that case.

I agree that if the most effective candidate has major flaws, you should still pick that person over a mediocre candidate with no flaws.

However, I think it'd be better if the super-effective candidate can get over their alcoholism or tantrums, so that they are even more effective.  The book thinks this is unrealistic.

It's true that the famous visionary leaders (Jobs, Gates) are singlemindedly bent on fulfilling their vision, even at the cost of treating people poorly.  There are stories of Jobs firing people in the elevator, and Gates making people cry ("That was the stupidest thing I've ever heard.  What school did you go to?  We're never hiring from there again.")  This book implies that this is to be expected.  But is that really true?

Steve Lawrence, who I worked with for a year at Google, is pretty phenomenal and does not have weaknesses that are the same magnitude as his strengths.  Also Jeff Dean, Omst, and many other people.

I wonder if it's actually that strong people can often get away with having strong weaknesses.  Chris Brown can get away with smashing Rihanna's face into his car -- his records are still selling.  So he is not forced to shape up.

I hope there aren't strong leaders who were debating whether to do the hard work to mitigate their alcoholism / tantrums, and then read this book and decided not to.

Monday, February 18, 2013

oh snap! meteroid

Skype chat at work, with my tech ops manager.

E: "The pope resigning, fire from the sky, and now M [Minted colleague -- adamant Outlook user] wanting to use Gmail.  Yup, it's official, the end is nigh."

Niniane: "Fire from the sky?"

E: "Aliens attacking Russia.  Oh, sure, the so-called 'mainstream media' says it's a meteroid."

Niniane: "It's Aaron Swartz."

Niniane: "Too soon?"

E: "He missed the lawyer by a few thousand miles."

Sunday, February 17, 2013

moving forward with tiny steps

There was a woman at the Google gym who had lost 50 pounds.  Every time I went to exercise, I saw her there.  She must have gone to the gym almost daily.

One day, I finally said to her in the locker room, "I'm really impressed at how often you work out."

She said, "My goal is to lose 100 pounds.  I have 50 more pounds to go."

The most impressive thing is that she was able to go every day, even though any given day makes little perceptible difference.  You don't see additional muscle tone or increased endurance after a workout.  It's only weeks and months later that the accumulation shows its effects.

It is the same way with work.  Every day you make steps forward with your company, product, team.  But even though you're putting in work, the outside world only notices every so often.  For some of the startups I'm advising, there's no external validation for a long time, until one day they've built up enough valuable work, and then the world takes notice.

Because you don't see immediate results, I find there are only three ways to motivate yourself on any given day:
1. Love what you are doing
2. Have enormous willpower
3. Get someone else to pay attention to you and tell you how great you're doing

With exercising, I rely on #3.  I see a personal trainer.  Occasionally I go to exercise classes.

With work, I rely on #1.  As a result, I only work on products that I love, with people I love.

I mentally debate whether #2 is worthwhile.  Is it valuable to build up your willpower?  Isn't it more efficient to just divert more resources into #1 and #3?  Let's say you hate going to the gym.  Why not find enjoyable alternatives (sports) and people to go with you, rather than relying on willpower?

Saturday, February 16, 2013

An eloquent quote about programming

I was searching for an email, and came across these well-written paragraphs from an old friend.

It was in reply to an email I sent, about a weekend on a houseboat. There were a number of other engineers there, from Google and other companies. Some of them were jostling to determine who was smarter than whom, or a better programmer.

From my friend:

"Good programmers realize that programming is hard. We are all struggling along together or separately. We do the best we can with the limited brains we have. Dominance games are for the insecure, the incompetent, and the ignorant.

"Given human nature, I think those people will always be with us. All we can ask is to be in a place where good ideas and true ability and hard work can prove themselves without needing to play those games. And call me naive, but I really do think that for all the bluster of the echo chamber, that Silicon Valley really is such a place, and that's really why we're all here."

It is uplifting to read again, even years later. I am idealistic too.

still works, unless your handles clash

My friend Melbs says about relationships, "Every pot has a lid."  It means that no matter how weird you are, there is someone out there who will fit well with you.

I told this to James, who said, "What if you're a pot that likes other pots?"

Thursday, February 14, 2013

drama! electric cars! logs!

This Tesla vs New York Times scandal is one of the best things I've ever read.

1. John Broder of the NYTimes writes a scathing article.
2. Elon Musk personally posts on the Tesla blog, calling him out for lying, with logs data.
3. John Broder does a point-by-point rebuttal.



Elon Musk of Tesla: A Most Peculiar Test Drive
When he first reached our Milford, Connecticut Supercharger, having driven the car hard and after taking an unplanned detour through downtown Manhattan to give his brother a ride, the display said "0 miles remaining." Instead of plugging in the car, he drove in circles for over half a mile in a tiny, 100-space parking lot. When the Model S valiantly refused to die, he eventually plugged it in. On the later legs, it is clear Broder was determined not to be foiled again.
We assumed that the reporter would be fair and impartial, as has been our experience with The New York Times, an organization that prides itself on journalistic integrity. As a result, we did not think to read his past articles and were unaware of his outright disdain for electric cars. We were played for a fool and as a result, let down the cause of electric vehicles. For that, I am deeply sorry.

John Broder's response: That Tesla Data: What It Says and What It Doesn't
I drove around the Milford service plaza in the dark looking for the Supercharger, which is not prominently marked. I was not trying to drain the battery. (It was already on reserve power.) As soon as I found the Supercharger, I plugged the car in.

Who doesn't love a good fight with logs data, eloquent accusations of lying, and driving an electric vehicle in circles at night?

abnormal dreams

Two years ago, there was a sysadmin candidate that was introduced to me for Minted.  He came with great references and a solid resume.  Due to being gated on another decision, we delayed a few weeks in getting back to him, and of course by then, he was snatched up by another company.  He was very polite in letting me know that we were a few days too late.

This is all very normal.  The abnormal thing is that I then obsessed over this lost candidate for over a month.  I spent hours lamenting this candidate I had never actually met.  

Eventually I realized that I was doing this as an escape fantasy to avoid the harsh reality that I still had to hire someone and it was tough to find someone good. 

Last week, I caught myself doing it again with another person.  I conjured up an entire blissful working relationship in my head, only to find that it did not match the person's real-life interests at all.

I am wondering if this is the dark side to having an active imagination.  Maybe it is the side effect to the skill we cultivate by looking at a blank terminal window and imagining a beautiful framework of code.

I think companies do this too.  They imagine a partnership with another company, and fuel it on dreams instead of day-to-day reality of how well the technology integrates.  They pin their hopes on unlikely PR blitzes instead of repeatable user acquisition.

The only way I have found to cure this is to spend time getting to know the situation (or candidate) with all their foibles and flaws.  Nothing kills daydreams like cold facts.

The sysadmin story ended happily.  A month later, we hired someone amazing and my baseless obsession went away immediately.

Monday, February 04, 2013

Four rings to rule them all

A great image:



The caption says "One does not simply walk into Mordor."

James: It looks like it's driving away from Mordor. Mission accomplished?


Tom: Cool cars never look back at explosions.

Saturday, February 02, 2013

Starcraft Thursday

We have been playing Starcraft at Minted the past couple of Thursdays.


M: Is there any interest in playing Team Fortress 2 tomorrow night in addition to starcraft?

S: I'm pretty awesome at Temple Run but have never played TF2, I'm assuming the skills with transfer across easily, right?

M: Temple run is essentially an iOS port of Team Fortress 2.  You will be fine.

Sunday, January 27, 2013

idealism and good text-to-speech

I am very impressed by the quality of the text-to-speech in this video.  It is from the group Anonymous, on behalf of Aaron Swartz.



I think of Anonymous as a no-nonsense group, but in this and related videos, they show a lot of empathy.  They call Aaron an angel and a fallen brother.  They apologize to his family for having attracted Westboro Church to plan a picket protest at Aaron's funeral.  The narration in the videos are eloquently written.

I also really like the time-lapse imagery they used.

I really respect Aaron Swartz for spending a good part of his recent years in furthering internet freedom.  It is ennobling to see.  Tech media can sometimes be dominated by money-driven headlines: who got funded by how much, who exited for what price, who IPO'ed at what value.  It is nice to see people working toward a mission they believe in.

Thursday, January 17, 2013

compare down

At survival school, they taught us to compare down.

Let's say it's very cold and you are sleeping on the ground, on a bed of pine needles.  You are shivering.  If you think to yourself, "I could be at the Four Seasons right now", you're going to feel depressed.  But if you think "At least it's not raining", then you'll feel better.



I was pretty good about doing this at survival school.  It rained for 16 hours during my first day of solo, and I reflected on the relief that I made the tree shelter before washing clothes, so the shelter was ready by the time it started to rain.

It is a good thing to remember in our modern world!

Sunday, January 06, 2013

Mom trash-talking me


After tea with parents, my mom shared an umbrella with me.

Me: You're so great to share the umbrella with me!

Mom: Of course. Moms are the best. Ask anyone and they will say, "Yes, my mom is the best."

Me: True.

Mom: Except one day, your kids might not.

Me: [shock, dismay]

Mom: They will say "Grandma is the best!"

Sunday, December 30, 2012

Tom, funny, in Puerto Vallarta

I rented an apartment for my family in Puerto Vallarta.  It is near the ocean.

(Mom walking onto balcony)

I was worried that my brother would find it too boring, but he was actually pleased that it's sunny, has a gym, and food is cheap.

"I sat on the balcony and looked at the ocean today," he said.  "If I had a Corona, it would've been a commercial.  As it was, it was a virgin corona commercial."


My brother and I walked past a street vendor who called out to Tom, enticing him to buy wares.  "Is that your sister or fiance?" they shouted at him, referring to me.  

I realized this must be carefully A/B tested to perfection.  Whether I'm his aunt, mom, cousin, or sister, I would be happy that I look like his sister.  Similarly, whether it was his girlfriend, fiance, or wife, she would be happy to be called the fiance, because that's the maximal lovebird-y status.

In every possible scenario, the listener would be flattered.  Good work, street vendor!


I asked Tom whether he would go with my dad and I to Russia (one of my bucket list items).

Tom: "I'm not sure.  I just started a new job, so I might not be able to get the time off work."

Me: "I guess we could postpone it for you, but then you'd better come!  If we postpone it for you, and you still don't come, I would throw you into a lake.  I would tell you that we're going for tea, but then I'd actually drive to a lake and throw you into it."  [throwing motion]

Tom: "Then why wouldn't you tell me we're going to tea, but then actually drive to the airport and reveal that we're getting on a flight to Russia."

...

Me: "There's this tour group that goes around the Golden Ring of little towns between Moscow and St. Petersburg."

Tom: "You would hate it!  They're probably going to start really early every morning.  They'll be like, 'In soviet Russia, human rises with the sun.'"

Thursday, December 27, 2012

Botanical gardens

I am in Puerto Vallarta with my parents and brother.  Today we went to Botanical Gardens.


The main attraction of the gardens was eating in the restaurant.  It looks quite magical with water ponds adorned by lily pads.


Tom with pineapple juice and chicken fajitas.  I got chicken quesadillas.


Afterwards we walked for miles along the beach.  People cutting up a big fish!



Me: [to brother] "When I visit you, let's go to the beach in Santa Monica.  I really want a beach umbrella.  I wanted one last time too."

Tom: "Okay, I'll get one.  [suddenly grinning a lot]"

Me: "What?"

Tom: "I bought that beach an umbrella.  Beaches love umbrellas."

Monday, December 24, 2012

Preparing for Coding Questions in Software Engineering Interview

In 2006, I wrote this guide "How to Prepare for a Software Engineering Interview". Since then, I've been frequently asked: "How do I prepare specifically for the coding questions?"

Today I will answer that. Below are my tips, culled from my experiences interviewing around 500 engineering candidates for Microsoft, Google, and Minted.

My goal is to elicit your best performance during the interviews. To use an analogy, if you were getting ready for a 400-meter dash, my goal is to enable you to run your fastest time and prevent you from freezing up during the race. The tips are not going to turn someone who runs a 10-minute mile into a track star overnight.

1. Practice mock-interview coding questions in these areas:

  • String operations. Implement strlen, strcat, strchr.
  • Data structures. Hash tables, arrays, binary tree.
  • Running time. Determine the big-O of algorithms.
  • If frontend: CSS, javascript, ajax calls, cross-browser compatibility.

Note: The point is to get you warmed up, not to tell you exactly what's going to be asked. Your interviewer wants to ask you a question you've never heard before, and may skip questions (and concoct new ones on the spot) until one that's new to you. So there's no point trying to scour the internet practicing all questions so that you can recite the answer.

2. Avoid extended silences during the coding question. A major reason for the coding question is to observe your thought process, not merely whether you arrive at the perfect final answer.

If you are silent, the interviewer has no idea whether you are analyzing several plausible solutions (a good sign), or whether you are completely at a loss on how to tackle the problem.

Even if you are stuck, here are some things you can do that are better than being silent:
  • Describe algorithms you're considering and then discarding ("Dynamic programming won't work in this case because...")
  • Enumerate edge cases that your algorithm needs to cover ("I'll need to make sure my solution handles an array with duplicate values...")
  • Talk about the part of the problem that you cannot solve ("I need to find a way to split the input into two halves, but all hashing functions seem too uneven...")

Basically, just open your mouth and issue a stream of your problem-solving thoughts. Even repeatedly going over the same conundrums is superior to a long silence.

3. If you see a brute-force solution right away, say it first, and then hunt for the more optimal solution. At least you've demonstrated that you have one potential solution, even if it's not efficient.

If you don't get the refinement, you can always implement the brute-force method, and impress the interviewer with your quicky-written and correct (albeit inefficient) code.

4. Practice writing code on paper, without a syntax highlighter. I mentioned this in the 2006 guide and it is worth re-iterating.

It is going to feel foreign at first. You will suddenly forget how to write for-loop syntax when you are using a pen or whiteboard. That's why it's even more important that you practice beforehand.

Good luck and godspeed to you.

Sunday, December 23, 2012

Cake at work

Cathy, one of the graphic designers at Minted, made this cake.


It is a mocha chip and peppermint cake.  We used it to wish the interns farewell, though two of them were too cool for school and didn't even come over to look at their cake.  We still ate it on their behalf.

Thursday, December 20, 2012

Dickens Fair!

Last weekend, I went to Dickens Fair, an annual occurrence in Daly City.

I finally understand why some people get addicted to shopping.  I could not stop buying hats.  I spent an hour trying on and buying different hats.  If I had not left, I would've purchased more hats.  If those hat merchants had any sense, they should've seen that I was a giant mark and bombarded me with their wares.


Groups of women regularly walked by in petticoats. It was awesome. Occasionally the Queen came through and blessed us, and other attendees said in an English accent, "Bless you, Majesty."

Me with one of the workers at the Fair. Her dress is homemade!