I've worked as a software developer in a small/medium-sized company for about 2.5 years (my first proper job after Uni). Basically everyone knows each other in the software development teams.
Lately I've been feeling frustrated that others seem to get recognised or appreciated while I get left out. I was thinking about why this may be, and it may be because I tend to avoid confrontation and office politics, and as such don't really stand up for myself when others use me as a stepping stone to get ahead.
I feel that I work hard, often putting in long hours to get work done, and often getting put onto failing projects and scraping them back at the last minute when other developers have left to work on other things. I've also been proactive and engaged with the company, genuinely applying effort to make things go well. I don't just sit there and do the daily grind.
Despite this, I've never been good at making myself appear as good as I feel I am. I tend to keep my head down and get on with my work. This contrasts to some others at my level who like to play up their achievements, in some cases embellishing them.
For example, there is another developer at my level who recently got promoted while I didn't, and I don't think he really deserved it. He's a fairly average worker and he doesn't particularly go above and beyond his day job. But what he does do is boast and play up his achievements while downplaying others'. A while ago we worked on a project together after he hadn't been with the company very long (he joined about a year after me). I helped him get set up with it and explained how it worked, which ate into my time to complete my own work. He was struggling at the start, so I worked with him on some of his tasks to help him get a feel for it.
Later on, we had a progress meeting with some managers, and we were a bit behind schedule. I was fairly shocked at what he said during this meeting. It was basically:
"My tasks are going well, I've made good progress. X's tasks are taking longer though."
I didn't know what to say to that without sounding petty and spiteful, so I said nothing. At no point did he mention the help I'd given him which ate into my own time, nor the fact that I had more tasks to do than him anyway.
More recently, we were working on something else together (the task was to jointly produce something for a presentation), and he asked me for help, which I gave. I then discovered that he'd taken credit for it, acting like he'd done it all himself, and was getting praised by our manager.
What can I say in these situations to back myself up without seeming petty or spiteful?
How can I showcase my achievements without being arrogant or boastful?