12 ms·
Ask HN: How to deal with incompetent people
Long story short: I've been working in this position for a couple of years with a colleague at the same level as me. We both lead a few product team giving them advice on technical implementation, best practices and architecture.
I've been doing a lot of work to clean up the debt that was accumulated and, meanwhile, I improved the reliability and the efficiency of the infrastructure. I wrote common components and library to avoid duplication and shared it with wiki pages on how to implement certain things correctly.
On the other hands, my colleague, is more focus on building relationships and acting like he's the manager even tho he's not. In a couple of circumstances he event tried to give me orders which is not what he supposed to do. In meetings with our manager he brag on stuff that I did sharing it as a "we did", while when he does something alone (which most of the time asks to me as well) he would say "I did".
Most of the team members know it as they always asks technical informations to me. Most of the new architectural design has been done by myself same as the library that they use daily bases.
This kind of behaviour was ok at the beginning but since our boss left and he got promoted as manager is not sustainable anymore.
So here I'm asking for some advice. I started to look for a new job already, other than that I can't find a way to make my life easier has it might required some time (European market is not that good) and I got a break to travel a bit and clean up my mind.
- jhowell 8y agoDon't take it personally. Be happy for their accomplishments. Be happy for your accomplishments. Think about how important the "tough" times you are having now will be in 1 year, 3 year, 5 year, 10 years. Control what you can control.
- rc_hadoken 8y agoHe can control someone taking credit for his work...
- jhowell 8y agoDo you offer suggestions?
- vthallam 8y agoAs the top comment says, information flow at the right time makes all the difference. When you do something nice, put something in your slack channel like "man I finally got this elastic search issues fixed. the search is faster now and it doesn't fail for certain terms` or something like that. a subtle self congratulating message and everyone know you did it.
- jhowell 8y agoFrom my experience which is obviously different than yours, over time these pats on the back do more to divide than unite development teams. Others know who gets stuff done and who doesn't just like you likely know who gets stuff done and who doesn't. The slack pats on the back seem counter productive, almost as if looking for credit for doing your job. The higher up in the organization you go the less important it becomes that you refactored the code to batch load index data where the prototype might have inserted one record at a time. By the time the index is done, the people who use it don't really care how long or how efficiently it was built.
- toomuchtodo 8y agoAccelerate your job search, take some time of to decompress, and try again in a new opportunity.
- akvadrako 8y agoAgreed. You can always try going to his boss to explain it, but that probably won't work out. It just seems like a miserable situation to be in.
- cupofjoakim 8y agoHave you talked properly to the colleague in question? It seems like you've bottled up all this frustration for far too long, making this infected, which in turn makes it harder to talk about it. Even if it's hard, just tell him how you feel. Take it easy (don't start by listing all his faults) and stay objective - as in "When you do ... I feel ...". Be honest and say that you're not sure if you want to stay, and that the situation needs to be resolved so that you can have a healthy working relationship again.
- zldkz5 8y agoI never tried because we had to work together closely and I didn't want to break the balance. And now I don't know if it make sense since he became my manager.
- java-man 8y agoleave the company. if the company does not promote meritocracy (in a sense that it gives more competent people more responsibility and vice versa), you are destined to become more and more at disadvantage. life is too short to spend it fighting a localized idiot. go build something interesting that will benefit mankind.
- stupidbird 8y agoSpoiler alert: talking about your work is a big part of meritocracy.
- rsa4046 8y agoI think clavalle's point above is critical. Your good deeds, prowess, etc., have little chance of being noticed absent a willingness on your part to blow your own horn, loud. Now that he is your manager and you are subordinate, any attempt to coerce him to change will only evolve into a wasteful power struggle you can't win. If you are indeed so valuable to the outfit (and thus to him as well), then leverage this value to promote yourself, not necessarily at his expense, but to benefit of all. But -- life lesson: you won't get noticed by dint of talent alone (such notice requires unusually observant managerial staff, often lacking). He is not the solution to your problem: you are.
- sebleon 8y agoWhat are his responsibilities as your manager?
- deleted 8y ago[deleted]
- heywire 8y agoSince it seems you must work closely with this colleague, perhaps you could look for opportunities to improve together? Maybe taking a training course or attending a talk together or as a team? Maybe you could even give an internal talk on an area you feel is important that they could benefit from? I would also be careful to assume that your colleague is incompetent. Perhaps the two of you have just very different styles. I once worked with a "solution architect" who would over-engineer every project. Even the smallest utilities would become a "system" with lots of moving parts. Management lauded his technical abilities, but those who later had to maintain these "systems" he created were not as impressed. I could see how he might consider some of the other members of the team "incompetent" because they did not work in the same way.
- clavalle 8y agoI never heard anything about incompetence in your description. Technical debt can build up for myriad reasons not related much to competence. What I would suggest is not to approach this situation as how you can wall off or otherwise attack this person but, instead as a life lesson on the importance of interpersonal relationships and politics. Politics are a fact of life. Humans are social creatures. All things being equal, and some ways even when not equal, those that are proficient in interpersonal relations will come out ahead. Grok that fact. There is no escape from it. Good. Now that unpleasantness is out of the way. On to how to cope. Scratch that, /thrive/, in an environment of people doing people things when you are a technical person. First, information. That is the lifeblood of many systems and politics is no different. Simply make sure important information is conveyed to the right people at the right time. You use the example that this fellow was able to take credit for your work. Had you passed the information of what you were doing and why it was important to the right people, he would have simply looked foolish to try to take credit. It can be uncomfortable, to toot your own horn, but it is necessary. Additionally, it can be important to the organization. Assuming you are creating value, it is important that decision-makers know that so they can make the correct decisions. Don't feel bad. Toot away. Building relationships is critically important in almost every human endeavor. Get good at it. It is a skill like any other. The target of your annoyance became a manager because he built up those skills and made it known. Build your skills and make it known. It is just that simple.
- zldkz5 8y agoYes I agree with you, the point is that being technical person doing a technical job I thought that the value that I create will talk more than the nonsense of some people. As I like to act first and share later, but there are people who talk but don't know how to act properly. I can build this skills as you said, true, but in my position now it would be impossible to get a promotion as the available spot has been taken already.
- deleted 8y ago[deleted]
- Aeolun 8y ago
- catfish123 8y ago> he brag on stuff that I did > when he does something alone ... he would say "I did" > he got promoted as manager Act like the stereotypical manager, get promoted to manager.
- Aeolun 8y agoI mean, he’s already functioning at the level he is aiming for, so might as well make it official.
- deleted 8y ago[deleted]
- _pmf_ 8y ago> I've been doing a lot of work to clean up the debt that was accumulated and, meanwhile, I improved the reliability and the efficiency of the infrastructure. I wrote common components and library to avoid duplication and shared it with wiki pages on how to implement certain things correctly. What's the business case for this?
- zldkz5 8y agoRequired by our ex manager and director to cleanup the debt and increase delivery time. And, it was urgent since we were having performance issue. Pretty much I don't like to do stuff for the sake of doing it
- golanggeek 8y agoYou can't change what has already happened. And trying to change that will only cause more trouble. Inform somebody higher up about this. Do it more subtly instead of name calling. Usually people sitting higher up will take this into consideration on future decisions.
- the_arun 8y agoHave you spoken to Manager’s manager and requested for a change as you & your current manager were peers earlier & do not want him as your manager?
- jka 8y agoIt can take a while in an organization before people learn whether someone is really competent; especially if as you say the individual in question is particularly good/charming at convincing others that they are effective or a necessary part of the org. If you trust your employer and management chain enough, then you can use the normal reporting loop to file concerns and notes along the way - just try not to get emotionally involved as it could become difficult to separate your observations from your personal opinions. Even more so don't let this person pressure you or change your decision-making in ways that could undermine your position. And certainly, if the organization fails to take care of things, then it may be time to move on and find somewhere more progressive and healthy. It's the sign of a failing environment if it can't identify and deal with individuals who claim overdue credit by using others' contributions.
- JoeAltmaier 8y agoThe time to speak was when the liar was claiming someone else's accomplishments - to contradict them clearly and immediately. After that it's much harder to recover.
- beat 8y agoBluntly? You're letting anger and resentment cloud your judgment. Your colleague is clearly not incompetent. He just has different goals from you. He probably wanted to shift from a technical role to a managerial role, and he succeeded. That's not incompetent! And that's probably because he recognized his talents are better with people than with technology. So be happy for his success, rather than resentful of his perceived incompetence. It seems to me like people skills are a weak spot for you. That's not unusual in our industry. But leading and managing people, sorting out the relationships to make large project work, that work is just as essential as technical skills are. Nothing big ever got built by a bunch of grumpy, resentful introverts. Rather than hating his "incompetence", try to recognize him (and others like him) as valuable allies. Find ways to work together, to let them deal with the frustrations of relationships, and let you focus on the technology. Create a mutually beneficial partnership. If you can't learn to do that, to trust the "people persons", you're going to find yourself in this situation over and over again.
- JacKTrocinskI 8y agoHow can you work together or respect someone that takes credit for you work? This guy is a snake, it's not about being introverted.
- beat 8y agoAre you sure we're getting a complete story here? The OP is what writers call an "unreliable narrator". We're seeing this through his very emotional lens. It's quite possible the other person did a lot of the "people" work that enabled the code to be written and distributed. In that case, it's a "we", not an "I", and focusing entirely on "I wrote the code", ignoring how it fit into the organization, is dismissing someone else's well-deserved credit.
- unethical_ban 8y agoIf the OP is an unreliable narrator, then you shouldn't assume the guy isn't a snake, either. I have seen the case you're wary of: a technical, but poorly communicating, employee that resents the success of a well-meaning, less technical but better communicating coworker. I have seen good people like that, and I have seen snakes that pull the "we/I" as in the OP's story.
- minionslave 8y agoI would like an answer to that too. I'm the youngest member of my team so the older more 'experienced' teammates are really good with politics. We have a new project coming up and I basically was the one implementing the initial architecture, I showed them how to use the linux terminal, gitflow. I am the dev with the fewest number of bugs reported, they are always on meeting about issues. They take the most visible, interesting features. Yet during meetings, people talk to them more because they are older, so they basically take most of the credit. What should I do in that case?
- beat 8y agoI recommend reading So Good They Can't Ignore You, by Cal Newport. And more broadly, learn how politics are played.
- oblio 8y agoDivide et impera, I'd say. Get a backer, someone that sees your values: your manager, your manager's manager, one of the senior devs. If you have 3 people in a room at work, there's bound to be at least 2-3 (hidden) conflicts. Figure out where they are and benefit from them: get your backer to help you with your task and when you present it, present it as being team work. While you're the person actually presenting. Your backer will... back you and you'll be able to stay a bit in the spotlight and you could use the exposure. Or just find a sane work environment, which one is easier.
- laurent123456 8y agoHow come people don't know what work you are doing at the company (thus allowing your colleague to take credit for it)? That's probably what you should try to address. I'd start by writing emails detailing such or such feature you are working on, how it improves the system, etc. Maybe ask for feedback, or ask general questions to the business owner. Maybe suggest using some issue tracker where you could document over time what you are doing via comments, issues, etc. I'd expect your colleague might be the kind to distort truth, so such record is a good point of reference to set things straight. Not only that would be good for you, since people will know that you are improving the system, but it will be good for the company since they'll know what's going on. They are lucky you're actually doing your job because another employee could have been slacking off and they wouldn't even know it.
- coleifer 8y agoIf you are able to discern his motivations, you can probably have faith that others will, too. The extent to which your ego is bound up in taking credit, having a certain reputation among your colleagues, etc, is the exact extent to which your coworkers behavior can "get to you". Always the best advice is: do your job to the best of your ability and don't worry what anyone else is doing. Others will notice. And if they don't, then perhaps its not the kind of place you would want to work, anyways?
- deleted 8y ago[deleted]
- astockwell 8y agoI toiled like you seem to be for a long time, cleaning up technical debt, and writing well-architected (but very time-consuming) code. I learned a few things (things I have to remind myself of often, when I too feel the anger rising at people who don't place the same priority on those things): The business is almost never paying to you clean up technical debt. They are paying you to generate revenue (or save costs). Period. It could be the best architected system in the world, but if it takes 4x as long to build, and the "quick and dirty" version can ship and generate revenue earlier, then that is the way the business will want to go (even with an elevated error/loss rate). My takeaway: If you do not intimately understand exactly how what you do each day makes the business more money, or saves the business more money, then you need to pause and figure that out. Nobody gets credit for building a system that never goes down. It does not speak for itself (much as I would like it to). As others have pointed out, it's critical to communicate the value (see point above) of what you are doing, and communicate it to the people who matter. Dealing with Humans (incompetent and otherwise) is actually what most of us get paid for (or at least it's a big share of why we get paid). Dealing with bureaucracy, red tape, incompetence, things taking too long, etc... Sometimes I wonder why I have to wait for others who are slow, don't they realize how much money is being wasted?! But it's true, the human component of our jobs is the main reason why we haven't already been replaced by others/computers. Relationships trump even adding business value (point 1 above): if you are difficult to work with, but add value, you will still be marginalized (or even let go). However on the flip side, if you are great to get along with but do little-to-nothing, you may not thrive, but you will survive.
- 6ak74rfy 8y ago> They are paying you to generate revenue (or save costs). One of the senior engineers in my company once told me, "business is the dog, technology its tail", not the other way around. While I later argued with a completely different set of engineers that the analogy isn't great, the gist of the idea remains valid: we shouldn't be building beautiful technology just for the sake of it. Rather, we should be building technology that will serve the business best, while balancing out short-term and long-term gains. > Dealing with Humans (incompetent and otherwise) is actually what most of us get paid for This is so true as well. I often realize that the problems I solve at work aren't exactly rocket-science. However, I have learned a bit about effectively interacting with humans, and that is probably more important to my company than my pure technical skills. I didn't have any of these skills and I am still learning. However, I'd HIGHLY recommend the following "The 7 Habits of Highly Effective People: Powerful Lessons in Personal Change" for anyone wanting to learn soft skills.
- ensiferum 8y agoThis is of course only your side of the story but it sounds like he's way better at office politics and elbow tactics than you are. When you were at same level in the org I would have just cut him off from the critical information flow and communicate directly to the superiors. Now that he's your superior you cutting him off can backfire where you're the one causing the trouble and not being a "team player". Anyway, you can bet that he'll continue to take the credit of the work that his team will be doing, fast forward 10 years and he's probably a C level exec while you're still a SWE. Just the way the world works. My advice is to a) leave asap, b) simply ignore him as much as possible while you're stuck there.
- Proven 8y agoJust leave, find a place staffed with competent people
- SirLJ 8y agoJust find another job... life is too short...
- kjullien 8y agoI am not emitting an ethical judgement on what he does btw, merely suggesting that: If you think that what he is doing can be achieved by an incompetent person, then why don't you simply do it yourself ? Why don't you become the guy that can manage + actually code stuff ? Surely you can set aside 10% of the effort you use when writing your libraries and invest them in overtaking this guy's job/position since an incompetent person can achieve what he does. Sure you might not like what he does, namely managing, but that's a role that will probably be filled in any company you apply to. Maybe take a bite of the bullet and invest 1/10th of your time even if you don't like it to actually render this guy useless, eventually fired or released since he is so "incompetent" ? If this ends up not sounding as "easy" as you thought, maybe take some time to rethink your approach, your philosophy towards the situation... As many here have already said...
- navinsylvester 8y agoYou talk about not getting enough credit but want to be a manager. It's not a good trait to have as a manager and you will suffer even worse. A new shared dependency is worse than duplication. Sometimes developers get carried away about doing it the right way and don't understand the trade-offs you need to do to make it tick. FYI - I am a fully hands-on manager. If you truly aspire to be a manager you need to understand that tech side alone doesn't cut it.
- zldkz5 8y agoIt was required by our ex-manager and director to do so. As we were re-inventing the wheel in any application. If you're a fully hands-on manager you should understand the value of having strong common components that can be plugged in an out. If you don't think so, just use a plain language without any framework, module, library or third party component and let's see who target the release date first. We are paid not to build beautiful or robust software, but, first, to deliver faster and without headache. Decoupling stuff and avoid redundancy is a huge benefit and we experienced it dropping down the delivery time by at least 20%.
- navinsylvester 8y agoYou are missing the point here. No one is doubting the usefulness of reusable code or common components. Its about developers spending time on what they think needs to be refactored due to the engineering itch on an already functional and maintainable code. Most times by doing it they can be introducing instability to the whole system. In a larger code base with handful of engineers and teams it becomes a bottleneck to make quick changes since it can break others stuff so too much interaction and policy around it and so forth.
- jcriddle4 8y agoRead the Dilbert Principle. If you are in too much of a hurry here is the Wikipedia summary of it. https://en.wikipedia.org/wiki/Dilbert_principle https://en.wikipedia.org/wiki/Dilbert_principle The situation seems completely unfair but you need to move on, life has some sucky points sometimes and a magic fairy isn't going to come down and fix things and set them right. I suspect talking with the management will only make things much much worse. You look much better to an hiring company if you currently have a job. Put your resume out and when a good offer comes in jump. Do not let the fact that you did great work and an idiot got promoted suck the life out of you.
- JustSomeNobody 8y agoReading your post, the only incompetence I see is your management. So, to deal with that I have some suggestions. First off, again, your manager failed you. They should have known who was doing what and who wasn't. There is simply no excuse for that. That is their job. Second, what you should take from this is make sure you have constant conversations with your manager(s). If they're not doing their job, do it for them by initiating these conversations. Tell them what YOU have done both individually and as a team member. Don't be negative. Even when teammates fail you, find a way to be positive. That may just mean that you leave out the team part and focus on your individual part. This cannot become a habit, however.
- eksemplar 8y agoWhy was it wrong to promote your colleague to manager instead of you? You did technical work, but your colleague build relationships and manoeuvred politically. So from what you’re saying, your colleague was a better choice for management than you. Because management isn’t really about having technical skills, even in tech, it’s about building relationships and getting the most out of them while you hold a steady course through corporate politics. I mean, you didn’t even speak up for your achievements when you felt they were being stolen. And now you can’t come to terms with a new management structure. How do you expect to handle a management meeting? That’s a little rough, and I am sorry, but technical skills isn’t really useful above technical leads, and those guys/girls rarely have responsibilities outside of technical direction. I mean, do you even want to spend 60% of your time motivating other people, dealing with their problems, resolving their conflicts and helping them improve? Never writing another line of code? Because the other 40% will be spent in spreadsheets and meetings.
- caymanjim 8y agoI'm going to be a little mean here, but it sounds like you might be the problem. > I've been doing a lot of work to clean up the debt that was accumulated and, meanwhile, I improved the reliability and the efficiency of the infrastructure. I wrote common components and library to avoid duplication and shared it with wiki pages on how to implement certain things correctly. Did anyone ask you to do this work? Does it benefit the company in any tangible way? Did you make the product objectively better, or did you fixate on code purity at the cost of work that generates more business value? Sometimes tech debt needs to be addressed for technical reasons, sometimes it's a vanity exercise. If your work doesn't have visibility, maybe that's because no one wanted it done in the first place. Spending time on tech debt, not under the umbrella of tangible benefits, is usually not a productive undertaking. As much as you might loathe working on some hairy piece of code, if you're not changing it for a business reason, you might be making things worse. You might be adding complexity, introducing bugs, hurting performance, or simply going off on a wild goose chase. > On the other hands, my colleague, is more focus on building relationships and acting like he's the manager even tho he's not. In a couple of circumstances he event tried to give me orders which is not what he supposed to do. Building relationships is critical. Most of software development is not writing code; it's understanding business problems, gathering requirements, organizing/prioritizing, delegating, getting feedback, etc. Of course you need to produce a product at some point, but doing so effectively requires that at least some team members be engaged with product owners, customers, and other teams. Your colleague sounds like a manager/team lead, and it sounds like he's viewed that way by others. > In meetings with our manager he brag on stuff that I did sharing it as a "we did", while when he does something alone (which most of the time asks to me as well) he would say "I did". In a functioning team, almost all tasks should be "we dids" rather than "I dids". It doesn't sound like he's taking credit for your work. He's not saying "I did" in reference to your work; he's saying "we did". Maybe he slips up and says "I did" when talking about his own work. It could be that he is trying to speak in terms of team effort and only says "I did" out of habit for his own work. Or maybe he's an underhanded dick. > This kind of behaviour was ok at the beginning but since our boss left and he got promoted as manager is not sustainable anymore. It sounds like he IS a manager. In fact, despite your earlier claim about how it's not his role to give you orders, it sounds like that is in fact his role. It sounds like he is YOUR manager, but you're simply not happy about it. Maybe your colleague is an asshole who takes credit for your work, brown-noses his way up the food chain, and is less technically competent, but I don't see any of that. What I see is someone who's able to strike a balance between social engagement and technical engagement, with natural leadership abilities, who's able to effectively delegate, and has successfully transitioned into a leadership role. You have to advocate for yourself. If you don't think your contributions are appreciated, make sure that your contributions are what the company actually wants, and not your own agenda. Make sure people know what you contribute, by building relationships with other leaders in the company. Make your voice heard during planning and review meetings. If you really are leading a few product teams, then you must have people working under you. Delegate to them, and stop worrying about taking personal credit. When your team does well, you'll look good. And if you start saying "we did" instead of "I did," your team will appreciate it and view you as a humble leader.
- paraditedc 8y agoLet me start by pointing out that, based on your description, your colleague is not incompetent and your colleague technically did not do anything wrong. Is it wrong to say "we did" for tasks given to your team as whole? No, because after all everything is team's effort. At the same time, it is also not wrong to say "I did" when it is indeed only your effort alone. It's just playing with words for one's own gains. What is very apparent, however, is your lack of confidence and interpersonal skills. You should talk to your manager (or skip to the next level) to assert the relative contribution between you and your colleague, based on hard evidence (git commit, wiki edit history, interviews with other teammates). Also you should do it as soon as possible after your colleague plays the word game while the manager for both of you still have fresh memory. But now it might be too late for any of these. Move on to another team or another company.
- zldkz5 8y ago> technically did not do anything wrong. I didn't share everything that happened in two years time but just some vague summary. Is hard for someone that does nothing to do something wrong. In all the meetings we had his first thought was "let's find an open source alternative that does that for us" even in some highly customisable and domain specific solution that won't be available in GitHub for you to use. Or not any "how to do ...." search in Google can solve. Yet, after more than two years, is still have lacks on how our infrastructure and the application works. And he still propose useless open source or SaaS solutions that don't fit at all our usecase because he doesn't even know what the applications do.
- OliverJones 8y agoOthers have said this person is competent and meeting his personal goals: building relationships and successfully evangelizing your department's work. I agree. He's not incompetent. He's just not a technician, and you are. You have the makings of a fine partnership here, that uses your strengths and his to get things done. Don't forget that complementary talents and work styles are generally good. You are already the go-to guy for tech questions. He can be the go-to guy for relationship questions. SOMEBODY has to answer the questions, "how do we get whatever in the budget?" or "do you know anybody at our customer Initrode?" But, this person has some things to learn about taking and sharing credit. It's up to you to give him appropriate feedback. Let's say he takes credit for something he personally did not do. Here's what you do: 1. Cool off if you're annoyed. 2. Speak to him in a place where nobody can overhear you. 3. Ask him to listen to everything you have to say without interrupting. 4. Describe, with particulars, the unwanted behavior. "Yesterday, in the team meeting, you said 'WE successfully framised the zumbinator under budget and ahead of schedule.'" (Don't generalize: don't say "you always take credit" or anything like that.) 5. Describe the behavior's effect on you. Speak for yourself only. "When you said 'we,' I was uncomfortable because I know you personally had nothing to do with that project. It sounded to me like you took credit for work you did not do. " (Don't say "the team gets annoyed" or anything like that.) 6. Ask for a change. "In future, please keep in mind that people who work hard on projects deserve credit for them. When you announce an accomplishment, please be careful to give credit to the right people." 7. Say why: "Personal pride in good work done is very important to me. We have a good partnership here. If you give credit to the right people we'll be even better. Thanks for listening." 8. DON'T expect him to immediately smack his forehead and say, "Oh I have been a fool. I'm sorry, I won't do it again." It takes people a while to absorb "constructive" feedback.
- citilife 8y agoYou're in an office, or the way I like to think of it - a tribe of "professionals". Like all tribes you have people who hunt, gather, tan leather, and make dinner. The "best" hunter occasionally will bring back a deer, maybe once a week. The stable hunter brings back 15 fish every day; aka they feed the tribe consistently. People recognize and praise the deer hunter more. Even if they bring back less food, they are visual and there is a celebration when a deer is brought back. Meanwhile the person bringing back fish, well, they feed the tribe, but it's consistent and not flashy. To your post: > I've been doing a lot of work to clean up the debt that was accumulated and, meanwhile, I improved the reliability and the efficiency of the infrastructure. I wrote common components and library to avoid duplication and shared it with wiki pages on how to implement certain things correctly. First, it sounds like you may have done unnecessary optimizations (aka not a "good" job at delivering real business value). I'm not saying that's the case, but always be wary of "delivering" what no one asked for. At the very least, you didn't bring back a deer, you delivered a steady stream of fish. It actually appears like you built a new net, but at the same time catch the same number of fish. Second, it appears the deer hunter has already been made chief (aka manager), and you're still catching fish. So now it's your job (if you want to stay there) to figure out how to work together. Explain what you'd like to do, and where you'd like to go. As a manager it's his responsibility to work with you to achieve those goals. Move to be the next deer hunter, and learn from the chief on how to get there. Clearly, they appear to be better at distributing the work and / or self-promoting. Ask them to promote you too, work with them to ensure you're being promoted as well. As a manager, they can only be as successful as their underlings. Use that value you create to benefit both of you. At this point it's not a zero sum game. Both of you can move up the ranks, albeit in different paths. Looking for a new job is also an option, but in any case. You need to refocus, you were out maneuvered politically -- you lost. However, it doesn't appear your goal was to manage, you thought bringing in the regular solid work would promote you. It doesn't, solid development does nothing, achieving business goals and sharing it is the key. Keep in mind taking an open source library and distributing it often brings more value to the company than new development. The person who distributes that library is far more likely to get promoted (open source or internally developed - it doesn't matter).
- maxxxxx 8y agoI don't think your colleague is incompetent. Instead he has a better understanding of the reality of a company than you have. My advice is that you learn the political game. Otherwise you have a lifetime of resentment and disappointment ahead of you. You don't need to use politics to do evil things. But you need to understand how it works and protect yourself. Nobody gets ahead by just doing good work.
- motohagiography 8y agoFront running news is a standard play. The line for me has always been lying and sabotaging others, but I've found that even this sort of honesty gets you blindsided by those who don't share it. You don't anticipate it when you aren't in the habit of doing it. As a thought experiment, try to re-imagine the idea of honour as a luxury, where people raised to value and expect it have been saddled with a privileged misapprehension that they do not have the power to enforce on their environments. Viewed through this lens, an expectation of honesty and relationships with principles and interactions according to rules is an artifact, if not the definition, of a poor education - one that does not equip them to succeed in organizations that have optimized this costly luxury out. Ending this thought experiment, consider how someone without that luxury and little exposure to it might operate, and what it might mean if to succeed, you had to leave a luxury you took for granted from a former life behind. My recommendation would be to grieve it briefly, look forward to a time when it doesn't cost you dearly as it has, and then move on.
- sandrocottus 8y agoI face this situation everyday after joining my current company. It can be disturbing and counter productive. My manager is non technical, this is the root cause in my case. I am determined to either join a different team or company, My requirement is that my next manager needs to be technical (this helps because previously there was no such issues). Alternatively i keep hoping to join a startup where your work is transparent.
- jwleath 8y agoIt's probably too late to do anything about this job. This person has already taken advantage of you and will continue to do so. Try to transfer out from under him to another group. If you can't, find a new job. This guy will continue to take credit for your work and will probably resist promoting you so he can continue to do so. In the future, don't let this happen. As other posters have commented, you should have either spoken up at the meetings or complained to your old boss privately. Many people have more social skill than technical skill. This situation will come again so learn your lessons. If someone is asking about your status right before a meeting, that's a good sign he's going to try to take credit for your work. You can use it to your advantage, though. For example, keep something in your pocket. Don't tell him an important detail and then interject with it at the meeting. As an ULPT, tell him something that's wrong so he makes a fool of himself. (He'll accuse you of saying it, so tell him he misunderstood.) People like this are playing a game with you. Don't ignore it; you must play as well.
- austincheney 8y agoI live in two separate worlds simultaneously. Here is what I have observed, but please bear in mind the following points are easily abused by incompetent superiors to protect themselves. 1. Corporate: 1a. Subordinates: In the corporate world firing people isn't as easy as it sounds. Put everything on paper. Good managers have lots of paper on their people. Good documentation lets you know who to promote, without implicit bias, versus who to fire if layoffs happen. This is why contractors are so common at many firms. Contractors are easy to fire. 1b. Managers: There are great managers and there are horrid managers. More often than not it comes down to personality. Does your manager know anything about you? Do they listen to you or care about your job? Good managers really show they care. No matter how much you suck they still want to provide you opportunities to propel your career. Incompetent managers look you are a line item. In the case of incompetent managers you aren't going to be a rockstar. Instead cover all your bases and check off all the blocks on the metrics the boss cares about. The goal is to tread water with comfort and not make waves. In this case a life raft is any opportunity to work under a different manager. 1c. Peers: Tread carefully. 1c I. Incompetence: Incompetent peers who are downing might try to pull you down with them. Don't let incompetent people dictate your quality of work. Be independent and grow a backbone in the face of their uncertainty. Always be helpful with frequent offers of assistance and guidance. Help them to learn and remain productive, but the bottom line is to deliver quality work to the project on time. Ic II. Assholes: If they are assholes or too special for help then simply let them drown. If they do stupid things to harm product quality let the product owner know, but remember you are not their boss. If they don't make it at the current company they will always find work somewhere else. 1C III. Immaturity: Immaturity is rampant among young developers. Its weird how so many young developers, even when I was young, think they are so incredibly talented. I believe this is the dunning-krueger effect effect. Kindly remind the immature person when they step out of bounds, but keep a very safe distance. Typically immaturity stems from a lack of self-awareness similar to starting forest fires. 2. Military: 2a. Subordinates 2a I. Disobedience or Disrespect: Eliminate the problem immediately and directly in a very ad hoc manner. This is ok because they are owned by their superiors. The superiors must then care for them with directed guidance and mentoring. After you crush their emotions you have to empower them to make better decisions independently. 2a II. Incompetence: Counsel them on paper. Every major screw up goes on paper. This protects you and them, because lets your booses know you are working on it and maybe they need a different job. You need paper to prevent them from being promoted before they are ready. Putting things on paper with great specificity also imposes an action plan upon you to improve the individual. 2b. Superiors 2b I. Assholes. Pull them aside and kindly let them know they are burning all their bridges and although they don't see it yet they are drowning and nobody wants to save them. Give them an olive branch and be patient and respectful while they are being an asshole to you. Be a good example and encourage them to follow your lead before they really hurt themselves. 2b II. Toxic Leaders. The core of all toxic leadership is some sort of selfish quality. Document all the wrongs you see about them. Simultaneously report the evil bastard to the unit commander and let the unit commander you have already submitted the issue to the inspector general's office. Don't wait on this and don't be passive about it, because if they aren't screwing you they are screwing somebody else. This is one of those situations were the forced dichotomy isn't a fallacy. You really are part of the solution, part of the problem, or an immediate victim. 2b III. Incompetence. Stupid, unqualified, or unprepared people can be promoted to astonishingly high levels. This is going to sound counter-intuitive, but do their job for them, but don't let them take credit for it. Ensure the work gets done and everybody stays safe. Don't worry about a paper trail because actual incompetence is obvious and people talk. If their incompetence results in harm or high risk situations they will typically be removed before an investigation falls upon their boss. 2c. Peers 2c I. Toxic. People primarily interested in self-serving interests aren't leaders. Address this directly with both them and their boss. Document what you see, but keep it secretly to yourself. If the toxic behavior is bad enough to warrant an investigation it often comes down to paper and good paper will protect you and the toxic person's subordinate. 2c II. General Incompetence. Talk to them and figure out what's going on. Sometimes a life situation can arise that provides serious distractions. Help a buddy out and try to get them on the right track. If they continue to fail, well at least you did all you could to try to fix the problem... right?
- asianthrowaway 8y agoSeems like you learned the hard way that social skills are an important part of thriving in a social hierarchy. I recommend you read books on how to deal with people.
- itomato 8y agoWho are you to judge another's competence? By what standard? Your expectations are yours alone, unless you are tasked by the business to analyze and optimize.
- zldkz5 8y agoIndeed that was my scope. I was tasked by the business to analyze and optimize the technical assets of the company. And yes, I do also recruit and judge other's competence
- thekhatribharat 8y agoI've been in a similar situation and can relate to most of what you've described. In my case, I pointed it out to upper management multiple times but they failed to take action. I left the organization eventually.
- thekhatribharat 8y agoTo add to this, reading your post, I was actually surprised to see that someone else is in a pretty similar situation. In my case, I felt the other person was really a toxic element and did my best to point it out to upper management, with concrete examples and validation from other team members. I rarely faced disagreement in any of these discussions with upper management but alas they failed to take action. I came to the conclusion that if an organization is incapable to weed out toxic elements despite substantial evidence, it's going to only get worse from here and that it's best to leave the organization as soon as possible.
- AchieveLife 8y agoSome great advice already in this thread. To add on to it I'm reading that you don't like your new manager. 2 option s are to go above his head and become his boss or find a new job If you decide finding a new job is your move then I recommend using some of the advice here to sell your accomplishments and ability to lead to acquire the position and authority you want. Politics do happen but there are people who have the necessary "no bullshit" political attitude that keeps others in check. If you are that person then get the authority to execute that prerogative and improve people's lives. Tech culture tends to forget the interpersonal side of careers which is critical for advancing goals. Have you taken the StrengthsFinder assessment before? https://www.gallupstrengthscenter.com/ https://www.gallupstrengthscenter.com/
- patagonia 8y agoIn response to/summary of some of the other comments, to keep it brief: 1) Your colleague is not managing. They are politicking. A good manager gives credit where due and listens to the people doing the work. 2) You don’t want to work in a culture that rewards politics over solid engineering. They need to coexist, by staying in their own lanes. 3) It’s too late with this role. Move on and bring these lessons with you. The alternative is a fairly ugly and costly series of discussions and confrontations with the company during which you will need to make the argument that what you say is happening is happening and you will need to change the company culture along the way in order to win those battles. Not worth your time or energy.
- asveikau 8y agoThink of yourself removed from the situation, perhaps think of yourself meeting these same people in another context, and realize that it's the time and the place, rather than the people, that distorts things enough such that you are in conflict. For a long time I thought of such people as my enemies. But it is the context that makes them so. A lot of them may not have the maturity to come to these conclusions, and some folks on the periphery may take their side too. That's OK. You know the truth for yourself. Change jobs if you have to. It's not great to keep working for people who hold up these illusions.
- alistproducer2 8y agoI worked at a fortune 500 where IT was a support role and we had lots of people who were not that technically proficient. I really did have to deal with people who were incompetent programmers. Rookie mistake all over the place. Global variables in JavaScript. Check. Not using version control. Check. What you describe is not incompetence at all. It just sounds like this person has aspirations for management and you don't. Personally, I believe that it's best to lead from the front meaning that one should demonstrate to the people he/she is trying to lead that one really knows their stuff. That being said, it sounds like now this person actually is responsible for managing you now so it appears their tactics paid off. Unless this person is asking you to write bad code or implement designs that don't make sense, there's really no issue other than your resentment towards this person. you got to let it go. That stuff is poison.
- Devils_Avocado 8y ago+10,000,000 the comment below. If you feel you have not received recognition or reward in proportion to your efforts while in the employment of this company, its time to 1) start looking elsewhere for an environment more in sync with your own personal values and 2) accept that for >90% of all economic interactions, perception = reality and adjust your attitude accordingly. "clavalle 1 hour ago | unvote [-] I never heard anything about incompetence in your description. Technical debt can build up for myriad reasons not related much to competence. What I would suggest is not to approach this situation as how you can wall off or otherwise attack this person but, instead as a life lesson on the importance of interpersonal relationships and politics. Politics are a fact of life. Humans are social creatures. All things being equal, and some ways even when not equal, those that are proficient in interpersonal relations will come out ahead. Grok that fact. There is no escape from it. Good. Now that unpleasantness is out of the way. On to how to cope. Scratch that, /thrive/, in an environment of people doing people things when you are a technical person. First, information. That is the lifeblood of many systems and politics is no different. Simply make sure important information is conveyed to the right people at the right time. You use the example that this fellow was able to take credit for your work. Had you passed the information of what you were doing and why it was important to the right people, he would have simply looked foolish to try to take credit. It can be uncomfortable, to toot your own horn, but it is necessary. Additionally, it can be important to the organization. Assuming you are creating value, it is important that decision-makers know that so they can make the correct decisions. Don't feel bad. Toot away. Building relationships is critically important in almost every human endeavor. Get good at it. It is a skill like any other. The target of your annoyance became a manager because he built up those skills and made it known. Build your skills and make it known. It is just that simple."
- twoquestions 8y agoIs there a way to train the kind of social skills that people are saying the OP lacks, or are you just boned if you can't play the game?
- Floegipoky 8y agoIt seems like you have a few problems: 1. Doing more than your role calls for and not getting recognition 2. Reporting to somebody who you don't trust 3. You want to keep coding/architecting. The next promotion requires pointy hair I see 2 solutions: 1. Try to work with the company to come up with a solution. Make sure the people higher in the management chain know you're unhappy. Many companies really don't know what to do with senior/lead devs. Often the only way to advance is to stop coding, which of course is the whole reason you were valuable to the company in the first place. If that's the case where you are, consider talking to some decision makers about it. Frame it as "I like it here and want to stay, but my goals are incompatible. I'm producing more and more value for the business but there's currently no way for me to advance my career without setting aside the skills I've spent so long honing. Help me to find a way to meet my goals here." Try to talk them into creating a position for you that formalizes your role as a technical leader and gets you out of this person's reporting chain. Either they've been paying better attention than you think and they'll work with you to get you to stay, or they're clueless and have no idea what you're doing for the org. Either way, at least you tried to do something and you know where you stand. 2. Quit. 3. Deal with it (not recommended)
- thisisit 8y agoI hope you got a chance to read a good HBR article posted earlier on HN: https://hbr.org/2018/11/5-ways-smart-people-sabotage-their-success https://hbr.org/2018/11/5-ways-smart-people-sabotage-their-s... Discussion here: https://news.ycombinator.com/item?id=18459389 https://news.ycombinator.com/item?id=18459389
- chatnati 8y agoHe got promoted because he was replaceable. This is an art-form to cultivate if you want to be promoted yet be good at your job.
- fpalmans 8y agoI am a little late to the conversation, though want to share some quick thoughts here. On the one hand, I understand why you this situation makes you unhappy. On the other hand, I want to offer a different perspective. Based on your description, it sounds as if the two of you could form an excellent team! You have the technical know-how and drive, he has the relationship building and political skills. Perhaps you should team up with him and make him your advocate for career advancement - he at least appears to be good at it. Never forget that advancing one's career in a company is NOT a zero-sum game! Also - when a manager, whether or not he has the title, says that he did something, or that he will do something, in stead of taking credit, can also signal acceptance of accountability. In other words, if a deadline is missed, or a system breaks, etc, he will take the flack. Perhaps this is something you need to clear out with him directly. Assuming that you enjoy/prefer the technical work, aligning yourself with him might be a match made in heaven. You continue to make him look good and he makes sure he gets you regular raises, progresses your career, gives you time off, sends you to conferences or training courses in which are interested, gets you bonuses, etc., etc.
- LocalMan 8y agoThe one thing you probably haven't been doing is having friendly work-oriented talks with your boss. A couple of times a week you should have been raising some easy issue just as a "heads-up" so the boss is up to date. The idea is to break down the social barrier between you two and make sure he knows you, feels relaxed around you, and knows you're competent. A related important goal is to make sure the boss knows that you two can work together as near-equals as part of a team. That's what being promoted really means, from the boss's point of view. You've run into a colleague more of a predator than an engineer. I've also been pushed out this way and was foolishly resting on my technical laurels.