Tag Archives: startup

The fluctuating social lives of startup founders

Chucking everything you know to become an entrepreneur is anywhere from exhilarating to depressing depending on the moment—and it fluctuates quite a bit.  Today I’m going to talk about one of the hardest parts: friends and family.

 

In The Before Time…

I’m a reasonably social person who enjoys a lot of activities.  Before I became an entrepreneur I would attend probably two big events per month, and I’d dance and climb with friends multiple days a week.  I threw jam sessions once every month-or-so.  I had weekly low-key engagements with a couple friends on the nights I wasn’t out playing.  My family are all far away, but I would visit for a week or two every year and spend quality time with them.

Before my cofounder and I decided to create something together, I was on a self-imposed sabbatical.  I had quit my previous job and decided to be funemployed for a while.  I took a month or two to get things done around the house and relax, then set off on travel adventures for the summer. In the fall I took online courses, attended a great conference, made things, worked on skills, and thought about what I wanted to do next.

During all this time off I also socialized like crazy.  I hung out with friends during the day, at night, on the weekends.  We went on adventures, we stayed in, we talked, we played.

I never said no.  My friends got used to me being around and available.

How to Shave a Cat

Why yes, of course I’ll help you shave your cat!

…And Suddenly, Startup Foundership

When I agreed to become a startup founder, and the only full-time employee, I had trouble convincing my friends that I couldn’t do things anymore.  Technically, I was available at any time, but I still had a lot of work to do, a lot of stuff to learn, a lot of things to plan, and just a ton on my mind.  Every interruption necessitates extra time to get back into the previous context before you can proceed.  When I visited family I found I had to explain daily that “I have to work every day” means “I have to work every day.”

 I was becoming overwhelmed, but I didn’t want my friends and family to feel betrayed by my sudden change in availability.

 

Social Time Management

Being me, I created a method to ramp up my unavailability that allowed me to provide reasons my friends would accept, or at least understand.

I started to come up with arbitrary but helpful rules for when to say no, with very reasonable starting points.  Just say no:

  • If I already had a social engagement planned for that day, at any time;
  • If they didn’t give me more than half a day’s notice;
  • If I already had a social engagement planned with that person during that week;
  • If I already had 5 social engagements planned for that week.

And I prioritized mitigating circumstances when I could multitask my social events:

  • If it included exercise;
  • If it included errands;
  • If it included a meal and no extra time;
  • Occasionally, if it encouraged me to pursue a hobby, for which time had been dramatically reduced.

Over time, and depending on the stage of my startup, I continued to decrease my availability until I had only the minimum social obligations to keep me sane.

 

Aside: The 24-hour No-Work Dictate

I originally thought I would have to stop throwing my monthly jam sessions.  The event itself was pretty optional for me, though several of my friends really loved it.  But over time I found that it was absolutely necessary to my sanity, because it was the only way I could make myself stick to taking an entire day off every month.

For all you startup founders, I highly recommend finding a way to convince yourself to take one 24-hour period completely off from work each month.  There are a lot of tips and tricks for avoiding burnout.  Very few startup founders are able to take proper weekends.  We get so used to doing at least some work every single day.  Many of us have flexibility to schedule fun/social stuff whenever we want, so we take it for granted that we need to stuff work into all the nooks and crannies in our schedule.  We overwhelm ourselves with the intense focus, with the context switching when we’re not focused, with the guilt when we’re having a good time not working, and in many other ways.

Make sure you take a long, uninterrupted break from work at regular intervals to refresh.

 

The Hardest Stages

From a few weeks before the Alpha release, through the Beta release, to a few weeks after the public release, I withdrew from all but the bare minimum of social obligations.  That’s more than 6 months when most of my friends didn’t see me, many close friends barely saw me, and some close friends only saw me because they made fabulous offers to cowork or co-errand.  (You guys rock!!)

Toward the end of this time I was receiving pleas every week from friends I hadn’t seen in months.  When will you go dancing again?  Please come to my game night!  I know you want to go climbing!  When’s your next jam session?  Why haven’t you gotten back to me?  I’m visiting your town tomorrow night only!  Are you going to that party?  I haven’t seen you in ages, what gives?

Every week I had to apologize to at least one person and assure them it wasn’t personal and I would emerge from my voluntary isolation…in a few months.

Phone

“Hi, you’ve reached Megan. I’m not available right now, but if you leave a message I’ll try to get back to you in 3-5 months.”

Moving forward

I’ve only recently emerged from this, only to spend most of my non-work time looking for a new place and packing.  My move is imminent, though, and unpacking is a delight for me, so I expect to start reclaiming my life in a couple weeks.  I’m already slowly and tentatively increasing my social availability, but I’m a little worried about offending or bumming out the friends I can’t get around to in the first month or two.  My near term social schedule is likely to be based on who pings loudest, most recently, or most frequently, combined with which logistics are most convenient for me.  I want to see everyone!!  I don’t yet have the time and energy to make that happen, but eventually I will.  I’m really looking forward to it!

But I’m also a little apprehensive.  I’m not sure how many of my friends really understand why I’ve disappeared, and I suspect some never will.  It is a choice.  I did prioritize my work over my friends for a while.  But it wasn’t personal.  I just really had to try this startup thing, and I really think my startup can help a lot of people.  I think the vast majority of them understand that on some level, and I’m very grateful for their understanding and support.  (Seriously, you guys rock!!)

Looking for our next equity hire!

Still working on an official job posting, but unofficially: at AdaptRM we’re looking for our next equity hire!

 

Do you know a web infrastructure/optimization guru who enjoys the prospect of:

  • building a shiny thing with a small team of awesome people
  • trying on lots of hats
  • helping independent professionals leverage their own data to manage their time and reduce business overhead

 

Drop me a line or an introduction if you know someone who might fit this bill. Bonus points for people who can be in the SF Bay Area at least once a month.

What does a startup CTO do during Alpha release?

Until a couple months before the Alpha release, on most days I picked 2-4 from a platter of about 8 largish tasks that could further my project significantly.  I had the luxury of picking the types of tasks I wanted to focus on that day.

 

Shortly before Alpha release, and through the Alpha, I have not had that luxury!  About 3/4 of my time is spent on requisite QA, project management, and communications (with my contractors, with my partner, and with my Alpha customers).  The rest is spent on whatever is the most urgent need: HR, finances, additional bugfixes, competition research, marketing items, etc.  At this point, time schedules me.  It’s all reactive.

 

During the Beta, I expect this to be almost the same, but with more time spent communicating with customers (because there will be more customers!  Yay!).  Fortunately, I can share some of the load with our Community Manager during that time.

 

I’m not sure what my focus will be after MVP.  I expect it will be reactive for a couple months, and then I will have time to get more proactive again.

 

This is a really interesting experience!  I love how varied it is, even if some days are a little overwhelming.

Least favorite hats

My second least favorite hat to wear as a startup cofounder? Nag.

I’m constantly having to ping and re-ping people about this, that, and the other thing.  I find myself expending a fair amount of creativity coming up with “reasons” to ping.  A tiny piece of new information or an inconsequential question that’s tangentially related to the thing I’m actually pinging about.  It would technically be more honest to just say one of the following:

  • Dude, I think you forgot the thing.  Please don’t forget the thing!
  • I know the thing seems small to you, but to me it’s critical for {planning, marketing, customer support, etc}.  We needs our precious now!
  • You keep saying you’ll have this thing ready for me “tomorrow” or “soon”, but you are clearly the worst at estimates.  Just give me an accurate estimate and I’ll let you be until that date rolls around.
  • Please stop avoiding me and just finish the thing!!  I’ll get off your back when it’s done.  Pinky swear.

Yes, that would be more honest.  But not only does coming up with tiny excuses for the nudge make me feel less dismal, it makes the people I’m talking to feel less dismal.  And that makes both of us more likely to muddle through and lead a cooperative existence.  Which in many cases leads to less need to nag.

My least favorite hat is still CFO.  As soon as that starts to take up more than a couple hours a week I’m hiring someone to do it for me.  It’s not difficult.  I just get incredibly impatient and tense that I’m not getting anything done.  Which I am.  But I feel like I’m not.  It’s weird.  Totally worth paying someone else to take those feelings off my hands.

Progress

Last week I had a day when I received major deliveries from 4 different contractors.  I knew immediately that I wouldn’t be making any progress on my own to-do list, but obviously it was great progress for my product.

Today I have no deliveries to review (though I received a pre-approved final delivery on one contract, woo!).  You might think I’d be bummed about the lack of progress, but that means I finally get to trim my own to-do list, which grows rampant every time I receive deliveries.  And there sure have been frequent deliveries as we near the Alpha release….

Progress comes in many different forms!  It’s good to have some balance.

A few good reads

Startup and career

Thrive15: training, mentoring, and more for aspiring entrepreneurs

Some solid interview advice from a friend of mine

An old but interesting article on password strength models, focused on the zxcvbn metric

 

Data analytics and visualization

PourOver: a JavaScript library from the New York Times focused on fast filtering and sorting of large collections

Visualizing Health: a scientifically vetted style guide for communicating health data

NewsVis: a directory of news visualizations

Scientific Dataa new open-access, online-only journal for descriptions of scientifically valuable datasets

Visualizing MBTA data, a very in-depth look with some solid visuals

On startups and hiring

Genius Hiring Feedback

How you know your recent hiring decision was genius:

  • Your “urgent tasks” list is dramatically reduced to the point where you can start working on “things that need to be done soon”.  And all the tasks you transferred to the new hire are getting done.
  • You find yourself with a little bit of “free” time to step back and look at the big picture.  Especially as you approach release, it’s so easy to get mired in details!
  • You find yourself with a little bit of “free” time to work on the pieces that will really differentiate your product or service.  It’s easy to let these slack a bit, because the competition isn’t providing them at all, but at the same time it’s important to make sure they really stand out!

Wishlist hires

I have been the only full-time, committed person on this project.  As such, there are many people I have grown to appreciate even more since founding this startup.  Everyone who works in/as:

  • Operations
  • Infrastructure
  • Marketing
  • Accounting
  • CEO
  • committed tech minions

These people are all amazing, and while I can do a passable junior-to-intermediate level job at all these things, my life is greatly improved when experienced professionals do them and I can focus on my areas of expertise and passion.  But it can be difficult to identify the next role to hire that will clear up my time to work on other things.  This is complicated by some challenges that are unique, in my experience, to this experience.

Startup hiring challenges

First, my employees are all consultants.  Actually, technically, I’m a consultant!  For my cofounder’s umbrella corporation, until we spin off.  That means the people I hire are relatively independent of each other, even if I occasionally put two of them in contact for a collaboration.  I’ve managed and integrated the work of a half dozen people before, but it’s a very different experience with a lot more integration work when they’re all functionally independent.

Second, I have to think carefully about how long it will take me to get them up to speed for these tasks.  If it will consume too much of my time, and I’m not guaranteed to have a long-term contract with the hire, it’s a no go.

Third, if the work I want them to do can’t be cut off from others’ work very easily, I don’t want to hire someone new to do that.  I might be able to grow someone into an integration role, but it’s best for me to oversee that until I have confidence in the employee.

Fourth, if it’s work I’ve been hired to do in the past, and I don’t mind it, it can be difficult to give it up to someone else.  After all, I may be better and faster at it, and I don’t need to be brought up to speed.  But in reality, I spend easily half my time coordinating everything, and the rest of my time is better spent on tasks I can’t reasonably dole out to anyone else.

Celebrate good decisions

You get the idea.  There are a lot of considerations, and identifying the most appropriate new hire is complicated.  I recently hired a developer to do some of the more separable integration, improvement, and bugfix tasks for me.  Best decision I could have made.  It’s exhilarating to have all three of those genius hiring feedback items within two weeks of a new hire!

oDesk applicant rate

First time I posted a job on oDesk it was for a Mac desktop developer.  I got 4 applicants, 2 of whom I had invited to apply based on a search.  I knew this one would have too few applicants.

Second time I posted for a Community Manager and got less than 20 applicants in a week.

Third time I posted for a Windows desktop developer and got about 20 applicants in two days.

Today I posted for a web front end developer and got 25 applicants in two hours.

You may draw your own conclusions!

Google App Engine (with Django and Google Cloud SQL)

Why cloud computing was a no-brainer for me
I’m an analytics person. I wasn’t even a pure Computer Science major; I did a joint (not double) major with Mathematics. Why am I telling you this?  Because I dislike working with hardware.  In fact, I dislike working with any code or tool that knows anything about the hardware.  I like to stick as close to pure, elegant Mathland as possible.  That’s why I am ecstatic to be building in the time of buzzwords like “cloud computing”.  Someone else takes care of the hardware, infrastructure, and scaling for me!  It’s brilliant!  Obviously there are some limitations that may be relevant to specific domains, and if you have very specific infrastructure or scaling needs it’s probably not as good as rolling your own hosting system.  But it’s great for me to bootstrap on a shoestring budget!

Why Google App Engine
I checked out both Amazon EC2 and Google App Engine, and from the point of view of my service’s requirements, they had almost identical offerings.  My cofounder had some previous positive experience with a project using Google App Engine.  It’s free, and it supports goodies I intended to use, such as Python, Django, SQL, message/task queues, email, and crons.  And it seemed likely to make it easier to allow Google sign-in, or to integrate with other Google services if necessary.  Everyone I talked to seemed to think there was no particular reason for us to choose Amazon over Google, and I saw no particular reason in my researches, so we went with Google.

Getting started is easy
It’s surprisingly easy to get started, despite the complexity of customization available.  You download the Launcher to run your local sandbox, and just point it at the code.  The sample settings files get you off the ground in no time, and you can start building immediately.

That said, it won’t be clear how to tweak settings like the app.yaml file if you don’t read the documentation, and more advanced settings like Google Cloud SQL require a lot more reading than you’d think.  In that case, you have to run SQLite in your local sandbox after adding a line to a local settings file, and the way you access your databases in the sandbox vs your development, staging, or production servers is completely different.  As you get to more advanced or newer features like SQL, you’ll find yourself getting more frustrated with the developer documentation and relying on the copious StackOverflow posts generated by previous frustrated users.

In general, getting started is easy, but adding customizations and additional features takes some research.

Generic deployment is easy
Deploying is super-easy.  You tell it once where to upload your code, and you press the “Deploy” button any time you want to push data to the server.

If you want to set up multiple servers, such as for dev, staging, and production, then you have to do things a bit quirkily.  Some people try to do this by changing the application version, but then you end up with staging and production sharing the same databases.  The popular solution here is to register multiple “applications” with Google, one for each release phase.  Here’s a sample how-to.

Deploying database changes is quirky
Quirks here come in when you’ve added customizations or advanced features.  We’re using Django, so after we hit deploy, we aren’t necessarily finished with our remote update.  We have to run a database synchronization on the command line to force database updates.  In order to do the remote database synchronization, you can’t just hit “Deploy”.  You have to run it from the command line too.  The first time I had to do this I ran into a blocker: something it required called “gflags” was not installed on my computer.  I looked it up and found multiple codebases by that name.  Let me save you some trouble and say you want this one .  And it fails to say so, but you need to install it with sudo.  INSTALL THIS BEFORE YOU ARE UNDER TIME PRESSURE TO COMPLETE THE REMOTE UPDATE.

This is one of many ways you can get a sizable environment mismatch between your sandbox and your servers.  Not ideal.

Git integration is halfway there
When we first started, Google did not support any kind of integration with git.  Now they have a Preview release of a feature called push-to-deploy. This is a promising start!  I’m a big fan of having my issue tracker integrated with git integrated with my deployment process, so this is a good first step.  Unfortunately, we already have our code hosted in a git repository that’s linked to an issue tracker, so I’m waiting for that next step before I switch to a Google repo.

Frequently updated
Sure, it has the odd issue here and there, but there are frequent updates to the GAE Launchers, and that first step toward Git integration is also quite new.  Always a bonus when your platform is pretty good and threatening to become better every moment!

Of course, not every update brings full stability.  And again, there are some quirks to update.  For example, to use SQLite locally, we have to update a settings file.  Unfortunately, every time we upgrade the Launcher, we have to re-update that file before our local databases function again.

Lots of goodies available
There are loads of goodies to customize and extend your app.  And if Google doesn’t supply them, they’re often available for free, open source, though the quality varies.  There’s a lot you can do with what’s available, though!


No mobile support yet for Launcher
I was a little sad, though unsurprised, to find that I couldn’t run the GAE Launcher on my Nexus 7.  Maybe someday!