My Experience of Working at a Startup Company

It has been a week since I left my last job, a startup company working on video broadcast/streaming product solution.

I joined the company as the first full-time employee in Oct 18 2010 and left at 16 Sep 2011. The 11-month journey is full of experience of all sorts, exciting, depressed, joy, sad, working really hard, tired of working, etc.

Good Stuff about Working at Startup

  1. Working on new stuff, which is not the case normally when working at a big or medium-sized company. In a startup, we’re developing something new. We encountered all sorts of difficulties and solve them one by one. It’s fun and great learning experience.
    • e.g.: I worked on dialing out multiple mobile 3G modems using AT commands. Make the dialing process fast, reliable and automatic is something you cann’t count on the software available publicly.
  2. Working on Linux. I was mainly a Windows guy with some basic Linux knowledge. The startup is developing product based on Linux platform, so I picked up a lot of stuff about Linux. I’ve got to say, once you’re forced to use Linux and figured it out, you’ll feel great. You learn much more stuff than working under Windows through an IDE.
    • e.g.: vim, gnuplot, vlc, ffmpeg, ssh, netfilter, gcc/g++, gdb, Qt, Poco, Linux kernel programming… I learned to use these things under Linux, and see how powerful and amazing they’re when one picks them up.
  3. Learned new programming languages. I learned python and perl. Well, I’m not an expert on these two languages. But I did program in these two languages in some projects.
    • e.g.: I developed the modem dialing programing in python, and a automated testing system in perl.
  4. Worked with People with Dreams. People at Startup companies worked on dreams instead of sleeping on it. Most of the time I’m enjoying working with people of this kind.
  5. Worked with Senior Engineer Closely. For me, it’s lucky that the company has a senior software developer as CTO. He is experienced and willing to discuss programming and IT in general with me. The way he handles certain technique issues is good lesson for me.
  6. Worked on Web Dev. I’ve learned some basics about web development before and took some courses about it, but the work allows me to take one step further.
    • e.g. I developed the Web-based UI for the product, and modified the company website.
  7. Worked on Setting up EC2 Stuff. Cloud computing enpowers developer to deploy their work easier than before. It’s great to know something about it and better still I worked with it.
  8. Experienced the Entire Product Development Phase. If you go to a big/medium size company, you’re probably working on improvements for existing products, or build something for existing products. But at the startup, I’ve worked through the entire product build process.
  9. Experienced a Little Bit of Business Side. Developers are developers at big companies. At the startup, I’m doing programming, testing, customer demonstration, internal training, tech support etc. I interacted with potential customers a little bit, and watched how the founder handles customers etc. Well, who knows whether I’ll need some of the techniques one day.

Downside of Working at Startup

  1. No Time for Myself. For me, this is the biggest issue. I’m taking a part-time master at NUS; I’m developing several android apps (almost stopped completely when working at the startup);And I also have my personal life…
    • 5 days of tiring work; 2 days of course work study + master thesis project; I know I cannot hold it for long.
  2. Hard to Keep Interest if you don’t Share the same Vision with the Founder. OK, this is for me. I’m more interested in developing apps for everyone’s usage, not for businesses, which is my previous company is doing.
  3. Tired of Working on All Sorts of Stuff, Many of Which are Boring. I worked on Website, Web-based UI, modem dialing, simulation, Kernel Module development for Packet Filtering, Amazon and Video Streaming Server Set Up, etc. Well, it’s good to work on lots of different stuff, but I cannot find the focus and depth here.
    • The startup doesn’t have many projects that requires the focus and depth I was looking for. And the senior engineer is better candidate than me to work on these stuff.
  4. Flexible Time could Mean Long Time. Sometimes we come in at weekends. During my school holiday, I worked till 10 pm + almost every day for about two months.

After 10 months, I’ve realized that I’m not passionate about the work any more, and I quit.