A common question for software developer is to be an employee (full time, perm) or be an contractor (W-2, or 1099). Strictly speaking the 1099 is more like a small business, and I have not done it personally. I heard some experienced people did the 1099; I will share if I have that exp. down the road.
I spent most of my career so far being an employee (8 years for Siemens PLM/UGS was the longest); I also spent some time being an contractor (total 3 places, about 28 months). Each option has pros and cons. A few things I learned from my own exp.
1) People have all kinds of expectations for contractors, usually the higher pay, the higher the expectation. For employee, they are a bit more patient.
2) Contract to hire. I found this is usually promised or at least suggested at the beginning, as personally I still prefer to be employee long time. But in two cases, I found they were not the case. All types things happen at client, but in one case looking back I felt the client may never had intention to convert. So this is something to keep in mind as for some people the longevity/conversion is important factor.
3) Last but not least, the hourly rate contractor vs. the salary of being employee. A formula I think we can use is something like this: ( (salary / 0.85) / 0.8 ) / 2000.
Let me explain, first the 0.85 is for the benefits (typically a company pays 15% for employee benefits, i.e., if employer pays an employee 85k, he/she was really paying 100k considering the benefits). The second one 0.8 is for the uncertainty around “bench time”, i.e., the time needed to look for next gig, 0.8 is roughly 2 months for every 12 months. Lastly 2000 is the annual hours typically used for contractor. So give an example, if someone earns $100k being an employee (salary + bonus). The hourly rate is $73.53 per hour using my formula. This is roughly 50% more if we use $100k/2000 = $50 to get the “employee hourly rate”.