I looked up the word “startup”. It means “fledgling company” or something to that effect. However, in our current times, the word “startup” has been mostly associated with high technology companies founded by college students who’ve yet to see their 25th year. In fact, Jessica Livingston (a co-founder of Y Combinator) said in a Mixergy interview that there was only 1 non-tech startup that they’ve funded (out of the 200+ startups at the point of interview).
So I worked at a startup before. It’s very different from the stories I’ve read. Ok, this was near the end of 2004. I think web apps were just starting to gain traction then.
Why I left my comfy corporate job
It was near the end of my contract (contracts were renewed on a yearly basis). Although I was told I had a high chance of being re-hired, I had other plans. I edited Unix shell scripts, fixed data corruption errors, created Crystal Reports objects and basically used Microsoft Excel more than I used Visual Studio.
I wanted to use C# but my team was deeply entrenched with VB.NET (mainly because the front end guys were more comfortable with VB.NET). My manager forgot my name when he introduced the team members to the users at a meeting. My manager also said anyone can do programming. (My manager eventually remembered my name, but it was a very long and awkward 3 seconds).
So I found a job listing at a startup. It promised the use of C# and “extreme programming“. I didn’t know what the latter was, but man did it sound awesome! I went for the interview, was told that I had to do lots of regular expressions, and I got the job. I was paid less there, but I thought it was worth it. I planned a holiday to New Zealand, and the new job would start the Monday just after I came back to Singapore.
If you’re interested, you can read about my trip here: Day 0, Day 1, Day 2, Day 3, Day 4, Day 5, Day 6, Day 7, Day 8, Day 9. The highlight was day 8, where I was broke and hungry in a foreign country. I took meticulous notes on my trip…
Now the story you’re about the read was taken from my memory, so the details will be fuzzy. But the chronological order is about correct…
So I started my first day at the startup the very next day after I came back home from the New Zealand trip. I was refreshed and ready to start. And my first mistake happened way before I went for my holiday trip. At the interview, when asked what I saw myself in 5 years time (ever asked this question?), I said I’d be the team leader of a group of programmers.
And the founder (there was only one) gave me managerial tasks. I was to handle the administrative work and equipment. My first task was to fix the printer. I kid you not.
A bit of background at this point. The founder was a professor at National University of Singapore. He had a PhD in astrophysics if I recall, and degrees/PhDs in other disciplines. The startup work place was near the NUS campus. It was a small room, barely big enough for 4 people and their computer desks. If I understood it correctly, there was Employee #1 (E#1) and his wife, Employee #2. They were both Chinese from China. I bring up their nationality because they would do something later that might make sense if you knew this information now.
The product of the startup was a software program to search, collect and sort patents. It was a Windows executable program written in C#. I believe E#1 had worked on this for a couple of months already (at least). His wife handled the graphics, such as icons and images. And I was Employee #3. The founder also had 4 interns helping out in his other projects (not the startup), but the interns used any available room to do their work. I would also miss the interns tremendously because they made my life more bearable (see later).
Sometime in the middle of the week, Employee #4 arrived. I was still handling paperwork for the interns, for the startup, for E#4 and yes, fixing the printer.
The new computers for me and E#4 arrived. I was in charge of installing necessary software and basically getting the computers up to speed.
The founder took me and E#4 to attend a lecture he was giving about patents. The 3 biggest websites for patents were United States Patent and Trademark Office (USPTO), European Patent Office and the Japan Patent Office. I learned that the software we’re creating would, how should I put this, scrape the search results from these patent office websites.
What would happen if the HTML results from these patent office websites changed? I don’t know. Maybe the regex was robust enough to handle those changes.
And never mind Google’s patent search. We didn’t know anything back then. Google might have crushed the product already. I haven’t checked the product website, and frankly, I don’t care.
Where was I?
Did you know that a man filed for a patent about swinging a swing sideways? This meant that legally, you couldn’t invent anything that involved (in part or in full) a sideways swinging action on a swing. I learned about the patent language and phrasing such that you encompass the biggest range of parameters in your patent filing document. This is so that even though others can learn about your technique or invention (that’s the point of patents), they couldn’t replicate your results within the legal patent period (of 15 years I think). I also learned that Nintendo filed a lot of patents involving graphics rendering.
Still didn’t get to do coding. Still didn’t do regex. Did you know I studied up on regular expressions prior to my New Zealand trip? I bought a programming book on C# (with a chapter dedicated to regex). I wanted to be prepared.
I finally fixed that (dang) printer. I now moved to documenting the startup’s assets. You know computers and the like. E#1 and E#4 worked on the software product.
1 of the interns completed his internship at the end of the week. I could feel my life turning for the worse…
I finally got to look at the code, and I was to document it. During my job interview, I was asked if I had done documentation before. Well, I’ve written parts of software specifications before. And I’ve tried my hand at this XML documentation (the triple slash of C#). I said yes. Well, I was then given the task of documenting the product, because E#1 was too busy cranking out code that nobody except him knew what the software code was doing. E#4 was to help me.
The interns were fun to hang out with. Lunch was my only reprieve, since they were fun people to have lunch with (and work with). They completed their internship that week. My life turned to hell.
The founder found out that the product could be decompiled into source code. It’s written in C# on the .NET Framework. The founder was livid with rage. He threatened to sue Microsoft. He’s going to have words with Bill Gates.
I calmly suggested that we could use one of those code obfuscators out there. E#4 seconded that opinion. E#1 said nothing. I would have thought that after months of working on this, the founder (or even E#1) would have known about this.
E#4 also gave his 2 weeks notice. He found another job, while working in this job barely a month in. The founder was not happy. The founder said E#4 could leave at the end of the week.
The founder also told E#1 and me to come up with technical questions to ask in an interview. E#1 was especially proud of a question where the solution was to use a form (object) to call another form to do some task. He was pleased that I didn’t know how to answer his question. I didn’t give a damn.
Without the interns, I dreaded having lunch with just E#1 and E#4. E#1 was aloof and haughty and kept to himself. I didn’t know how to communicate with him, especially since he had trouble speaking English, so I spoke with him only in Chinese whenever possible. E#4 was, well… bearable.
Now with the interns gone, and E#4 gone, I decided to have lunch alone. Eating alone was much more preferable than eating with E#1.
I still didn’t get to do any regex work. It turned out that the founder got a PhD student of his to help him with much of the regex already. That part was already embedded in the software, so I didn’t have to do anything.
I also got to see E#2 (wife of E#1) again. She came down to work on creating some icons. She only appeared when graphics work needed to be done.
Now I finally got to work on some new code. The framework was especially bad, if you could call it a framework. The database backend was a Microsoft Access file. And any time a new version or some core database table was changed, the template Access database had to be changed. The problem was how to push out the changes.
Since the product was a Windows executable, the Access database was bundled with it. If there was a version change, how would we push the core database file out to the customer, without damaging any search results the customer had done? I didn’t know how E#1 had designed something like this…
My fondest memory was database query functions. A typical function took 2 arguments: a string containing comma-delimited column names, and a string containing the where clause. I thought this was extremely inflexible. What if we needed return columns that weren’t just the column names? What if we needed a different sort-by clause (it was hardcoded in the function)? What if we didn’t need a where clause?
There were many overloaded functions.
E#1 also had this habit of sloshing water in his mouth. He would sip from his cup, and then swirl the water around in his mouth, making a gargle without the opening-mouth part. Every time I hear it, I had the impending thought he would spit the water out.
E#1 also called me a 4-eyed toad (in Chinese). That’s because I wore glasses. 2 eyes from me, and 2 “eyes” from the pair of glasses. It’s a common nickname used to tease anyone wearing glasses… when you’re 8 years old that is…
The founder wasn’t in the office most of the time, so I spent all my time cooped up with E#1 and E#2.
Here’s a side story. When I was getting a science degree in NUS (where the startup was situated nearby), I used to go to National University Hospital. The hospital was near my faculty, so I would go to the canteen and have food there (because it’s quieter and had less people than university canteens. No student really go there, just hospital staff and doctors and patients). Sometimes, I would go wander the halls of the hospital. You know, because I was an undergraduate, and was curious. I found the experience interesting and exciting and strangely calming.
Well, now I would have lunch alone, then go to the hospital (it’s still nearby) and wander the halls a bit. Just to recapture some of the calm feeling. I remembered there was this vending machine where I would buy a cup of hot chocolate. I would drink that, sigh deeply, and then go back to the small startup office. With E#1 there. The (memory of the) hot chocolate was the only thing that kept me sane during the afternoon.
The founder must have felt something because he called me in at the end of the week. He told me he could sense my unhappiness with working there. Now at this point, I want to tell you that even though I was unhappy, I didn’t think of quitting. The founder told me he’s ok if I wanted to leave.
“Are you letting me go?” I asked.
It’s a nice way of saying I was fired.
The founder also said that E#1 (and E#2) would be moving to Canada (Vancouver I believe) permanently in a couple of weeks time. He had also hired another programmer. This programmer was supposed to be much better. I mean, if E#1 was moving to Canada, that meant the source of my unhappiness (or mostly the source of) would be gone. So what the founder meant was, this new programmer would be better than E#1 AND ME! To rub salt into the wound, I was told that this new programmer would be paid more (than me).
The following week would be my last week.
My last week at the startup would be to do as much documentation as possible. Have I mentioned that E#1 had no documentation at all? This would make it easier for E#5 (the new, higher-paid and better programmer) to get into the groove. E#1 and E#2 would still help in a remote manner from Canada.
I made sure the assets were correctly labelled. I made sure that those administrative tasks handled by me were completed (and documented). I shredded pieces of paper with confidential information (and at that point, useless. I was told to shred them by the founder! I wasn’t doing anything sneaky). I wrote documentation for the software product. I might have written a procedure for getting the printer to work. I’m not sure.
On my last day, I made sure I completely wiped all traces of me and my information from the computer I was using. First, it was polite to do so. Second, and most importantly, I didn’t want anyone there to have any information about me (email addresses and such) after I left. And I mean anyone.
For some reason, as Employee #3, I was given one of the only 2 sets of keys to the office. E#1 used to be the one holding it. The other set was kept by the founder. This meant I was always the first person to arrive at the office. Otherwise, no one could get in. I returned those keys to the founder.
That Friday, that last work day of mine, was 24 December 2004. It was Christmas eve. The founder invited me to go to a Christmas party he was holding at his place the next day. I declined.
I stayed half an hour past my working hours to make sure I’ve done all that I could. Then I bade farewell to the founder and E#1.
I walked out of the office, and went downstairs (it was on the second floor of a small building). I thought sadly back to the day when the interns didn’t show up anymore. And felt alive once more after 3 weeks.
Do you have a story to share?
Have you worked at a startup before? Or heard interesting stories about startups? Let me know in the comments. I truly want to believe my story is not the norm.