Pros
* flexible time * no office politics * autonomy on areas assigned to you * no meddling software managers * the best of the programming masters in town are here or been here * lots of opportunities to learn, most of the time the company will shoulder the cost if there's any * wide tech stack you get to learn and play around * high-end workstation yay! * free catered lunch and snacks! * sponsored company outings * no limits to streaming, just be responsible * chill environment * work-life balance * paid vacation and sick leaves * a wonderful health insurance package. you really won't come to appreciate this much until you get to that point of needing it * startup culture. this matters a lot :)
Cons
* Steep learning curve for newbies / newcomers * Lack of a smooth transition when someone resigns and domain knowledge on his/her areas/tasks need to be passed to someone else * Lack of a regular feedback/mentoring/review session in place