Pros
I was at DNL for 1.5 years. It was a time that I remember fondly and these are the reasons why: 1. The team - I was fortunate enough to join when there were just a handful of people on the team and the collaboration and team spirit was palpable. What's even more impressive is as the team grew, the culture remained. It's not easy to find such an atmosphere anywhere. 2. The projects - As a small startup I was never bored. Being in the backend I was exposed to all aspects of it, from design to implementation. I left DNL a better and more rounded engineer thanks to the exposure I gained to what takes to build a project from scratch to release. 3. The communication - This could be part of the first point, but I believe that it deserves its own highlight because rarely you can find the level of transparency I witnessed at DNL. This builds trust, which in turn empowers the team, which results in quality deliverables. Despite how simple it sounds, its rare to come by it. 4. The flexibility - The place where you work is not as important as the work that you do. While I was at DNL I enjoyed being with the team, but if I preferred to work from home this was never an issue. It was understood and part of the company culture that what you deliver is what counts.
Cons
Being a small startup, priorities would shift quickly. Your tasks could change depending on what was most urgent at the time. This can be a downside for anyone not comfortable with change (yet the fact that management communicated these changes as soon as they could did help greatly).