This similar recent question popped up, but I am more interested in mitigating frustrations (without compromising my productivity) rather than getting away with them.
I am someone who is immensely productive as an individual contributor or with people I select myself, but someone who is generally disruptive to any team I join in a way that pleases management but leads to resentment from other co-workers.
Like the other question, I work a lot of unrecorded overtime. Most work the standard 40 hour workweek. I am probably closer to 55 in office and I am frequently remoting in on the weekends or at 2AM if I am bored. I also consistently eat at my desk while others go out to restaurants. As one of the comments mentions in the other question, I am skewing the metrics used to measure programmers and that is one of the issues.
The unrecorded overtime has the benefit of letting me pull 3-5 items off the backlog every two week sprint in addition to my assigned tasks. I consult with the business analyst (one of the few team members I get along with at work and someone I am not compared to by management) and he generally lets me pick up anything I want that has a complete user story. This got me a 15K raise three months in.
Business Analyst and Project Owner are pleased with that because a project two months behind when I started is on pace now because of the extra work. My manager was also under the gun for the delay, so my actions have lifted this particular rock off his back. The area of friction with colleagues is that management is now breathing down their necks for seemingly having dramatically lower productivity. They are also getting scrutiny for taking vacation (something I just always have paid out) or sick leave. Basically, management is starting to view them as slackers. That is not really a fair assessment of them.
Another area of friction is that the Project Owner can email me requests for new features and have the answer always be yes. I am a people pleaser and am fine with doing more work, so you want X done for tomorrow? Sure. Problem is, she isn't limiting requests to just me and everyone else has to tell her no. She called one developer "uncooperative" in a sprint planning session for doing that.
I have had this issue at other jobs as well. Once, when it was my week on support, a client mentioned that he wished our software could do X on a phone call. I wrote it overnight, sent it right to QA the next morning, and had it in prod in a few days. A few months later, the client had a similar request for another developer and ended up complaining about him when he refused.
I am not really worried about a lack of help from co-workers (I feel like a dependent going to the emergency room for an allergic reaction, so I am not the kind of person to ask for help from anyone for anything).
Same with the interpersonal relationships, as I am a boring person anyway. Other than career achievements like graduation, I have little in common with most people. I am not someone you would want to have a beer with or be god father to your children.
I have tried concealing my level of work and just lying about what I am working on during standup and not taking on that many items during sprint planning, but the Business Analyst publicly praises me over it, it comes out in sprint review, and I can't spend my day hopping around the office trying to avoid people to make it seem like I work less as our office is small. I can spread my work around different developers for code review and different QA people for testing, but they eventually update Scrumwise (where I try to conceal tasks at the bottom where few scroll).
This brings up another issue, QA resources. Frankly, I think the other developers are also at substantial fault here, most of them start by working on the largest task they are assigned. That means they have nothing to give QA for a week (and before I arrived, QA had a 2-3 day break after clearing the unfinished QA stuff from last sprint). I do the medium and small tasks first so that they are all done, QAed, fixed, QAed again, and into UAT before the end of the first week, i.e. before anyone else has passed stuff to QA. I do my big task which takes the weekend + a day or do and it is into QA as their stuff finishes its first round. But then I return to smaller stuff off the backlog and am filling up the QA queue as they want to test their smaller items. Our definition of done is such that it must pass QA, so it further screws with their metrics.
I am basically doing this because I am a people pleaser and find people being anything less than thrilled with me uncomfortable.
How can everyone be made happy? Is there a way to make sure only management knows what I am doing without letting other developers know? I basically want to cloak what I am doing from those who might find it frustrating.