The guy who knows
-
I am currently having issues with a guy at work who think he's a great programmer and knows everything about what is the latest and greatest technology, but alas, is not. I work in mechanical development, so pretty much anybody who knows how to write an Excel macro is Bill Gates here, just for you to get the picture. As a former embedded and desktop coder, I am lightyears ahead of this. Now these people, and that particular colleague, get sometimes involved in SW programming, when they create tools helping the mechanical design or write interfaces between internal systems and matlab for instance. And this leads to terribly poor technology choices, oversized, or obsolete before they were born, or so terribly programmed that the code cannot be maintained. The programming "guru" however has powerful persuasion skills, so he drives management, who have not the start of a clue (otherwise they would have known they need professionals to design software), into believing that what he does is the right thing to do - not intentionally, he is genuinely persuaded he is a know-how holder :~ And this is eating up my patience. I am not directly involved in what he does, that is why I don't do anything about it, but I attend some meetings sometimes where I just could bang my head on the desk. To give you a feeling, it is as if you were looking over someone's shoulder and he would copy and paste 10 times the same code instead of making a for loop : it works, but gnngnnngn it is just plain wrong. :sigh:
~RaGE();
I think words like 'destiny' are a way of trying to find order where none exists. - Christian Graus Entropy isn't what it used to.
I think the best piece of advice I've seen so far is from Mark Merrens Wallace, yet you seemed to speak up to everyone but him. But just backing up his point. If you go directly to the guy which is making you blow up steam, you may actually be pleasantly surprised. Yeah, I know, sometimes people can be cocky and poor listeners, but if you go with the correct approach in a humble and suggestive way, you have I high chance of success. This can lead you to get an ally with management and he may even start coming to you for advice. As a side effect you will even stop venting at the meetings :) I know it can be difficult to do what I just said, it's easier for some types of personalities. If this type of approach is difficult to you, it is the exact type soft skill you should start practicing asap. It's in many circumstances more important than your technical skills and it's determinant in your career growth. I don't know you, but venting online reminds of my not so much younger self, so I hope what I said helps you deal with this type of situation. By the way, count to 10 :laugh: Regards, Fábio
To alcohol! The cause of, and solution to, all of life's problems - Homer Simpson ---- Our heads are round so our thoughts can change direction - Francis Picabia
-
mark merrens wrote:
Why not take one of his apps, write it correctly and present it to management as they way it should be done if a professional programmer were able to do it.
Because making an enemy of someone who is very persuasive to management is an extremely bad idea. Better, improve something, and show it to the guy himself. Remember to smile and not to talk to him like he's an idiot. It's always preferable to open a discussion, rather than start a war. [edited a typo]
I wanna be a eunuchs developer! Pass me a bread knife!
Mark_Wallace wrote:
Because making an enemy of someone who is very persuasive to management is an extremely bad idea.
This. Don't do it. You've said that you don't have to work with the guy directly, so I say take a zen approach and let the amateurish code flow by you like water. It's not your problem, but if you step into it you will make it your problem, and while you may be able to fix the code fixing the political situation may be a different matter. If you go to management, they aren't going to understand what you're saying. They're going to go to someone else to evaluate what you're telling them, and guess who they're going to ask? That's right, the guru, who will likely (and accurately) see you as attacking his professional reputation. If he is persuasive with management, that means that you can only lose that fight. Let it go, is my advice. You have a lot to lose and little to gain. If you really want to change things, build your own reputation with projects that don't threaten the guru, and cultivate a relationship with management that will allow you to give them advice that they will listen to. Don't go about it by attacking the work of someone with more political power than you've got, you won't win. Pick your battles, man.
-
Jeremy Falcon wrote:
But ranting about it online while thinking they're stupid in real life
OK, my mistake, then I have probably misunderstood the point of the Internet. :-D I just needed to vent out. Talking to management won't change anything, or in the best case end up for more work for me ("It can be done better ? Then do it yourself"). What probably drives me mad is that it is yet another example of a workplace where millions are invested in development&research for the product, but not for the SW tools that help developing it. For that part, it is OK to let a computer-illiterate handle database development with worldwide multi-location deployment, cross-application data exchange, interface to ERP, etc... :sigh:
~RaGE();
I think words like 'destiny' are a way of trying to find order where none exists. - Christian Graus Entropy isn't what it used to.
So it sounds like the real problem is management, are you going to go to management and complain to them about that? Point out how they've been failing all this time? It's not your job or responsibility to run the company. Maybe you know a thousand ways to do things better, but the sharpest knife is the one that cuts most deeply. You can't fix management from below, you can only make enemies that way.
-
I am currently having issues with a guy at work who think he's a great programmer and knows everything about what is the latest and greatest technology, but alas, is not. I work in mechanical development, so pretty much anybody who knows how to write an Excel macro is Bill Gates here, just for you to get the picture. As a former embedded and desktop coder, I am lightyears ahead of this. Now these people, and that particular colleague, get sometimes involved in SW programming, when they create tools helping the mechanical design or write interfaces between internal systems and matlab for instance. And this leads to terribly poor technology choices, oversized, or obsolete before they were born, or so terribly programmed that the code cannot be maintained. The programming "guru" however has powerful persuasion skills, so he drives management, who have not the start of a clue (otherwise they would have known they need professionals to design software), into believing that what he does is the right thing to do - not intentionally, he is genuinely persuaded he is a know-how holder :~ And this is eating up my patience. I am not directly involved in what he does, that is why I don't do anything about it, but I attend some meetings sometimes where I just could bang my head on the desk. To give you a feeling, it is as if you were looking over someone's shoulder and he would copy and paste 10 times the same code instead of making a for loop : it works, but gnngnnngn it is just plain wrong. :sigh:
~RaGE();
I think words like 'destiny' are a way of trying to find order where none exists. - Christian Graus Entropy isn't what it used to.
Frequently the organizational culture inadvertently forces this situation to evolve. When people have to get their jobs done and can imagine a way to improve it, but are blocked from having it done professionally by time or budget constraints, they will cobble up something on their own. I would be surprised if people who do this would not welcome some constructive interaction from a skilled developer ... but as you hinted above, you're "not directly involved in what he does." Probably the org-culture blocks you from helping him in several ways, too.
-
I am currently having issues with a guy at work who think he's a great programmer and knows everything about what is the latest and greatest technology, but alas, is not. I work in mechanical development, so pretty much anybody who knows how to write an Excel macro is Bill Gates here, just for you to get the picture. As a former embedded and desktop coder, I am lightyears ahead of this. Now these people, and that particular colleague, get sometimes involved in SW programming, when they create tools helping the mechanical design or write interfaces between internal systems and matlab for instance. And this leads to terribly poor technology choices, oversized, or obsolete before they were born, or so terribly programmed that the code cannot be maintained. The programming "guru" however has powerful persuasion skills, so he drives management, who have not the start of a clue (otherwise they would have known they need professionals to design software), into believing that what he does is the right thing to do - not intentionally, he is genuinely persuaded he is a know-how holder :~ And this is eating up my patience. I am not directly involved in what he does, that is why I don't do anything about it, but I attend some meetings sometimes where I just could bang my head on the desk. To give you a feeling, it is as if you were looking over someone's shoulder and he would copy and paste 10 times the same code instead of making a for loop : it works, but gnngnnngn it is just plain wrong. :sigh:
~RaGE();
I think words like 'destiny' are a way of trying to find order where none exists. - Christian Graus Entropy isn't what it used to.
-
mark merrens wrote:
Why not take one of his apps, write it correctly and present it to management as they way it should be done if a professional programmer were able to do it.
Because making an enemy of someone who is very persuasive to management is an extremely bad idea. Better, improve something, and show it to the guy himself. Remember to smile and not to talk to him like he's an idiot. It's always preferable to open a discussion, rather than start a war. [edited a typo]
I wanna be a eunuchs developer! Pass me a bread knife!
Mark_Wallace wrote:
Because making an enemy of someone who is very persuasive to management is an extremely bad idea.
DING DING DING DING, you are the winner! I agree wholeheartedly, I've made that mistake myself (several times) First, you are trying to change the perception that management has of this person. Their egos do not take kindly to the realization they have been wrong. It is easier to make you out to be the person that is wrong instead of them. Second, the person you are showing up is not going to like it either, he may think you are threatening his job and possibly you want his position. Best advice I have, is to approach the programmer and make him see the light. You don't have to be confrontational to do that, just give him a few gentle suggestions. If he does not react well to them, give up, his is a lost cause.
Psychosis at 10 Film at 11 Those who do not remember the past, are doomed to repeat it. Those who do not remember the past, cannot build upon it.
-
I am currently having issues with a guy at work who think he's a great programmer and knows everything about what is the latest and greatest technology, but alas, is not. I work in mechanical development, so pretty much anybody who knows how to write an Excel macro is Bill Gates here, just for you to get the picture. As a former embedded and desktop coder, I am lightyears ahead of this. Now these people, and that particular colleague, get sometimes involved in SW programming, when they create tools helping the mechanical design or write interfaces between internal systems and matlab for instance. And this leads to terribly poor technology choices, oversized, or obsolete before they were born, or so terribly programmed that the code cannot be maintained. The programming "guru" however has powerful persuasion skills, so he drives management, who have not the start of a clue (otherwise they would have known they need professionals to design software), into believing that what he does is the right thing to do - not intentionally, he is genuinely persuaded he is a know-how holder :~ And this is eating up my patience. I am not directly involved in what he does, that is why I don't do anything about it, but I attend some meetings sometimes where I just could bang my head on the desk. To give you a feeling, it is as if you were looking over someone's shoulder and he would copy and paste 10 times the same code instead of making a for loop : it works, but gnngnnngn it is just plain wrong. :sigh:
~RaGE();
I think words like 'destiny' are a way of trying to find order where none exists. - Christian Graus Entropy isn't what it used to.
What I'm hearing is that you don't like the way this guy does his job because you could do it better. It also sounds like you want some recognition for being better at his job than he is. Get over yourself. He's found a tiny puddle that he can be the big fish in. It sounds like its gone to his head a bit, but aside from that let him have his day.
We can program with only 1's, but if all you've got are zeros, you've got nothing.
-
Mark_Wallace wrote:
If you can't play nice with the other kids, everyone loses -- you, your colleagues, and the company.
I have to agree with every bit of what you said so far. Unfortunately, in our industry (software development in general) soft skills are rare to find, specially having a good political attitude. I have myself struggled over the years to grow up and learn to deal with things I do not agree with and one of my greatest lessons was to not go cry for the boss. I have made that mistake already and I have also learned that going directly to the person I disagree with rendered much better results. Most of the time when I would approach the person directly, the results were positive. They would listen to me and even when we could not reach an agreement, our relationship did not deteriorate. And surprisingly, most of the time the relationship improved, they would come to me for advice and even recognize my ideas to upper management. All in all, I learned that by swallowing my pride, I couldn't go wrong; and eventually it ceased to be difficult to do it. Being humble, being right or wrong (yes, it happens) tends to work on your own benefit. I never have to say: "I told you so!". With this type of attitude, it becomes unnecessary. This is one of the things I believe the younger ones need to be better educated about. There should a dedicated class in this area in every college, I wish this could be learned outside the scope of real life experience, not sure how feasible this is. I heard you mention something about a book you wrote. Care to share an amazon link? Cheers
To alcohol! The cause of, and solution to, all of life's problems - Homer Simpson ---- Our heads are round so our thoughts can change direction - Francis Picabia
I've bookmarked your message, to show to people. Having a "from the horse's mouth" personal anecdote like that is worth any amount of trying to explain to people where they might be making their own lives more difficult. On schooling: I've often thought of putting down some points on this topic, to be used in a class, but the thought of such material being used by organisations that anally and robotically follow processes has put me off, every time I've sat down to do it -- visions of employees of a certain petrochemical company (that shell remain nameless) mindlessly ticking off what they've "achieved" during the day flood my brain: "I've chatted with so-and-so, as it says to do in paragraph 11; I've arranged a catch-up meeting with thingummy, like in section 3a; and I've defused a potential problem by following the first stages of the 'admitting a weakness' chapter. That's a good day's work! Now I only have to follow the steps in section nine, and I can ask for a promotion!" God only knows how they ever get anything done. It's Marc Clifton who writes all the books, around here. I only write, well, just about everything else.
I wanna be a eunuchs developer! Pass me a bread knife!
-
That's just pedantry, and won't make his feelings about what you do any better. If you can't play nice with the other kids, everyone loses -- you, your colleagues, and the company.
I wanna be a eunuchs developer! Pass me a bread knife!
That's cowardly nonsense: if you can't stand up for yourself you'll get pounded and that'll be the first guy to do it.
-
I am currently having issues with a guy at work who think he's a great programmer and knows everything about what is the latest and greatest technology, but alas, is not. I work in mechanical development, so pretty much anybody who knows how to write an Excel macro is Bill Gates here, just for you to get the picture. As a former embedded and desktop coder, I am lightyears ahead of this. Now these people, and that particular colleague, get sometimes involved in SW programming, when they create tools helping the mechanical design or write interfaces between internal systems and matlab for instance. And this leads to terribly poor technology choices, oversized, or obsolete before they were born, or so terribly programmed that the code cannot be maintained. The programming "guru" however has powerful persuasion skills, so he drives management, who have not the start of a clue (otherwise they would have known they need professionals to design software), into believing that what he does is the right thing to do - not intentionally, he is genuinely persuaded he is a know-how holder :~ And this is eating up my patience. I am not directly involved in what he does, that is why I don't do anything about it, but I attend some meetings sometimes where I just could bang my head on the desk. To give you a feeling, it is as if you were looking over someone's shoulder and he would copy and paste 10 times the same code instead of making a for loop : it works, but gnngnnngn it is just plain wrong. :sigh:
~RaGE();
I think words like 'destiny' are a way of trying to find order where none exists. - Christian Graus Entropy isn't what it used to.
Ive had my own small software business for over 20 years and one of the things I was glad to leave behind was maintaining legacy code written by morons or working in a 'team' with them. some of these people only got the job because there was no-one else around or they came across as 'bright' and quick learners in their interview, but who couldn't adhere to any sort of standards or write maintainable code - as I say it was 1991 the last time I had to do it but still remember the frustration, so I feel your pain m8 :)
-
That's cowardly nonsense: if you can't stand up for yourself you'll get pounded and that'll be the first guy to do it.
Hwuh? You're talking to me, here. I've been in bar fights. The point is that you go to work to earn a living. In order for you to earn a living, your company has to be profitable, and run smoothly. Picking fights because you think you can do someone else's job better than him (whether it's true or not) will in no way help you to achieve your objective (of making a living), and, if you upset too many people, may even result in your having to try and earn your living elsewhere. A few people in this thread have given their personal experiences and opinions on how to handle such a situation, but the only ones who have said the situation actually improved are those who said that they did not go out of their way to make anyone look like an idiot, but instead used their brains and focused on doing things that would resolve the situation, rather than escalate it. You are not at war with your colleagues, and your objective has got nothing to do with belittling your colleagues. If anyone doesn't think those two statements are true, then the person who is preventing the company working smoothly (and therefore endangering the objective of making a living) is not the guy who is writing code (poor or otherwise), it's the guy who is causing friction and political battles between colleagues. Any idiot can cause trouble, run to tell mummy tales, and call people cowards. I thought developers were meant to be more intelligent than any idiot. You won't solve a programming problem by giving your computer a show of ego, and, somewhat unsurprisingly, a show of ego doesn't solve any other kind of problem, either.
I wanna be a eunuchs developer! Pass me a bread knife!
-
Mark_Wallace wrote:
If you can't play nice with the other kids, everyone loses -- you, your colleagues, and the company.
I have to agree with every bit of what you said so far. Unfortunately, in our industry (software development in general) soft skills are rare to find, specially having a good political attitude. I have myself struggled over the years to grow up and learn to deal with things I do not agree with and one of my greatest lessons was to not go cry for the boss. I have made that mistake already and I have also learned that going directly to the person I disagree with rendered much better results. Most of the time when I would approach the person directly, the results were positive. They would listen to me and even when we could not reach an agreement, our relationship did not deteriorate. And surprisingly, most of the time the relationship improved, they would come to me for advice and even recognize my ideas to upper management. All in all, I learned that by swallowing my pride, I couldn't go wrong; and eventually it ceased to be difficult to do it. Being humble, being right or wrong (yes, it happens) tends to work on your own benefit. I never have to say: "I told you so!". With this type of attitude, it becomes unnecessary. This is one of the things I believe the younger ones need to be better educated about. There should a dedicated class in this area in every college, I wish this could be learned outside the scope of real life experience, not sure how feasible this is. I heard you mention something about a book you wrote. Care to share an amazon link? Cheers
To alcohol! The cause of, and solution to, all of life's problems - Homer Simpson ---- Our heads are round so our thoughts can change direction - Francis Picabia
Ah! Got it! I said "In my book, ~~". Unfortunately, that's just an expression that you use to indicate that you're stating a strong opinion.
I wanna be a eunuchs developer! Pass me a bread knife!
-
Hwuh? You're talking to me, here. I've been in bar fights. The point is that you go to work to earn a living. In order for you to earn a living, your company has to be profitable, and run smoothly. Picking fights because you think you can do someone else's job better than him (whether it's true or not) will in no way help you to achieve your objective (of making a living), and, if you upset too many people, may even result in your having to try and earn your living elsewhere. A few people in this thread have given their personal experiences and opinions on how to handle such a situation, but the only ones who have said the situation actually improved are those who said that they did not go out of their way to make anyone look like an idiot, but instead used their brains and focused on doing things that would resolve the situation, rather than escalate it. You are not at war with your colleagues, and your objective has got nothing to do with belittling your colleagues. If anyone doesn't think those two statements are true, then the person who is preventing the company working smoothly (and therefore endangering the objective of making a living) is not the guy who is writing code (poor or otherwise), it's the guy who is causing friction and political battles between colleagues. Any idiot can cause trouble, run to tell mummy tales, and call people cowards. I thought developers were meant to be more intelligent than any idiot. You won't solve a programming problem by giving your computer a show of ego, and, somewhat unsurprisingly, a show of ego doesn't solve any other kind of problem, either.
I wanna be a eunuchs developer! Pass me a bread knife!
Nobody said anything about picking a fight: those are your words. I said to stand up for yourself and make yourself heard above the babbling incoherence of stupidity that infests so many companies. To give an idiot your time and ideas is to waste them. And if you won't go around someone even when that would directly help the company then you do that company a dis-service with your ever-so-'umble politics. If you don't take risks, if you don't challenge people you will never get anywhere. If you are happy with that then fine; if not, then do something.
Mark_Wallace wrote:
I've been in bar fights
Ooh, quivering. What a childish threat: no wonder you won't stand up to anyone.
Mark_Wallace wrote:
You won't solve a programming problem by giving your computer a show of ego, and, somewhat unsurprisingly, a show of ego doesn't solve any other kind of problem, either.
Ego is your word, not mine. No one said ego had anything to do with it. You have a very narrow, child like view of the world. No risk, no reward. You can approach the manager without shoving your ego out in front of you. Remember, you are trying to help the company, not hurt it. If you can't articulate that properly then sure, don't do it. Mouse up and sit in the corner or give in to the office idiot.
-
I've bookmarked your message, to show to people. Having a "from the horse's mouth" personal anecdote like that is worth any amount of trying to explain to people where they might be making their own lives more difficult. On schooling: I've often thought of putting down some points on this topic, to be used in a class, but the thought of such material being used by organisations that anally and robotically follow processes has put me off, every time I've sat down to do it -- visions of employees of a certain petrochemical company (that shell remain nameless) mindlessly ticking off what they've "achieved" during the day flood my brain: "I've chatted with so-and-so, as it says to do in paragraph 11; I've arranged a catch-up meeting with thingummy, like in section 3a; and I've defused a potential problem by following the first stages of the 'admitting a weakness' chapter. That's a good day's work! Now I only have to follow the steps in section nine, and I can ask for a promotion!" God only knows how they ever get anything done. It's Marc Clifton who writes all the books, around here. I only write, well, just about everything else.
I wanna be a eunuchs developer! Pass me a bread knife!
Mark_Wallace wrote:
I've bookmarked your message, to show to people.
This makes me happy. Hopefully, we can reach and enlighten more people.
Mark_Wallace wrote:
God only knows how they ever get anything done.
I hear you, I've experienced myself situations where playing by the book becomes more important than the mission it's trying to accomplish.
To alcohol! The cause of, and solution to, all of life's problems - Homer Simpson ---- Our heads are round so our thoughts can change direction - Francis Picabia
-
Ah! Got it! I said "In my book, ~~". Unfortunately, that's just an expression that you use to indicate that you're stating a strong opinion.
I wanna be a eunuchs developer! Pass me a bread knife!
Right... Not being a native speaker of the language makes me miss this kind of stuff sometimes.
To alcohol! The cause of, and solution to, all of life's problems - Homer Simpson ---- Our heads are round so our thoughts can change direction - Francis Picabia
-
Mark_Wallace wrote:
Because making an enemy of someone who is very persuasive to management is an extremely bad idea.
DING DING DING DING, you are the winner! I agree wholeheartedly, I've made that mistake myself (several times) First, you are trying to change the perception that management has of this person. Their egos do not take kindly to the realization they have been wrong. It is easier to make you out to be the person that is wrong instead of them. Second, the person you are showing up is not going to like it either, he may think you are threatening his job and possibly you want his position. Best advice I have, is to approach the programmer and make him see the light. You don't have to be confrontational to do that, just give him a few gentle suggestions. If he does not react well to them, give up, his is a lost cause.
Psychosis at 10 Film at 11 Those who do not remember the past, are doomed to repeat it. Those who do not remember the past, cannot build upon it.
BrainiacV wrote:
You don't have to be confrontational to do that, just give him a few gentle suggestions. If he does not react well to them, give up, his is a lost cause.
Exactly, I feel that you should try to approach him nicely, but it may fail as there are a lot of people that are too cocky to admit they are wrong or are willing to listen to others. I'd rather not engage in discussions with them when I realize they are not reasonable. If you do, its likely that they will take it personally and attack you with nothing but insults. The statement below illustrates what how I feel: “Never argue with an idiot. They will only bring you down to their level and beat you with experience.” - George Carlin
To alcohol! The cause of, and solution to, all of life's problems - Homer Simpson ---- Our heads are round so our thoughts can change direction - Francis Picabia
-
I am currently having issues with a guy at work who think he's a great programmer and knows everything about what is the latest and greatest technology, but alas, is not. I work in mechanical development, so pretty much anybody who knows how to write an Excel macro is Bill Gates here, just for you to get the picture. As a former embedded and desktop coder, I am lightyears ahead of this. Now these people, and that particular colleague, get sometimes involved in SW programming, when they create tools helping the mechanical design or write interfaces between internal systems and matlab for instance. And this leads to terribly poor technology choices, oversized, or obsolete before they were born, or so terribly programmed that the code cannot be maintained. The programming "guru" however has powerful persuasion skills, so he drives management, who have not the start of a clue (otherwise they would have known they need professionals to design software), into believing that what he does is the right thing to do - not intentionally, he is genuinely persuaded he is a know-how holder :~ And this is eating up my patience. I am not directly involved in what he does, that is why I don't do anything about it, but I attend some meetings sometimes where I just could bang my head on the desk. To give you a feeling, it is as if you were looking over someone's shoulder and he would copy and paste 10 times the same code instead of making a for loop : it works, but gnngnnngn it is just plain wrong. :sigh:
~RaGE();
I think words like 'destiny' are a way of trying to find order where none exists. - Christian Graus Entropy isn't what it used to.
You might ask yourself why he is highly regarded by management. It may be true that you are light years ahead of this fellow in programming skill but he is clearly ahead of you in the things that matter to management - providing good ideas that work. I have seen it too often that programmer think that their programming skill is what matters when in reality no one,except programmers, give a darn. They want ideas executed quickly. That's what pays the bills. Rewriting his ideas in "proper code" will do nothing - I repeat, nothing for your career. Take a page from his book - find a great idea code it quickly and pitch it to the bosses.
-
Management are there to manage the business - and therefore they want stuff done now, cheaply and right. They don't give a toss about whether it is in C# or VB6, using Access or Oracle. They just want a solution. If someone offers them a solution, and it works, then as far as they are concerned, job done, tick the box, take the bonus at xmas. So, you need a way to tell them that the solutions being produced are only good in the short term (assuming that is the case - what is the cost of maintenance of the badly written code - how often does it need to be changed?) It's all well and good to see SW being hacked together and die a little inside when it is, but if it provides a working, cost effective solution to the business then there's nothing you can do about it - because the business doesn't care. For example: Business needs a front end program to write some values to the serial port to change some settings on a machine. You look at it and propose a solution with some base classes for serial communication, a base "Machine" class that can be inherited and extended for different machine types, a Xaml front end that will scale for different devices, and a Db back end to provide Machine descriptions to dynamically build the GUI for different machine types. it will be written in C# .Net with SQL Server back end, using Agile methodologies with daily scrums and peer programming. TFS will be used for both source control and task management. Your colleague knocks something up in MS Access overnight, with everything hard coded for the one machine. The code is illegible, uncommented and about as efficient as a chocolate kettle. Lets say your solution would cost $10,000 and his cost $1,000 The company could write another 10 of the crap solutions, from scratch, for the cost of the flexible solution. If they anticipate adding a new front end monthly then over a year (ignoring any costs involved in your system setting up a new machine) the cost of both systems is equal. You see what I am getting at? crap software is not necessarily a bad thing for a business!
PooperPig - Coming Soon
Maxx said what I've been thinking. Sometimes old or bad tech solutions are good enough to satisfy business requirements. Management often has a belief that faster is better when delivering a working solution, and they don't worry about maintenance effort until it becomes necessary. There's also a huge difference between solo developers working in isolation on a focussed problem and team developers working on a large application where they have to use current technology. I've seen cases where programmers weren't willing to make the stretch to adopt newer methods. I have actually talked with an assembly programmer from early mainframe days who never made the transition to 3GLs because he thought they were inefficient and pointless. I also worked with a COBOL programmer who learned structured programming and never used it because she couldn't see any advantage over her GoTo code. I swallowed hard and left her code alone, because it was the only way she could maintain it, even though I had produced structured code for over 20 years in organizations where it was absolutely required. No one with newer, better ideas was ever going to reach these people, and it's possible that this know-it-all isn't interested in changing either. My advice is to find some way to respect the guy if at all possible. His solutions do work, even if they are suboptimal, and he's able to sell them. If you choose to approach him, make it about the work and not about personalities or competition or personal gain. Who knows, your enthusiasm for better methods might be contagious. But don't count on it. The principle of "Praise in public, critize in private" applies here. Your position is inherently critical of his approach, so it is less risky to approach him alone than to confront him or his ideas in a meeting with others. If you want to lead the organization in new directions, the best way is by demonstrated success in your own area of responsibility. Make sure your own managers and coworkers understand the reasons for and advantages of your technical choices. At some point there should be value added because your solutions are scalable, enhancable, or optimized, and it might pay to point that out occasionally.
-
Mark_Wallace wrote:
Because making an enemy of someone who is very persuasive to management is an extremely bad idea.
This. Don't do it. You've said that you don't have to work with the guy directly, so I say take a zen approach and let the amateurish code flow by you like water. It's not your problem, but if you step into it you will make it your problem, and while you may be able to fix the code fixing the political situation may be a different matter. If you go to management, they aren't going to understand what you're saying. They're going to go to someone else to evaluate what you're telling them, and guess who they're going to ask? That's right, the guru, who will likely (and accurately) see you as attacking his professional reputation. If he is persuasive with management, that means that you can only lose that fight. Let it go, is my advice. You have a lot to lose and little to gain. If you really want to change things, build your own reputation with projects that don't threaten the guru, and cultivate a relationship with management that will allow you to give them advice that they will listen to. Don't go about it by attacking the work of someone with more political power than you've got, you won't win. Pick your battles, man.
Sound advice. Had a similar situation, I ended up re-writing three projects...
-
Mark_Wallace wrote:
Because making an enemy of someone who is very persuasive to management is an extremely bad idea.
This. Don't do it. You've said that you don't have to work with the guy directly, so I say take a zen approach and let the amateurish code flow by you like water. It's not your problem, but if you step into it you will make it your problem, and while you may be able to fix the code fixing the political situation may be a different matter. If you go to management, they aren't going to understand what you're saying. They're going to go to someone else to evaluate what you're telling them, and guess who they're going to ask? That's right, the guru, who will likely (and accurately) see you as attacking his professional reputation. If he is persuasive with management, that means that you can only lose that fight. Let it go, is my advice. You have a lot to lose and little to gain. If you really want to change things, build your own reputation with projects that don't threaten the guru, and cultivate a relationship with management that will allow you to give them advice that they will listen to. Don't go about it by attacking the work of someone with more political power than you've got, you won't win. Pick your battles, man.