Should you give out free coding to co-workers without being compensated for it?
This is the dilema at my job. I work at an engineering company where we design/engineer pools and I'm a designer using AutoCAD. When I was hired I was on a probational period, and then after 90 days I had a review and a raise (not as much as I was looking for). The review happened recently with my supervisor and the VP of the company. In the review I was explaining to the VP about the small procedures I wrote to help my production, and he asked if anyone else had these tools. I told him no, not yet...and he says "Share the wealth" and I responded with "Well, shouldn't I be paid accordingly? If I have this type of knowledge and nobody else at my job does, shouldn't I be compensated for it?" And he goes on this whole spiel about WIIFM (what's in it for me) and how that's not being a team player and blah blah blah.
Now, I have no problem sharing the small procedures w/ my co-workers, but I have some ideas for the future that will be much bigger projects. And these people are expecting me to just give it away at my job when I'm being paid the same (or relatively close to) my fellow co-workers? In my opinion, I don't think so. Why should I spend my free time, hard work, and studies just to give these things out for free and not be compensated for it?
Maybe I'm just being bitter, but I'd like to hear everyone else's opinion. Am I wrong about this?