Pros
"Unlimited" pto, flexible schedule, the ability to define your own work. Coworkers are generally chill. Its easy to simply 'get by' if you don't care about your work.
Cons
First of all, compensation is garbage, even for the area. Especially for software developers. The money given simply does not make up for the amount of work. There is no transparency and management has no clue of what they're doing. You will be told something is a priority one day, only to have it dropped the next. Clients will be made impossible promises and you will only be informed after the deadline. The product we are selling doesn't exist, and you will be expected to build whatever the client asked for, with no support, on a rapidly crumbling tech base. You can expect no support, and no help. You will bring up issues and they will never be addressed. A depressing miasma has set in where everyone knows we're doomed, because we're going to continue to sell smoke, and promise the impossible. There is no engineering culture. Unit tests are considered optional, as is documentation. Junior developers are placed at the helm of projects they have no insight into, and then there is surprise and recrimination when said project doesn't work. There is extreme unprofessionalism in the name of 'remaining lean', there is no HR, and no way to deal with the old-boys club that runs the place. Unless this is your first gig and you're comfortable being underpaid, you can do a lot better. Stress levels through the ceiling as deadlines become increasingly ridiculous (and then are immediately ignored)