Same here. A person who knows how to program and who are easily annoyed by things like inconsistent computer behavior or lack of design aesthetics should probably avoid Linux if their interest in an OS is to help them be productive.
I find Linux to be extremely consistent; almost all programs I use read data from stdin, process it according to some arguments and output the result to stdout ;)
A lot of Linux based devs prefer "classic" development tools like emacs or vi and operate primarily from the terminal.
These things tend to stay very consistent over time, if I was using Windows I would have had to learn powershell over the last few years. My BASH knowledge is still as applicable as it was 10 years ago.