There's a cutoff where it's useful to say that "you can do it yourself." I *am* a programmer, and have been for 35 years or so. One thing that annoyed me -- "back in the day" -- was Evolution's spotty support for Palm Pilot synchronization. I was fiddling with Gentoo's portage versions of the program and the various libraries so much that I finally downloaded the source for Evolution, and started to look at where the code that governed this problem lived. I recall asking someone a question about the source on some forum (or maybe IRC), and was told by one of the developers that what I was after was so deep that I probably be better off not fooling with it. I looked at it a little longer, and concluded he was right. It would have taken me hundreds of hours to find and fix the problem I was seeing, and then I'd have to apply the patch to a version that had been updated underneath me while I worked on it, leading to other hassles. The process would have been quite elaborate, and this is my point: Waiting for the person who knows, roughly, WHERE the problems are, and already has a good idea of HOW TO FIX IT is usually worth the time savings, even if you DO know how to code.
Palm died not too long after, and I finally got an iPhone.