I'm not a smoker. Never have been. (Or, said differently, I quit when I was nineteen, on the very day I started.)
I've worked with smokers, lots of them, and I would say that on balance they were generally the more focused, productive, no nonsense programmers. Many of them were the mainstay of the software division, and their loss would have been severely injurious to the development effort.
I don't know why. I have no data that properly correlates and accounts for this seeming coincidence.
Yes, I've worked with a few who were simply slovenly puffers, having no extra merit to offer, but more of them have been kick-butt producers and worth whatever it cost to keep them.
Me, I'm just your average "genius-class" software geek who solves problems and writes code that works. In those places where we had that smoker-as-rock-star personality, I vainly struggled to keep pace with the output of stained-finger guys who made us mere geniuses look like pikers.
IQ? Nah. They usually tested out pretty much where the rest of us were, somewhere above 120, but they had this "something extra" that gave, what?, insight?, clarity?, I dunno. And they smoked.
I would hesitate to postulate that nicotine had anything to do with their code cutting abilities, but there would seem to be some condition common to both the exceptional coding and the inclination to be chimneys.
So, in the cases I reference above, the cost to the company was negligible alongside the value to the company.
Nothing in the above ramblings should be mistaken for science.