This is my first gig at a startup — a company that has less money than an average developer’s yearly salary and less employees than my nuclear family.
I’ve worked at companies with varying amount of employees, from 50 to 20,000. Naturally they were all different experiences, but still similar. You come to work, do some work, mingle some, learn some, and then go home. Sometimes you stay late, sometimes you leave early. You have things like benefits, vacations, and if it’s a decent company, profit sharing or RRSP matching.
But a startup where you are the solo developer. That’s different.
I find myself thrown into an environment working with non-technical people. They don’t care whether we should use Rackspace or Heroku or Azure for our “hosting” plans. They don’t care if it’s .NET or Rails or Python or a language I make up. They don’t even care whether I work on a laptop or desktop, whether it is Windows or Linux. Nothing. The decisions are for me to make and me to care about.
Perhaps. Until you realize that all the decisions you make are limited to the knowledge you have. There is no more insights to be gained from a team with diverse knowledge. You can google some, read the thousands of blog posts with reviews to make the “right” decision for your particular case, until well, you realize you don’t have time.
There is no one to turn to when you are working on a design and just want a second set of eyes. There is no pair programming. There is no code reviews. There is NO CODE REVIEWS! There is no “oh wow, why didn’t I think of doing it that way?” when going over someone else’s stuff. Learning from coworkers has been replaced by stackoverflow and pluralsight.
It’s mostly scary. All in all, the experience is best defined as Brenda from Tacit Innovations described: “I shit my pants everyday.”