Having a team behind your back is pretty nice.
You’ve got one of those software engineers that, well, is probably one of those people who sleeps with a copy of CLRS (The Infamous Algorithms Textbook) under a pillow. Or you can chat with your designer whom can visualize a layout in his head like Picasso visualized and created the Mona Lisa. Or you can ping your favorite pal in QA to help you decipher a bug that you can’t even begin to hunt down. Or, without even being asked, that one odd pedantic generalist on your team will probably be the first to proactively nudge you and volunteer that no, you made a mistake, you were actually thinking about Leonardo Da Vinci making the Mona Lisa, not Picasso.
The TLDR, is teams are nice. But when you’re building a startup, you have to start somewhere. And with half of the successful exits run by solo-founder companies, many of those startups start out pretty lonely.
I’ve been working with one other person for a while on Communote, with a varying amount of success and productivity, in between times of fewer productive stretches. Startups are very hard, small startups are harder, and staying productive in a startup is even harder. Here are a few things I’ve learned as I continue to chunk away at Communote.
Being able to leave work undone has done wonders for me. Especially when I have a task that requires an hour or two more of my time to knock off. I end up spending my leisure hours thinking about the problem, in a way that almost feels like a chore. I know it’s not going to take hours of time to get back into it, so it’s a less heavy problem to mull over.
I have a hard time getting started some days, just because there are always so many damn things to build and I don’t have a god damn clue where to even start. However, knowing that I have a pending task that I can knock out and already accomplish before I get started with other things in my day… Wow, what a breath of fresh air. I can totally do that. The rest is a problem for later.
…But one I get started, it’s way easier to keep the ball rolling. I cannot tell you how many times I’ve planned to do something for about fifteen minutes an end up looking up from the computer screen two or three hours later.
As I build Communote, I can have more standup meetings than I’ve ever had working at any company. That is because I can do all my standups in the shower in the morning, and it continues on my daily commute via slack/fb-messenger with my colleague.
The number of standups has been on an increase for me, as I move away from the exploratory hacking phase of the startup, to more of the okay-how-do-I-build-and-ship this thing phase. It’s basically a challenge: what is the thing or the things that I want to accomplish today? Once I started framing it in terms of “what can I accomplish today?” instead of “what can I work on today?”, I started seeing more concrete progress
This is kind of only half the battle, though. You also have to hold yourself accountable for what you said: always compare with what you said you were going to do yesterday. I’ve been getting much more into tracking this type of thing by using a kanban board
This is a little weird but wanted to include it anyways.
You obviously cannot just always work on what you want. Only a delusional company would have the guts to stay that. As an engineer that is building a startup, the responsibility stops with you, you have to do all the stupid bullshit, because nobody else will.
There were so many countless times, where I was working on some aspect of the company with my friend, that was frustrating, or slow, or just something I really just didn’t want to work on right then. I’ve gotten better at listening to those complaints, because extracting code from your brain when you’re really not into it is not going to end up with great code in the first place.
At times like these, and time allowing, I like to push the work aside and do something new. Either literally try something new, like some new technology or framework, I’ve been dying to use, or just shift my concerns for a while. For example, if working on the frontend is killing me, I try to switch my concern to the backend. If everything about the startup is killing me, I just like to put everything aside and do something else, like going to the gym, watching a TV show, or hanging out with friends/family.
There’s something to be said for focus, of course, but life’s too short to constantly throw yourself at the wall day in and day out. If you really believe in your product and think that generally, it’s something that can get you stoked, then taking a break for a while is usually worth it, and is more productive in the long run.
Part of writing this is to give myself a kick in the pants, of course. I’m not as productive or as far along as I’d like. I am just like any human being, when there is a chance to procrastinate, I take it. But what has been freaking me out recently is the fear: You’re not shipping fast enough, your product blows, what are you even doing as a human being anyway.
But that’s cool. Everyone who’s legendary at this, tells me that’s all pretty normal, so I’ll convey the same advice that they have all given me.
Stay on target, enjoy the ride and build some cool shit