Developing Software
When developing software, it is vitally important to use the right tools. After all, if you choose an inappropriate one, not only will the costs of implementation be higher than they could have been, so will the support costs.
For many years I have been a proponent of a web site called ComponentSource. I hate to think how much software I have purchased from them over the years. They run on a simple concept that sometimes it is better to buy something in than to build it yourself. One tool that I have needed a number of times over the years is an advanced grid style screen element. I was able to get this from ComponentSource, and it did everything I needed. Actually, it did more, since I actually bought a Spreadsheet component, which further reduced some back end programming.
And since this software was used by thousands of other people, it was fully debugged, and allowed me to get my software running a lot faster, and made me look a heap more professional to my clients.
This same concept has been extending to Web Design for a few years, but until now I did not realize how far it had come. There are now companies that will sell you a complete HTML5/CSS theme for your website, including Icons, Javascript and more. You just need to move around some screen elements, add some underlying code and you are done. By spending $20 on a theme, I am saving weeks of design and programmer time coming up with a design that actually works.
You still need a programmer, but they are working on the things that they should be working on, not the minute details about getting the design to work on other browsers, and things like that.
The job of a good programmer is to use the right tools to give you what you want. The job of a great programmer is to not only use those tools, but also the right combination of tools to not only produce that perfect design, but also to reduce the cost of implementation.