Lots of developers are self-employed. While many are happy, there are some pitfalls to the process that can trip up the unwary. From taxes, to interpersonal relationships, being self-employed will teach you a lot of things, but you really don’t want to learn the hard way.
As software companies mature, many of the employees (including developers, testers, project managers, and designers) find themselves further and further removed from the daily lives of those who use their software. Not only does this make it more difficult to onboard new employees, but it also makes it much harder to foster reasonable discussions about what the users of a piece of software actually want.