Did you propose a 2x salary increase to accompany the 2x productivity increase? It could get the programmers, if not the managers, to decide your way was worth a try.
Why should anyone require a salary increase for somehow to show them how to do their job in an easier way? Unproductive programmers are unproductive because they do too many things manually and don't automate repetitive parts of their jobs.
I know programmers who still, after years and being told to use rsync and automate the pushing of their code to production, still manually open up an ftp client and one by one upload just the files they know they changed. Dudes could save probably a few hours a week easily and do less work but the fear of... learning something prevents them from doing it.
They fact that the choice is 'rsync' or 'ftp' scares the heck out of me. Doesn't everyone use a packaging system with reproducible builds, deploying these packages to staging first, testing it, then deploying the same signed package live using real configuration management (eg. Puppet) ...?
It's not scary at all, having that kind of process for a small shop would be absurd. When your developers are the only tech guys you have, and do all system administration, database administration, new programming, bug fixes, and deployment, you don't need or want red tape between yourself and yourself.
That kind of process works for large teams where different people are doing those jobs and need to collaborate effectively without finger pointing; but it's not for a small cowboy team at all. You simply can't maintain that kind of formality and process when you're doing everything.
Honestly, that's red tape that just isn't necessary for the vast majority of small business applications. Making a fix in dev environment, testing it, and pushing the fix live by a single developer is and should be the norm.
"Why should anyone require a salary increase for somehow to show them how to do their job in an easier way?"
Perhaps because making some parts of a job easier doesn't make the job as a whole easier. It is quite conceivable that by eliminating all of the repetitive work, they would be forced to spend more time on difficult problems rather than trivial ones.
Personally, I think that's a great result, but people who don't like learning new things probably won't appreciate it.
A serious discussion merits at least the use of a source code versioning tool, like SVN or Mercurial or GIT.
And now for a more serious answer: How do you know that the lack of productivity is caused by lack of skill when it could be just because of lack of perceived proper compensation?
Some of these guys could be working at home creating software that can make your company obsolete.
Some of these guys could be working at home creating software that can make your company obsolete.
Very very rare. Orders of magnitude more will have e.g. families that they like better than computers. Of the remaining, few will have business-killing ideas in the first place.
I agree that morale can play a part in the amount of effort and/or sophistication a given employee will put into their job.
As for SCMs, there are plenty of companies in the middle. I've seen companies whose deployment process consists of running "svn up" on the production server.
Perhaps I forgot to mention, this is the .Net world, those versioning tools are not at all popular; doesn't mean one isn't used but versioning and publishing to production have little to do with each other.
Can you use a pull from version control to do an automated build and deploy it, sure, but that's an unnecessary hassle for a small team. It's more productive to simply build on your machine and push up the new version. An automated rsync deploy is more than sufficient.