In my personal experience I have gotten much more praise from Big Corp company when the work I did was more visible to management. The best work I've ever done was completely ignored because it was more technical and difficult for management to understand what the work was about.
And it wasn't just about explaining the work, it just wasn't that interesting to people who aren't technical.
It was after getting an award for doing some extremely easy work, that I realized that it's much more important that you communicate what you do, than actually doing useful work. And this sucks real bad, because if you do good work, it means you have to spend a bunch of time outside of that work just explaining it and acting like it's a big deal, and you can easily beat the system by overrepresenting easy work, because you have a lot more time to explain what you did.
Just my experience with my Big Corp, it may not be quite like that everywhere.
We had a saying at one of my former employers, "You don't get a medal for preventing a fire". We worked so hard to prevent problems before they happened, but a lot of managers just thought of us as a pain in the neck. The only time anyone got wider recognition was for fixing problems after they had some serious impact. A lot of the time those problems would have been easily preventable. It really seemed like the teams that were constantly having major issues in production were constantly being hailed as heroes by management.
I also work for Big Corp and you hit the nail on the head. I saw big career growth this past year after I started working on a very visible project vs. when I was working on the small, technical stuff.
Now that I think about it, it was the same way at Midsize Corp too...
I think you may be failing to internalize the real lesson from your anecdote: how hard a task is has almost zero correlation with how valuable such task is for the business. If management didn't care about the very difficult work you did, and assuming management actually has a good understanding of the business, then that very difficult work just wasn't very valuable and maybe shouldnt've been done at all (because if you do a cost-benefit analysis, and something is really hard and the benefit small, it's an easy call to not do it).
Of course, there are things that have almost no immediate benefit to the business but must be done, like when you need to refactor a large code base to be able to implement future features in a way that doesn't destroy the software from within... but if you analyse such cases properly, their benefit is very big for the company in the long run and that's where communication plays an important role: management needs to understand why that refactor is so important, which I admit may be difficult in case of non-technical management (but then you have bigger problems than just properly judging the cost-benefit of some task).
Looking at this article realistically, yes, you do need to play the game to succeed in your career.
However, this attitude bothers me on a deep level. I believe there is a systematic issue here with how corporations recognise the work that their employees put in.
We discussed why some great developers don’t get their deserved recognition or financial benefits, and sometimes, some mediocre devs achieve more than the good ones.
This situation should not be occuring. Encouraging developers to be "less humble" is a bandaid solution. There are many skilled developers who are unable to just be "less humble", especially developers who are neuroatypical and suffer from, say, a generalized anxiety disorder. Or anyone who suffers with regular feelings of imposter syndrome no matter their successes. Why should these employees be punished for their managers not being able to appropriately evaluate the performance of their team?
I know it's not easy for managers to assess the performance alongside their other responsibilities. I do not know what the correct answer to this issue is. But certainly the correct answer is not this. It does work, but it will not solve the underlying issue that corporations have with appropriately evaluating the performance of their employees in a way that is not systematically ableist and otherwise unfairly punishing.
It's also really tough for a non technical manager to assess a technical person, which makes sense. We have to different strengths and parts to play in the system, they can't be expected to do their role and keep up with technical skills (if they ever had them to begin with). It's a shame that we're often encouraged to become more managerial to get ahead or to get more responsibility/"power" (in the sense of saying what we think needs to get done, or who should get recognition).
I really wish more companies would stop seeing managers as being bosses. I don't know why a lot of places seem to think that dictatorships in the workplaces are the way to go. I've had so much success in places where my manager saw me (a technical lead) as an equal partner on a project, where both our opinions were weighted equally. I think it helped give those more introverted developers a voice. Since my responsibilty was the technical side I was really able to stay on top if their work and know what they were actually capable of. Some of my colleagues have had the same experience and it's really helped us from keeping introverted talented devs from falling through the cracks.
I think the key is finding companies that are inherently technical (e.g. the CEO is a rockstar dev). I think if I see good code I do not care so much about how humble the developer is, I see it in the form of beautiful code.
I find it insulting when people of places of power say "life is not fair" to people complaining about things they're in a position to fix. This person is a CTO and they say devs are being abused by the system. You are the top of the system, fix it!
Don’t worry too much about what your team members would think about you. Your team members might not like you for this, but they would respect you. And most importantly, your project manager will know you are a good, confident developer and better than others.”
What kind of crap advice is that? To just learn communication and claim the credits for yourself?
Yeah, you can get a bigger share of the small pie of budget recognition the company will set for your manager to split between you and your team. So instead of a sub-inflation salary review you get a slightly sub-inflation and everyone else gets their slightly lower?
Remember friends. Alone we beg, together we bargain. It's not unlikely to see collective negotiations get 15% across the board! Stop settling for just being "above others". Raise the bar for everyone!
It's past time for us to negotiate as teams of engineering instead of individual devs that think each can just move jobs and get a higher contract. Some people can, but the best of us can't, because of just how stressful job hunting is.
We only get the fairness we fight for. And as software engineers we have fought for nothing, so far. We surf a bull market and think we got paid for our skills and merit. Surprise: we didn't. How many people have made way more money than the best of us, just dancing the money dance?
Let's please strengthen our unions, so that we can negotiate when they try to push these shitty layoff seasons.
Why do you think there's more "fairness" in everyone getting 15% raises across the board rather than the few who perform above others getting better raises? I find that almost the definition of unfair?!
What you're probably thinking of is that it's more important for the group to get rewarded, not the individuals... but that's good NOT because it's fair, it's good because in the end, what a company really cares about is the end result of everyone's work... that doesn't make it fair to the individuals who actually performed most of such work, quite the opposite. Yes, there's a trade off being made between fairness and being result-driven, or making the wellness of the group more important than the satisfaction of the individual (or "social justice" if you may use a very overloaded term).
There's a whole game that is being played when it comes to intra-corporate relationships, and it pays to know how to play it at least a little bit. We've all seen people who have risen up the ladder with basically zero functional skill--who are maybe even damaging to the company. They know how to play it.
This also happens in the Midsize Companies I have worked for, and also in the Small Companies where management was not technical or had no interest in technical topics.
I think key factors are:
Distance with managers. More is worse.
Interest/knowledge they have in technical endeavors. Less is worse.
Layers of management. More is worse.
That said, and whereas the advice might be effective, it also sucks to not be true to your own values. I would suggest to try to be communicative, but maybe don't become the asshole we all hate. And try to know more about the company on this regard while interviewing. Difficult, true, but include this in the list of factors when deciding which companies to join.
I was scrolling reels on Instagram. Then a nice and funny video came to my feed. In that reel, An spiritual coach(guru) called Sadhguru made a funny but thoughtful joke. Before talking further, I need to say… I am not a follower or fan of his, but I like some of his philosophies.
Let’s get back to the reel. Sadhguru and an Indian actor talking about God, depression, and why people get depressed. Sadhguru made a joke at the end of the reel that If anyone feels lonely, then they are bad company. 😆 (He meant if they were good company, they might not feel lonely in the first place. Rather, They would enjoy their “alone” time.)
Why am I telling you this? Because I realize one very important side of life. Life is never fair. But we make it harder and more complex by doing nothing about it. We somehow daydream and think that the fairness of life will give us what we really deserve.
And The last line was exactly told by Mr. Andrew(a fake name, I ask every guest-interviewee if I can reveal their identity in my article, but as it’s their decision, I respect their decision). He has been in the software development industry for over 20 years. He is now a CTO in his company for 5 years.
We talked about many things. But I will focus only on one very important topic that most good developers suffer in their lifetime at least once. That is… Good developers are often so humble that they don’t even know how to take credit for their work. They think their work will talk for themselves.
He talked brutally about “this” ignorance of good developers.
Why some great devs don’t get what they deserve
We discussed why some great developers don’t get their deserved recognition or financial benefits, and sometimes, some mediocre devs achieve more than the good ones.
He first replied with just one line…
Life is not fair.
Then he explained it with beautiful but brutal words…
“I don’t know why some people think life is fair… Life is not fair… It was never fair… If anything, Life is super unfair. I have seen many good developers do something super cool but couldn’t take the proper credit. It happens when you work in a bad team or a bad system.
I have seen that most of the good developers are good people. They are humble and introverted. They can do their job well, but some can’t take advantage of their good work.
Sometimes other devs from the team take the credit, and sometimes, the project manager, the supervisor developer, or the CTO doesn’t get to know who did the great work.
You might think you don’t need the recognition. But believe me, you do when the company considers who gets the promotion or who to fire.
Don’t worry too much about what your team members would think about you. Your team members might not like you for this, but they would respect you. And most importantly, your project manager will know you are a good, confident developer and better than others.”
Your work will not speak for you
There is another very important and related issue we talked about. When I asked him... doesn’t good work/code enough for the recognition we need?
He laughed and looked at me with so much pity that I didn’t know anything about this cruel world. He said… “Oh, dear!!” Your work will only make your teammates aware that you are a good coder.
But your project manager and your supervisor will forget the whole thing you are doing today. They would only remember did your team delivered the task properly or not. So, If you don’t communicate with your supervisor about your work regularly, they won’t remember it in the long run.
Your personal good work might be lost by the average or bad work of your team members. So, you will not get benefits at the time of layoff or promotion.
Your work will not speak for you at the time of your need. Your supervisor will. And They will remember only if you communicate well in the past regularly.
Then I told him that I had seen some exceptions. He then said… of course, 10–20% of developers might be so extra-talented that they are recognized even if they don’t claim their good works. But then he also said… They would have been a better career position if they spoke more about their work.
Communication is the key here. He said that communicating regularly and taking credit played the biggest role in his success. There were many better coders than him who wanted the same jobs he had landed. But he got ahead by maintaining clear and regular communication.
After discussing more topics like AI, Blockchain, and some stuff, he gave me a very funny and practical example. He told me developers earn better than most other professionals, and they are good people.
So, why do they still get fewer dates than other people? Because they can’t communicate!! 😄
He gave me one last tip. If I ever want to have a career in a management role, like CTO in the future, I must emphasize more on “taking credits” from the beginning of my career. He said being humble or modest is overrated and it would not do me any good for my career.
He is such a gentleman. I might write one more article about him on a very separate topic.
Thanks for reading! And, of course, share your opinion with us. If you want to support me, please join me!
Regarding the life is never fair thing, there is a beautiful sequence in Little Miss Sunshine that goes into this.
Spent twenty years writing a book almost no one reads. But ... he was also probably the greatest writer since Shakespeare. Anyway, he gets down to the end of his life, he looks back and he decides that all the years he suffered -- those were the best years of his life. Because
they made him who he was. They forced him to think and grow, and to feel very deeply. And the years he was happy? Total waste. Didn't learn anything.