Pros
- Good benefits, vacation time, and respect for work-life balance - Talent is recognized and awarded with promotions. - Good place for self guided learning. Management wants to foster talent and expects you to work on your own to improve yourself. In practice this means there are plenty of internal promotions and switching from one team to another (e.g. from QA to Data or customer service to product). - Good team leads to everyone respecting your ability to do good work and giving you the space to do your own work. This can break down when deadlines loom and pressure begins to rise. - Lots of great personalities among co-workers and managers that are fun and interesting to chat with when the opportunity permits. - High growth and quick work pace leads to interesting stream of projects and new faces for personnel in engineering. - Very stable and professional for a startup.
Cons
- Big projects and demos too often lead to crunch times with a week to two a quarter of late nights with unnecessary stress for engineering personnel. When I know of big releases I adjust my schedule for the two weeks prior to deadlines to expect late nights. On the plus side I know a month ahead of time when I will feel stressed. This stress becomes more frequent the more senior you are on the engineering team. - Not a place to have your hand held when learning. Time is at a high premium so minimal training and help can be given. You learn on the job and you take it upon yourself to improve at your job.