There are two basic types of employment in the software development industry.
You can either be a contractor of some sort, or you can be a salaried employee.
In my career, I’ve been both, and each has a distinct set of advantages and disadvantages.
In fact, in some companies there is an entire culture built around the differences between contractors and employees.
When I worked at HP, first as a contractor, then as an employee, there was this notion of “blue badgers” and “orange badgers.”
Orange badgers were the contractors, and they were typically paid less, had no benefits, treated like second class citizens, and even at times told they couldn’t use the HP walkways or participate in any onsite activities.