January 10, 2018 · Blogging & Opinions Lifestyle Software Engineering

My experience working at chilean startups

Working in a startup company is not an easy job, although many people thinks the opposite. It requires a lot of courage and altruism to work in that kind of places.

At the time of writing, I have collaborated with my web developer skills in two startups here in Chile. Neither of them are mentioned in my formal resume. Since my experience with local startups is highly biased, I'm trying to get the most objective and positive lessons of both of these experiences and describe them here.

IMPORTANT NOTE: In case this post is read by an IT recruiter, this text is not intended to criticize my former job positions. I'm writing this in order to give advice to my colleagues in the DOs and DON'Ts at this kind of companies.

Profile of a startup company

As the name clearly describes, a startup company is an entrepreneurship based on an innovative idea, usually trying to start commercial operations locally. Startup companies usually have low budget (given by the goverment or some private business incubator) and just a few workers (no more than 15).

The main premise of a startup is to develop something that nobody has done before. In Chile, most startup companies try to automatize a process of a specific field by creating a web application, or make batch production of a prototype using 3D printers or low cost IoT. Startups depend of building a working MVP (Minimal Viable Product) in order to get admitted on a business incubator (or getting the first investment).

In order to get funded, startup companies depend on their business incubator and other funding contests. The startup leader uses the elevator pitch (a brief speech of no more than 3 minutes) to influence investors to get the needed resources for the company.

Since startups have low number of personnel, most of the startup's crew must be able to do multiple kind of tasks on the company, and replace the absence of a determined role at some point of the project.

My personal experience with chilean startups

Now I'm going to describe my recent experience with chilean startup companies. No names will be given. I will try to note remarkable aspects to be considered as advice for working at startups.

The "psychological affair"

I entered to my first startup experience as a PHP Frontend Developer (recommended by a former colleague from University who was working there). When I got hired and saw the current code base on their MVP, I realized that it just was a messy and unworkable mass of spaghetti code. They just rushed their MVP in order to get the funds quicky.

After a lot of discussion with the startup leader, I conviced him to migrate the frontend logic to Angular 4. My direct boss was the developer of their first MVP, and he wasn't responding to my needs quickly (table updates to their SQL database, definition of formal functional requirements, change management and other duties). The startup leader saw my talent and started to delegate me some of the responsabilites of my direct boss. Besides frontend development, I slowly got backend development, database modeling, server deploying and requirements management as my duties.

After realizing that all his duties where delegated, my direct boss left the startup. A couple of weeks later, the startup leader started to rush some changes on the new MVP in order to please some potential clients and investors. I had to do a lot of non-paid overtime work, and this was affecting my mood and my health condition.

The day before the deadline with the clients, I talked with the startup leader in order to increase my salary according to all the roles that I was covering (in all this time, I was still making the salary of a simple frontend developer). We didn't get to a reasonable agreement, so he told me that he is going to take actions against me if I leave the startup. Since I personally don't like to work under threat, the same day of the deadline I left the job.

A couple of weeks after my resignation, I found that all the other developers of that startup got a pay rise (in order to avoid mass desertion). All my code was abandoned and they returned to their first MVP.

The "code ninja intervention"

After passing three weeks unemployed from the experience described above, I got a call from another colleague, who needed urgent help to fix some broken logic on their AngularJS web application of their startup, after their programmer left the position.

I got one week to fix the problem. I solved the problem in three days. It seems that their former programmer deliberately broke the application before quitting.

Although the startup leader promised the salary of one week at the beginning, after fixing the app he just wanted to pay me three days. After some discussion, he agreed to pay the whole week, and he invited me to take the free position. I declined the offer, since I saw the same problems of my last startup experience on this one. Before I leave, he told me that I was an ungrateful worker and that I should be honored to get invited to work at his company.

Some valuable lessons

Here are some valuable lessons from these experiences (hoping that you don't make the same mistakes than I):

  1. Always get a job contract: Both of these experiences were verbal agreements and I never got a formal contract in any of them. Some startups don't do contracts in order to avoid some financial and legal responsibilities with their workers. A job contract is needed in order to limit duties from both worker and startup leader, and avoid labor exploitation.
  2. Startup leaders may be arrogant: Since they are the owners of the company and the idea, some startup leaders might try to treat you like a pawn instead of a valuable worker. If you detect some of this behavior at your job in a startup, quit immediately.
  3. Be prepared for lots of work: As I said before, since startups are low on budget and human resources, you'll have to do a lot of different kind of assignments under pressure. Also, as a contrary belief, startups need highly skilled people (and hopefully highly experienced also). If you can't take this kind of things, don't apply for job at startups.
  4. Do the best that you can, but under the limits: In my first experience, I took a lot of extra duties, thinking in the best for the company instead of thinking in the best for myself. Always show your best capabilities, but centered on the agreed job. In case of getting an additional duty, always negotiate a pay rise or additional benefits beforehand.
  5. Health is your most valuable asset: If you feel uncomfortable at work and this is affecting your mental and/or physical health severely, quit immiediately. A sick worker cannot work at full capacity (needed for a startup).

I hope this post can help someone before appling for a startup.