New year resolutions

I’ve written about habits in the past. Specifically, how hard they are to form and sustain. At first, I thought it was because I wasn’t measuring my habits and progress on a daily basis. I was unhappy with all of the habit tracking apps on mobile. So, I tried using plain old Google Sheets to record habits. That didn’t work either.

After several starts and spurts in the last few years, nothing has really stuck. I’ve come to realize that, for me, forming new habits has little to do with measurement.

In my personal case, it has more to do with not letting perfect be the enemy of good. I always start off on the deep end of the pool. I’ll write out my ideal list of habits, and try to hit them all from day 0. Hah. No focus or prioritization.

So, this year, I did something different. I wrote down 8 habits I wanted to form this year. Then, I stack ranked them, and decided which ones were “must do” vs. “good to do” vs. “nice to do”. This whittled the “must do” list to just 2 – exercise and meditate.

This took the pressure off. With just 2 must do things to do every day, everything else was gravy. Now that I look back, January was the most successful month for me in terms of sustaining these habits.

February was less successful (10 days of exercise and 5 days of meditation). I let work distract me from the daily routine. March will be better.

Setting up SASS with Express

Over the last few months, I’ve been using and getting familiar with SASS at work. I had experienced some benefits of it earlier as well but not to the extent to which I did more recently.

There is absolutely no reason why anyone should use pure css anymore when things like SASS and LESS are around. They are much easier to write in and comprehend because of the nested structure. There are many other benefits (e.g. variables, imports, etc.), which I haven’t even fully explored, but I’m already switching over to SASS for my personal project (Skilldom.org).

So here’s how you set it up:

  • Start with exploring the node-sass package. This seems like the most popular package for SASS in the node world.
  • In your node project folder, simply type:
    npm install node-sass
  • In your app.js (or whatever your main node file is called), add this line right before the “static” configuration:
    app.use(sass.middleware({
    src: __dirname + '/sass',
    dest: __dirname + '/public',
    debug: true,
    outputStyle: 'compressed'
    }));
  • You can, of course, change the paths to point to wherever you want to store the SASS files and the compiled CSS files.
  • That’s it. Now you can reference any CSS file (stored in the /public/stylesheets folder) from any template and node-sass will dynamically compile the corresponding SCSS file (if it exists in the /sass/stylesheets folder) into that CSS file.

So, there you go. It’s that simple!

Getting rid of limiting beliefs

In the last 6 months, I have written about building consistent habits and about building side projects. The truth is, however, that its been hard to live up to all the promises I made to myself. I think that’s why I didn’t start with any major new year resolutions! :) I still need to complete the ones I set out 6 months ago!

I can’t believe I am going to quote Jordan Belfort, but I will because his (or maybe someone else’s) idea of “limiting beliefs” rung true with me when I watched this video. I suggest you watch it too. I then read this post by Tony Robbins about the same topic.

Nothing earth-shattering, but I hadn’t thought too much about the distinction between an idea and a belief, specifically laid out this way. So, with this newfound knowledge, here’s to the new year and to new beliefs.

Bring on 2014!

You don’t need a license to create

There’s been much debate about what Paul Graham said or meant in his interview with The Information. Since then, many have written about how sexist or discriminatory Paul sounds or not. Examples are here and here.

All in all, I don’t think Paul meant what his comments sounded like. However, given that not everyone has the full context behind YC and how it evaluates startups, lot of people are making hay out of nothing.

In all of this, we’re missing one simple truth. No one needs a license to create. You don’t need to be any age, creed or sex to make something people want. Yes, existing institutions (e.g. YC) may have a hard time finding a pool of entrepreneurs which represent the global population entirely. However, that doesn’t mean they believe that’s what the world *should* be like.

This was just a simple case of mis-communication. Read Paul’s response to understand why.

Three golden rules for being a successful startup employee

There’s a lot of material that gets written about startup founders – from their struggles to startup best practices and everything in between. Lots of good material too, and from a wide variety of perspectives – founders themselves, angels, VCs, big company CEOs, and several business authors. It’s safe to say that the topic is well covered.

Yet, there is little that gets said about the majority of the startup world – the startup employees. Even, when there is something said (see this google search for “startup employees”), its mostly generic advice – be open to learning, be passionate, persevere, be biased towards execution, and so on.

This is all great advice. For anyone. The thing is that there’s a lot more to being a successful startup employee. I’ve had an opportunity on being on both sides of the startup equation – and what follows is one perspective on what it takes to be successful as a startup employee.

How do you define success

There’s only a couple of good reasons to join a startup as an employee – either you believe in the product or the people behind the company. Ideally, both. If you find yourself in a startup for any other reason, you should probably reevaluate your choice.

Given this, the definition of your success should only rely on two factors – namely, the overall success of the startup and the success of other people in the company. Measure yourself by how much you contribute to those two factors on a day to day basis.

Learn to deal with ambiguity

Startups are a mess. It’s tempting to think, on seeing them from the outside, that startups are free of the annoyances of larger companies. They’re just a team of 20 or 100, or a few hundred. Surely, they’re faster and more organized. Perhaps, they are. A tad faster, or a tad bit more organized. However, what we forget to see is that Startups evolve a lot faster than large companies. With that evolution, naturally, comes chaos.

A successful startup employee learns to deal with the chaos and make order out of it. In any given month, you will feel the pull in 10 different directions. Get comfortable with the ambiguity instead of clinging to your natural comfort zone.

Learn to manage upwards

Given the high chaos environment, its important to manage upwards. Startups often have flatter organizations relative to larger companies. This ends up putting a lot of responsibility on managers as they end up communicating with and managing cross functional teams and initiatives.

A successful startup employee has to learn to manage upwards. This involves asking a lot of “why”s before asking “what” and “how”! Truly understanding the motivation and direction of the leadership is what will make your work the most impactful for the company.

Learn to leave everything better than you found it

In larger companies, it becomes increasingly difficult to take something broken and fix it. There are layers of bureaucracy and middle management to go through to get the right approvals to do something basic. In a startup, there is no excuse.

Not every system you find is going to be perfect. In fact, its highly likely that most systems will be sub par. Don’t criticize, figure out quickly what needs to be improved and work on getting it done. Each small system improvement effort may yield fabulous results in the long run.

So, there you have it. Deal with ambiguity. Manage upwards. Leave everything a little better than you found it. Three golden rules for becoming a successful startup employee.

Three options for fresh grads in tech

If you’re a fresh grad in the tech industry and have aspirations to start your own company one day, there are only three options you have:

  • First one’s obvious – start a company right away. Cost of doing a startup is low, and you chalk up a ton of learning. There are a lot of caveats here:
    • Only do it if you have an idea you are willing to dedicate a majority of your next 5 years to.
    • Only do it if you can afford to financially (read: no student loans).
    • Doing a startup doesn’t mean you don’t need to learn everything you can about the business world. READ.
  • Second is to learn how to build. I am not talking about working on one small part of a large technical system. I am talking about learning something end to end and seeing how it behaves in the real world. Often, these kinds of projects will only be available at small or mid sized startups.
  • Third is to learn how to sell. Sales are the weakest areas within a typical tech startup in the early days. Master this skill and you will be invaluable to any company (and eventually to your own startup).

You’ll notice that to do #1, you need to do #2 or #3 anyway. For whatever reason, if you can’t do #1, focus on honing your building or selling skills. Having been part of large and small companies, it becomes very evident that these are the two bottleneck areas – things that the companies’ success or failure depends on. Don’t get me wrong – support functions like marketing, finance, analytics all go into better decisioning, but ultimately, all of the support goes into building or selling, so why not start your career there? That’e where you get your hands dirty.

Also read up on Andy Rachleff’s post on how to build a career in tech.

Leaving my startup to join Dropbox

This will come as a surprise to many of my friends who don’t already know. I am leaving Padlet and joning Dropbox starting July.

After months of giving Padlet a shot, my co-founder and I realized that we’re just not meant to be business partners.

We were very close friends. We often talked about what the world should look like and how we could , together, make something that people wanted. We always thought we’d end up starting a company together.

However, the fact was that we had come from two very different worlds. Although we are both engineers, and had briefly worked together in college on small projects, our experiences since college had been vastly different.

He had joined a startup straight after undergrad and been an engineer throughout. I had gone into management consulting, and then dabbled in product and corporate strategy. He had learnt how to build world class products and features, and I had learnt how to develop the right strategies to take products to market and to build operations. He had mostly been an individual contributor and I had worked with teams, small and large. I had taken a keen interest in business skills and he despised the term “business”.

However, for some reason, we had always wanted to work together on a company. We just figured we are good people and friends. We’ll be fine.

We realized later. That was very short-term thinking. Long story short, our friendship was not strong enough to weather the ups and downs of start-up life, and without a formal  structure to the partnership, something had to give. We were just way too different in the way we thought about building a company.

Mutually, it was decided that I leave the company. So, I did.

I have since joined the Business Operations team at Dropbox. Its a fantastic opportunity to take a very successful business even farther and revolutionize the way people work. I am really excited about this phase of life! More on this in the days to come.

Even though 6 months is not a long time for a startup co-founder, I did learn a lot of valuable lessons, some of which are included below. I would strongly urge you to also read this awesome post by Harj Taggar, and this one by Naval, about the same issue of co-founders.

Dividing roles and setting expectations.

Startup founders get lots of mixed advice on this topic. Some advisers will tell you to not divide roles early on. Its too early to divide roles. Each co-founder should be helping out in whichever way needed at that stage of the company. Others will often say that you need complimentary skill sets. If one is the tech wizard, try and find a co-founder that has business experience.

My experience is slightly different. There is no right or wrong answer to this, but if you have never worked together before (even if you have been friends), be completely open and honest about how you perceive your and the other co-founder’s skills. Of course they are great people. That’s the bare minimum to form a partnership. Talk about the hard and soft skills each brings to the table and use that as a way to gauge roles that would be fit for each.

If each founder doesn’t feel that the other is pulling their weight or that they themselves aren’t contributing enough value, its time to talk about roles and expectations.

Open and brutal communication

I had written a post about communication for startup co-founders back in March. I guess it was about the time we started seeing the cracks in our business relationship. However, by the time we started talking about it, we had built up enough resentment and distrust. It was difficult to have a productive conversation and see a way out, without it getting too personal.

We both tried, and we both failed. I guess, we were just too late. Harj says it best in his post –

Sometimes I’ll see a team acrimoniously break-up one day over a seemingly trivial thing, despite having seemed calm and fine for months. It almost always turns out there was some simmering ongoing issue that neither founder brought up.

Well, I hope this helps some others out there. I continue to be an avid supporter of Padlet and hope that it goes on to achieve further successes.

As for what’s next for me – Dropbox, here I come!