I was a sole developer for bowlingball.com for eight years. While there, I was very happy to be the only tech person. I was able to do things my way. There was even an employee that encouraged the owner to outsource the programming, and to get rid of me. Needless to say, I was very unhappy when I heard this.
Looking back… being a sole developer is bad for both the company and the developer themself.
Developers should strive to be part of a team. It is so hard to grow by yourself. If you have to be willing to put yourself out there and work very hard to learn. If you have co-workers, you will learn from each other. Someone will have your back if you make a mistake. Learning best practices is easier with more people.
If a company can not afford to hire at least 3 people, they are doing themselves a disservice by hiring any. What happens when that person leaves? Who’s double checking that person? Did you really hire the “Best” you could?
Outsourcing to a group of developers is not necessarily as expensive as it sounds. Sure, per hour you may pay more, but you are basically buying the experience of a group of people. If someone leaves that group, there are others that can pick up where they left off easily. You should not be left hanging in a transition. You are not paying an employee when they are not working to 100% productivity or for them to spend time learning.
In the end, a sole developer really isn’t good for either party.