All of the cons are because contracting/consulting is a difficult industry. The company’s margin is entirely composed of the delta between wages and hourly billable rates. This creates downward salary pressure for employees. Working on a time & materials basis does not make sense for software because one’s value-add is not related to time. There are no decent senior engineers/architects that stick around because they have poor WLB and leave for roles at product companies where they work less for more money. The work also isn't very interesting, lots of CRUD apps and not much room for innovation.