If you want to make above average salaries you're going to have to specialize. Find something that is both challenging (to reduce barrier to entry) and niche (to demand a higher salary). In other words - specialize. Staying as a generic web/ios/android dev is only going to guarantee that your salary becomes more and more diluted by the avalanche of developers entering the field. The barrier to entry is just too low.