Personal blog of Edward Kim.

Many people don’t understand the difference between company culture and values. Values are a set of thing that you say are important and right. They’re very high-level and are a set of ideals that you aspire to have. Generally, they’re immutable and an innate part of who you are. Culture is really just the embodiment of those values. They often come in the form of processes, practices, team structure, how you communicate, traditions, and more. While values are more or less static, culture can constantly change.

In the same way a company’s product is an embodiment of its mission, a company’s culture is an embodiment of its values. I’ve found that one key to building great company culture is to think of building culture in the same way that you think about building your product.

There’s many ways to build a great culture, but here’s a couple things that can help.

Define your values

One of the first things we did at ZenPayroll after we hired our first 5 employees was to talk about our personal values. We then discussed which of these we felt were important to have as our company values. Most of our initial hires were engineers, and many of them probably felt at the time that we were wasting a bunch of time talking about our feelings instead of coding. As the CTO, I’m sure I had some of those thoughts in the back of my mind as well. Looking back, this was probably the single most leveraged thing we did as a company. The 6 values we came up with still live with us today and are the bedrock on which our culture is built on. Having strong and clear values that everyone commits to is a prerequisite to having a great culture. Strong values espouses a strong culture. Weak values espouses a weak culture.

Measure and iterate your culture

In the same way that we measure product NPS, user adoption of new features, and the conversion rate of our on-boarding funnel, we also measure our company culture and iterate based on the results. These culture measurements are done in a surprisingly similar way to how we measure product.

We regularly out surveys we call "ZPulse" that contain a number of culture-related questions that everyone is encouraged to answer anonymously and truthfully. The results are compiled, cut by department, and shared with each of our People Empowerers (our version of managers) with suggestions on what they can do to improve culture. It’s really important to be honest with ourselves about the feedback and proactive about implementing changes.

Culture can seem like a very intangible thing to build in a company, but I find that if you think about culture in the same way that you think about product, it’s much easier to understand and build.

After graduating from college, my first job was as an engineer in the Volkswagen Group Electronics Research Lab. The mission of this group was to build and integrate web services that would improve the driving experience for our customers. I joined Volkswagen because I was excited about this mission, and I worked hard with like-minded people to help usher in the age of internet-connected vehicles.

I loved every day of work at Volkswagen because of the mission that I was on with my team. But 2 years later, I decided to leave to start my own company. On my last day of work, a feeling of sadness overwhelmed me as I was packing my desk. I probably even cried a little. But it wasn’t just because I would not be there to see the mission I signed up for through to completion. It was more because my colleagues had become my friends and I had to say goodbye to all the wonderful people I had created so many memories with.

Looking back, I realized a very interesting thing happened: I joined a company to be a part of its mission. But over time, the people I worked with became a bigger and bigger part of what kept me there. By the end of it, I came to the realization that while I still very much loved the mission we were on, the people that I interacted with every day were even bigger factors of why I loved coming into work.

If the environment is just right, the lines between work and life can sometimes blur over time. We join companies and initially get put in teams with complete strangers. We solve problems and celebrate our wins together. We chit-chat in the hall, have a drink together, laugh, fight, and become friends. We sometimes even fall in and out of love with each other.

Though we may still call it “work”, the people we see every day gradually seeps into our lives. Of course, a lot of life happens outside of work as well, but the boundaries of work and life are not as clear as the hours on our time sheets.

I’m excited to come into work every day. It’s because of the mission I’m on, but it’s more because I love the people I get to be around.

Reid Hoffman et al. recently wrote an article explaining that
a company can never be like a family. I respectfully disagree.

My company, ZenPayroll, is
a family, and here’s why I think it’s fine to say this.

Firstly, it’s important to remember that when I use the
word “family,” I don’t mean the literal sense of the word. “Family” is a
metaphor that best describes the sort of relationship we strive to have with
each other in the company.

Allow me to draw an example from my personal life. I have
hundreds of friends, but I only consider a couple of them close enough to call my brothers. They call me the same. That doesn’t mean we have the same mother
and came from the same womb. It’s simply a way to say that my relationship with them is more akin to the one I have with my two actual sisters than it is to most of my friendships. My “brothers” know all about me and I them,
just like my real sisters do.

In the same metaphorical way, I use the word “family” to
describe the people in my company, ZenPayroll. It doesn’t mean that we’re an
actual family. As the original article accurately points out, a company can fire
their employees, unlike a real family, who shouldn't fire their kids. It does,
however, mean that the relationship we currently have with each other is more than just a team, which is just a group of people bound together only by a common goal. We're probably more like a large group of cousins.

Here are a few small ways I feel we’re more like a family than
a team:

We eat meals in the office around the dining
table. Seldom do people take food back to their desks. Why? We actually enjoy
each other’s company. The conversations one might overhear are eclectic and not
typically about work. They can involve a lot of laughter, debate, and are sometimes over a bottle of wine. Our meals are more similar to a family gathering around a dinner table
than it is a corporate mess hall.

Most everyone has nicknames for each
other. Puzzles, Muscles, Numbers, Hustles, Waffles, Bubbles, Banana Slicer, to
name a few. Nicknames are not in themselves so special, but they do point to a
closer relationship we have with each other than a “colleague” or “co-worker.”

We take our shoes off in the office – our office is uniquely us and we try to treat our office with the same level of care as we would our home.

Not everything we do together is all about work.
Weekend bike rides, midday runs through the city, and Friday evening wine
tasting at Bluxome Street Winery are just some of the things we do together
outside of work. This is not "team-building" either. It’s not mandatory fun or company sponsored. Not everyone participates, but many do. It’s natural and fun. We actually enjoy our
relationships with each other and want it to be more than professional.

Unlike a team, which must always optimize decisions that
will result in the shortest path to their goal, we’ll often optimize decisions
to do the right thing for our family. As it turns out, making decisions to protect
our family is often the best way for us to achieve our goals as a team.

Perhaps a more accurate thing to say is my company is
family-like, but that just doesn’t have quite the same ring as family.

There’s much talk about software
that is “magical” and “just works”. But in a world of privacy violations, security breaches, and blatant misuse of user data, software that is too magical can sometimes leave users with a sense of suspicion about how the magic happened. If software claims
that it “just works” and tells its users that they need not sweat the details
of how it works, they’ll start asking
the question: “What cost did I pay for this seamlessness?”

Consider Google Now, a feature on Android smartphones. If I have a flight back to San Francisco today, it displays a notification of my flight status without me having to even ask for it.

That’s pretty magical.

But had I not explicitly given Google Now permission to scrape my email inbox for the sole purpose of letting me know my flight statuses, it would also be very scary to me as a user. Suddenly, this would be black magic to me.

If this is true for consumer mobile apps, then it is especially true for software that is providing
some sort of business-critical service. Yes, it’s important for software to be seamless,
but it’s just as important in today's world to tell the user exactly what’s going on
behind the scenes.

Does it take away from the magical
user experience? Maybe a little. But it also reassures users that you’re taking their
information seriously and being good stewards of their data.

This is especially true if they are using your software for the first time and beginning to build trust. Remember that trust is earned over time, through repeatedly delivering on promises, and not given by default.

At ZenPayroll, we do lots of “auto-magical” things on behalf of the companies we run payroll for, including paying their payroll taxes to the IRS and filing quarterly and yearly forms such as the form 941, form DE-9 and new hire reports like form DE-34.

We could simply tell the business owner: "Don't worry, we'll take care of everything for you" and leave it at that. With their business and employees' livelihood depending on what we do, the stakes are too high to rely on magic. They start thinking: "What does everything mean exactly?" or "How do I know you haven't forgotten anything?", especially if they've just switched to ZenPayroll and are used to doing everything themselves.

Our strategy is to keep them appraised every step of the way. We'll say things like: "We'll be filing the 941 and DE-9 for you this quarter. Take a look at the form we will file and let us know if you see anything wrong with it. If it looks good, you don't have to do a thing. We'll automatically take care of it all for you by sending it to the IRS." After we actually file the form for our users, we'll let them know through an email and remind them again of what we've done.

Repetitive? Yes. Reassuring? Hell yes.

Technology enables us software developers to do magical things for our users. Just make sure that you, the magician, reveal your sleight of hand to your users.

I made quite a sum of money developing and selling apps on the Android market, peaking at $57,000/month (see chart below). Eventually, the business declined, but the rise to the top was an exhilarating feeling -- only it was too short. After the decline of the app business, I jumped back into a new startup, ZenPayroll to look for an equally exhilarating but longer ride. If you want to know what it's like to start a startup, but don't want to spend years of time and your life savings to see what it's like, an app business is a great, low-cost way to get a taste of what it could, or could not be.

--

In 2008, I started Picwing. With just $15,000 from YCombinator, we made some hardware, then pivoted to software and ran the business for more than 2 years. It was an enduring time for my co-founder and I. More than a year of sweat, blood and tears was initially met with little success. But eventually, we were rewarded with slow but steady growth. After a small acquisition, I eventually left to try my hand at developing and publishing Android apps. My hope was that, compared to Picwing, which took years to build, I could develop and sell an Android app in mere months.

My hypothesis proved correct. Compared to the startup, my experience developing Android applications was much more fast-paced and eventful. It really started with a simple app I wrote called Car Locator in August 2009. After 2 months of publishing it, I was stoked to share in November 2009 through a blog post that I was making enough money to pay for my lunch. Things really started to take off in March 2010. You see, at that time Android was still a very small platform and many questioned its competitiveness with the iPhone app store, so many were surprised and delighted when I shared my success story of making $13,000/month in app sales. The news sent ripples through the tech community, and Car Locator came to be featured in magazines, radio shows, blogs, and even Verizon TV commercials. All this in just 6 months. As Android continued to grow, so I continued to ride the wave by developing and releasing more apps. The business reached a peak when I was doing $57,000/month in Android app sales.

I was stoked during my entire Android app journey. Watching these numbers grow week by week, and scheming on what I can do each week to affect it became my daily obsession and joy. In many ways, the ups and downs of my Android app "startup" was similar to that of Picwing, except things were measured in weeks and not months or years.

But things that rise quickly fall just as fast. My Android business was no different. The interesting part of the app business ended after less than 12 months and I was left thinking how I wished the ride was just a little bit longer.

Richard Foster's book, Creative Destruction, shows that the average lifespan of a company in the Fortune 500 is about 15 years. How I wished my Android apps could have lasted 15 years! Unfortunately, due to the laws the govern app store rankings, which are set in place to incentivize developers to push "new and noteworthy" apps, the lifespan of a successful app business is significantly shorter -- on the order of 12 months.

And that's when it hit me.

Starting an app business is just like starting a "normal" startup like Picwing, only the timeline from start to finish is significantly compressed. The amount of financial investment you'll have to make is significantly lower as well. Of course, so will the potential financial reward, but I believe many of the lessons and experiences that took me years to acquire at Picwing, I could have acquired in mere months by starting my Android app business first. Most first-time founders will fail at their first startup -- the important thing is that if you fail, you fail fast and learn quickly from your experiences. Mobile app development is a great way for founders to take their first swing at building a company without risking a ton of time and money.

If you're thinking of jumping into starting a startup someday, and you're curious to experience what it's like before really diving in, I strongly suggest starting an app business first. You'll get most of the experiences -- good and bad -- in a much shorter period of time. If you like it you'll probably love doing a real startup.

ZenPayroll is culmination of my past 2 startup experiences and what I know will be my life's best work. I look forward every day to the new features we'll build and the customers we'll delight. But at the same time, I'll always look back at my 2 startup experiences with fondness and appreciation for what I've learned.

Many services push users to log in/register using their Facebook credentials so they can get additional demographic information about them. Only if you absolutly don't want to sign in using 3rd party credentials will these sites begrudgingly allow you to register using the traditional pick-a-user-name-and-password form.

StackOverflow has a particularly cunning way to get you to register using your Facebook credentials.

StackOverflow's signup page starts out like many others -- they strongly encourage you to sign in using Facebook, but also put a link to their traditional sign up page

Generall a private person, I usually decline to sign in using my Facebook account, so I navigate myself to their traditional signup page. It looks like a standard signup form at first, but then I quickly realized their password requirements are just plain ridiculous. Your password on StackOverflow needs to:

Have at least 1 uppercase letter

Have at least 1 number

Have at least 8 unique characters

Really?! Have at least 8 unique characters?! Even my bank doesn't require this much complexity in a password. And we're talking about StackOverflow here -- a site that doesn't really store any valuable personal information like credit cards.

Discouraged by having to invent a completely new password just for this site, I decided to hit the "back" button on my browser and just sign in using my Facebook credentials.

This seems like a brilliant tactic to get more users to sign in using 3rd party credentials. I wonder what percentage of SO users sign in using Facebook, and how this compares with others.

EDIT: I was informed by someone at Stack Overflow that this in fact was not their intention at all. Futhermore, they don't use any of their user's Facebook profile data. I now realize it was a bit of a stretch to say that Stack Overflow engineered their UX in this manner.

Regardless, the strong password requirement DID convince me to sign in using my Facebook credentials, and I'm sure it will convince others as well. In conclusion, I think a very strong password could actually funnel users into signing in with 3rd party credentials.

I should also say that I'm not complaining about SO's strong password requirement.

EDIT 2: I also didn't realize until now that Stack Exchange is an identty provider, in which case the strong password requirement completely makes sense. You shoud probabaly just disregard anything I said in this post, as I clearly didn't know what I'm talking about :)

Pretty soon, I'll be taking a vacation in South America. Unfortunately, neither my friends nor I know a lick of Spanish or Portuguese.

Camera Translator is a new Android application I wrote that lets you translate text into any language, simply by taking a picture of it. It's really the easiest and most accurate way to translate text using your camera

I love Android, but copying text is one feature I've always found lacking. With the removal of the track ball on most newer Android devices, selecting text to be copied has gotten even more frustrating.

"Copy Text" is a new Android application that lets you copy text of ANYTHING on your phone. I can try to explain in words, but I think a video will do it more justice:

As you can see from the video, you can literally copy anything into your clipboard. If the text is visible on your screen, its able to be copied into your clipboard. You can even copy images of text into your clipboard and "Copy Text" is smart enough to extract the text from the image.

The best part about this? It does not require you to root your phone. There is a one-time setup process you need to go through that involves connecting your phone to your computer, but there are easy-to-follow instructions that come with the app to walk you through the process. Essentially, "Copy Text" is a non-root version of a similar app I released called "Copy Paste It". If you have a rooted phone, you should still get the "Copy Paste It" app, as it does not require you to go through the setup process that "Copy Text" does.