The Bad:
- you are expected to work overtime without compensation
- you are expected to work weekends without compensation
- you are peer pressured to take as little time off as possible due to unrealistic deadlines
- there are two casts of developers:
1: those that worked with the CEO in a previous company - they walk on water
2: those that are new to the company. Get ready to prove and prove yourself again and again. - You are held accountable for 3rd party problems.
- the CEO writes somewhat decent code
The UGLY:
- the company does not know what type of developers they need so mismatch hires are common. To compensate for that:
* interns are disposable
* second class citizens are disposable too. Full time employees are hired for a project. When your project is done/canceled you are disposed of unless you are class 1 citizen
- the flexible vacation policy is a company ploy to shortchange the workers from their vacation time. Since there is nothing to accrue, there is no need to pay you for your unused vacation time. You should have used it while you can, even though you are pressured not to take any because of unrealistic project deadlines.
- You get no compensation for overtime either.
- when you get fired, no reason is given except: "It is a startup company - what do you expect"?
- the firing happens after regular working hours to lower the number of potential witnesses.
- if you are lucky, when you get fired (for no fault of yours) you get 4 day severance pay: not even enough to compensate you for the nights and weekends you were forced to work overtime.
- the CEO is constantly "improving" the code and/or the source repository causing productivity loses due to everyone being forced to adapt to the unexpected changes.
- no strategic long term plan