Pros
Not much competition in this niche.
Cons
Everyone has a foot out the door and are looking for their next opportunity. Turnover is terrible. Management is completely clueless about almost every part of the software development life cycle and maintenance. The CEO is hot headed and frequently yells at employees and fires people for the most trivial reasons. CEO tries to find shortcuts to everything and micromanage all company projects, but has very little to no understanding of technology. Can't afford to pay for top talent. Hiring junior and some mid level people and expecting them to know everything about software development immediately. Paychecks are never on time and rarely the correct amounts. The company is based out of the CEOs basement and it's not a good work environment. No planning goes into any projects but deadlines are set based on arbitrary guesses and then when deadlines are missed, talent begins turning over again as management gets hot headed and can't conduct themselves professionally. I watched this happen again and again at this 'company'. Employees are expected to work overtime but are not paid for it. The time reporting system will mysteriously go down during big pushes to reach deadlines. If the employees don't work the extra hours, they are fired on their day off, over the phone, while being yelled at. The company survives on a continuous cycle of billable hours. The main company is run like a law office, trying to rack up billable hours for the company while reducing costs (ie: pay to employees, business space, perks, etc). There is a push to create an SaaS income, but it is failing miserably due to lack of planning and inability to keep talent around.