Cons
Vague job descriptions lead to being moved on to tasks that you were not led to believe were part of the job you applied for. If you work from them your job description can change with the whim of your boss. I was hired as a junior software developer and was quickly moved to working as in house IT for our one and only client.
No benefits.
Your "Paid Days Off" are used without your consent or knowledge by the employer. As an example new years day was counted against us and we were never informed of this.
Unstable work environment - we moved offices 3 times on short notice, causing massive issues with our work. This also led us to have to support our "client" because they moved with us and we had to completely set up their IT environment on top of managing and developing their software.
SHADY - they moved me from salaried to hourly without my consent. This business is apparently a software/it consulting company (consisting of 3 people) that works exclusively for the america family law center, a company my boss' wife "runs" but my boss makes all business decisions for. AFLC is a "nonprofit" organization that appears to just funnel business to a for profit company.. also run by my boss. Very shady...