Pros
Competitive salary with the potential for yearly raises that are much better than average. Clear opportunity for advancement or mobility. I've seen people successfully change teams or departments, and most managers or team leads are promoted from within the company. Plenty of opportunities to solve unique and interesting problems. There are software jobs that feel like you're doing the same thing every day, but this was not one of them. Everyone is friendly, hard working, and always happy to help each other. Great work-life balance.
Cons
No 401k contribution match. The office is pretty basic with the standard beige/off-white walls, cubes and desks. It is also mostly at capacity and although there has been talk of remodeling or moving, nothing has actually happened. It is surprisingly bureaucratic for such a small company. Seemingly simple decisions can take a long time to work through the pipeline. I put this under cons, but some people thrive in this type of environment so it may be a pro for someone else.