I wouldn't say it's hard. More time consuming then anything else, at least in my experience. It requires skill obviously, it's going to take an extremely long time to finish complete in-house solutions. Specially if you're small and don't have an army of developers behind you. Most people don't...