While going through my backlog of my RSS feeds. I stumbled on Keith Casey’s post on Joining a Startup. He wrote it as a “reality check” for people who are considering joining a startup as a developer. Here is a snip-it:
First, everyone does everything. Check your ego at the door. In the first startup I was with, I was in charge of adding reporting to the eCommerce application and taking the garbage out. Was it an effective use of my time? Not at all. Did it have to be done? Yes. Did we have the money to hire someone else? Nope. If your startup is renting office space, you probably won’t have to worry about this… but who signs for packages? Who re-orders coffee? On the flip side, you could be the one taking technical questions at the next investor pitch or invited to the big customer Christmas party.
I thought he hit the nail on the head with the article. Over the last few years I’ve worked with three startups, one of which was successfully bought by a large corporation. The other two have successfully gained some good revenue, but are still in the “Looking for More Money” phase, and I continue to do work for them on a contractual basis.
My only concern was that at the end of the article, he only mentions that he is still okay with working for a startup. He didn’t mention some of the biggest “perks” I consider working for a startup. So here are some of the items that, if you can handle the “draw backs”, are some great things. These are not “guaranteed”, as each startup is different, but typically you’ll find some of these.
- Accelerated Learning – I’ve felt that I’ve learned at such a faster rate while working in a startup. In large development teams, you typically work on very specific things. Your team only works on one part of a larger project or product. However, with the startup, you typically have to do a lot more varied work. At Ambient, the company that was sold, I was a junior developer of a company of three developers. Here is the list of some of stuff I did in roughly one year:
- Company Website
- All Web Services
- All Web Designs
- Website Demos & Prototypes
- Data Mining Services
- Executive Dashboard
- Sales & Inventory Reporting Website
- Customizable Online DVD Rental System
Not only did I work almost exclusively on these projects, they integrated with the pieces the other two developers worked on. For three developers, we cranked out a lot of great software. Since I was the junior developer, when ever we had a tech support issue that was a little too complicated for our two tech support guys, I had to diagnose and solve a lot of complicated issues. I got experience with VPNs, LDAP and Active Directory, very large databases (100,000,000+ rows), VNC & RDP, and automated deployments across thousands of remote locations, to name a few.
If you enjoy getting your hands on a lot of different technologies, and do a lot more than in a normal company, you can really learn a lot at a startup.
- Less Politics, More Work – While I know this doesn’t apply to all startups, the ones I’ve worked in seem to have a lot less politics than other companies. I believe its because, first of all, there are less people to have politics with. Second, there is way to much work to get done to spend time on playing politics. Everyone seems to just be focused on getting work done.
- More Input, More Direction – While working in a startup, I’ve found that I have a lot more say in how we do things compared to other companies. Creativity isn’t just a bonus, it is a requirement. Many times you are working on an idea, not a detailed specification. Your creativity is required to make the idea fully functional and work properly. I’ve found many times my ideas are implemented, and while looking at the final product, I can see my influences all over the place.
- Closer Team, Fewer Annoying Co-workers – Some may think this is a myth, however what I have experienced is startups don’t have time to put up with teams that don’t work well together. For the exception of one guy who was really nice, but a major pain to work with, I’ve enjoyed working with all my co-workers and (I hope they can say the same about me). Typically people who don’t enjoy the fast pace leave after a short while. If there is an employee who doesn’t get along with the others, typically they will go find work elsewhere because the stress of the pace and not getting along well with others compound out of control. Even if they don’t leave on their own, management will usually find some solution, because a team that doesn’t work well together won’t produce the needed products to make a success. Unlike a large corporation, there isn’t anywhere to hide bad workers. If you’re not carrying your own weight, you’re gone.
- No Boredom, High Adrenaline – The pace can be stressful, but I found it most of the time exhilarating. There is never, ever a lack of work. Currently for the two startups I’m doing work for, there are years and years worth of work I can do. Sometimes the deadlines can be a killer, but meeting them is very rewarding. Its an awesome feeling when your team of two developers and one project manager create a product that out performs & demolishes competing products from large, well established companies.
- High Levels of Satisfaction – I personally feel I get more out of working for a successful startup. Since developers will produce more code and applications than in other companies, there is more to be proud of. If you’re team is really tight, and a few of you create an amazing product, it is an amazing feeling.
So while startups are not for everyone, and they have their drawbacks, I believe certain types of developers can find rewarding work in them. I know I’ve been lucky to work on some excellent products, and I haven’t had an experience (yet) where I’ve gotten burned. Maybe the things I’ve mentioned aren’t as common as I think, but I truly believe startups offer opportunities for developers to really accelerate their learning and excel at rewards jobs.