Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. The guy who knows

The guy who knows

Scheduled Pinned Locked Moved The Lounge
designhardwaretoolstutorialquestion
69 Posts 33 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • L Lost User

    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

    M Offline
    M Offline
    mycroft1
    wrote on last edited by
    #56

    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.

    L 1 Reply Last reply
    0
    • S StatementTerminator

      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.

      R Offline
      R Offline
      Ren van Heerden
      wrote on last edited by
      #57

      Sound advice. Had a similar situation, I ended up re-writing three projects...

      1 Reply Last reply
      0
      • S StatementTerminator

        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.

        O Offline
        O Offline
        ormonds
        wrote on last edited by
        #58

        Best advice so far. Your reaction belongs to you, not him. Use the meetings for a bit of meditation.

        1 Reply Last reply
        0
        • R Rage

          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.

          P Offline
          P Offline
          Plamen Dragiyski
          wrote on last edited by
          #59

          As people suggested many things here, they are all good. But if you don't have the power to change the mind of that programmer or the management (either persuasive, or by authority) and cannot provide solid examples of his failures (or that doesn't work), I suggest to let it fail. Failures may be bad for business, but business people does not see failure so complete (it is just another step) and keeping company from failure (usually hiding it through more work) is not only getting you anywhere better, but also will make you wish to work go away. Quitting a job will is always an option. A lot of people see a lot of drama in that, but I consider it as a fair option - the company management should not be easily persuaded, but objectively judging. And a person quitting is strong signal to management that something is wrong. If they see you useful, they'll try to hold on, explaining the problem to them after such a step will probably make them listen. Point the exact problem (not the person, the person's code, the current architecture, etc.) in the right language will make them at least think about it. Sooner or later something will fail and they'll remember your words.

          1 Reply Last reply
          0
          • M mycroft1

            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.

            L Offline
            L Offline
            Lost User
            wrote on last edited by
            #60

            mycroft1 wrote:

            Maxx said what I've been thinking.

            ... and you said it so much better ! +5

            PooperPig - Coming Soon

            1 Reply Last reply
            0
            • B BobbyStrain

              Sounds like you work for one of the major engineering companies. They charge by the hour, you know. And management thinks software is a rubber plate. Bobby

              L Offline
              L Offline
              Lost User
              wrote on last edited by
              #61

              BobbyStrain wrote:

              Sounds like you work for one of the major engineering companies.

              Nope

              BobbyStrain wrote:

              They charge by the hour, you know.

              ? I don't understand? Who charges by the hour?

              BobbyStrain wrote:

              And management thinks software is a rubber plate.

              What? A rubber plate? Something lost in translation, I think!

              PooperPig - Coming Soon

              1 Reply Last reply
              0
              • R R Giskard Reventlov

                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.

                M Offline
                M Offline
                Mark_Wallace
                wrote on last edited by
                #62

                Going to someone's boss to tell him that he's an idiot is a good way to pick a fight. Calling people cowards is a good way to pick fights. Take a step back, look at what you're doing and saying, and then picture how you would feel if someone else did or said such things to you. Your perspective on this thing has been egoistic and aggressive. Those are not endearing qualities, so don't be surprised when people get pissed off with you, and respond egoistically and aggressively (which I haven't, for which you can thank your lucky stars). Bear in mind that the biggest problem is that if everyone is posturing egoistically and aggressively, no work gets done, so everyone's objective of making a living is endangered.

                I wanna be a eunuchs developer! Pass me a bread knife!

                R 1 Reply Last reply
                0
                • M Mark_Wallace

                  Going to someone's boss to tell him that he's an idiot is a good way to pick a fight. Calling people cowards is a good way to pick fights. Take a step back, look at what you're doing and saying, and then picture how you would feel if someone else did or said such things to you. Your perspective on this thing has been egoistic and aggressive. Those are not endearing qualities, so don't be surprised when people get pissed off with you, and respond egoistically and aggressively (which I haven't, for which you can thank your lucky stars). Bear in mind that the biggest problem is that if everyone is posturing egoistically and aggressively, no work gets done, so everyone's objective of making a living is endangered.

                  I wanna be a eunuchs developer! Pass me a bread knife!

                  R Offline
                  R Offline
                  R Giskard Reventlov
                  wrote on last edited by
                  #63

                  Mark_Wallace wrote:

                  Going to someone's boss to tell him that he's an idiot is a good way to pick a fight.

                  You are a very poor communicator: no one said call him an idiot except you.

                  Mark_Wallace wrote:

                  Calling people cowards is a good way to pick fights.

                  You're welcome, coward.

                  Mark_Wallace wrote:

                  Take a step back, look at what you're doing and saying, and then picture how you would feel if someone else did or said such things to you.

                  a) never happened. b) I would confront them (I don't have a problem with confrontation).

                  Mark_Wallace wrote:

                  Your perspective on this thing has been egoistic and aggressive.

                  Neither, actually. Ego doesn't come into it and I am not really aggressive except when confronted.

                  Mark_Wallace wrote:

                  Those are not endearing qualities, so don't be surprised when people get pissed off with you, and respond egoistically and aggressively (which I haven't, for which you can thank your lucky stars).

                  Haha. You are a funny little man. How childlike to threaten over the internet you idiot.

                  Mark_Wallace wrote:

                  Bear in mind that the biggest problem is that if everyone is posturing egoistically and aggressively, no work gets done, so everyone's objective of making a living is endangered.

                  Perhaps in your childish, ego-laden world where everyone walkson eggshells and everyone gets bullied because no one stands up for themesleves. And your constant references to how tough you are - hilarious. I don't know you but I'm willing to bet you are not what you advertise yourself to be: anyone that feels the need to point it out... is not.

                  M 1 Reply Last reply
                  0
                  • R R Giskard Reventlov

                    Mark_Wallace wrote:

                    Going to someone's boss to tell him that he's an idiot is a good way to pick a fight.

                    You are a very poor communicator: no one said call him an idiot except you.

                    Mark_Wallace wrote:

                    Calling people cowards is a good way to pick fights.

                    You're welcome, coward.

                    Mark_Wallace wrote:

                    Take a step back, look at what you're doing and saying, and then picture how you would feel if someone else did or said such things to you.

                    a) never happened. b) I would confront them (I don't have a problem with confrontation).

                    Mark_Wallace wrote:

                    Your perspective on this thing has been egoistic and aggressive.

                    Neither, actually. Ego doesn't come into it and I am not really aggressive except when confronted.

                    Mark_Wallace wrote:

                    Those are not endearing qualities, so don't be surprised when people get pissed off with you, and respond egoistically and aggressively (which I haven't, for which you can thank your lucky stars).

                    Haha. You are a funny little man. How childlike to threaten over the internet you idiot.

                    Mark_Wallace wrote:

                    Bear in mind that the biggest problem is that if everyone is posturing egoistically and aggressively, no work gets done, so everyone's objective of making a living is endangered.

                    Perhaps in your childish, ego-laden world where everyone walkson eggshells and everyone gets bullied because no one stands up for themesleves. And your constant references to how tough you are - hilarious. I don't know you but I'm willing to bet you are not what you advertise yourself to be: anyone that feels the need to point it out... is not.

                    M Offline
                    M Offline
                    Mark_Wallace
                    wrote on last edited by
                    #64

                    tl;dr Yeah, yeah, yeah. You're a tough guy and everyone had better keep out of your way. Do you know how many employees with that kind of attitude I've had to deal with? Come work for me; you might learn something about being a bearable colleague.

                    I wanna be a eunuchs developer! Pass me a bread knife!

                    R 1 Reply Last reply
                    0
                    • M Mark_Wallace

                      tl;dr Yeah, yeah, yeah. You're a tough guy and everyone had better keep out of your way. Do you know how many employees with that kind of attitude I've had to deal with? Come work for me; you might learn something about being a bearable colleague.

                      I wanna be a eunuchs developer! Pass me a bread knife!

                      R Offline
                      R Offline
                      R Giskard Reventlov
                      wrote on last edited by
                      #65

                      I'm not tough at all, I'm a real softy. I just stand up for myself and don't get pushed around by meathead jerkoffs like you. If you were my employee... Well, actually, I wouldn't employ anyone who has to say how tough they are. And work for you? Unlikely, I have met many like you over the years - they all have one thing in common - they think they have to tell you how tough they are. Stupid. Don't say - do.

                      M 1 Reply Last reply
                      0
                      • R R Giskard Reventlov

                        I'm not tough at all, I'm a real softy. I just stand up for myself and don't get pushed around by meathead jerkoffs like you. If you were my employee... Well, actually, I wouldn't employ anyone who has to say how tough they are. And work for you? Unlikely, I have met many like you over the years - they all have one thing in common - they think they have to tell you how tough they are. Stupid. Don't say - do.

                        M Offline
                        M Offline
                        Mark_Wallace
                        wrote on last edited by
                        #66

                        tl;dr (as in it's longer than zero words)

                        I wanna be a eunuchs developer! Pass me a bread knife!

                        R 1 Reply Last reply
                        0
                        • M Mark_Wallace

                          tl;dr (as in it's longer than zero words)

                          I wanna be a eunuchs developer! Pass me a bread knife!

                          R Offline
                          R Offline
                          R Giskard Reventlov
                          wrote on last edited by
                          #67

                          Yeah, like I said, big on words but a bit of a coward. Have a nice day.

                          1 Reply Last reply
                          0
                          • R R Giskard Reventlov

                            I disagree: once you show management that he is not what he says he is, his influence will rapidly wane. If you show it to him, he'll just steal it and the credit. Besides, how boring would life be without a few enemies.

                            M Offline
                            M Offline
                            MTWill
                            wrote on last edited by
                            #68

                            mark merrens wrote:

                            If you show it to him, he'll just steal it and the credit.

                            Stealing it and the credit is, I think, not the best way to think about helping the code nonja. Both work for the same company; the company owns all the work done there; hence, there is no theft involved. Besides, needing to get the credit would imply that one's own ego is a little too wrapped up in the job. Helping your cow-workers get some credit gives you a warm feeling inside and benefits the company, too.

                            -- Will

                            R 1 Reply Last reply
                            0
                            • M MTWill

                              mark merrens wrote:

                              If you show it to him, he'll just steal it and the credit.

                              Stealing it and the credit is, I think, not the best way to think about helping the code nonja. Both work for the same company; the company owns all the work done there; hence, there is no theft involved. Besides, needing to get the credit would imply that one's own ego is a little too wrapped up in the job. Helping your cow-workers get some credit gives you a warm feeling inside and benefits the company, too.

                              -- Will

                              R Offline
                              R Offline
                              R Giskard Reventlov
                              wrote on last edited by
                              #69

                              That's not the scenario described with the person involved. Under normal circumstances happy to share anything but you must know your audience.

                              1 Reply Last reply
                              0
                              Reply
                              • Reply as topic
                              Log in to reply
                              • Oldest to Newest
                              • Newest to Oldest
                              • Most Votes


                              • Login

                              • Don't have an account? Register

                              • Login or register to search.
                              • First post
                                Last post
                              0
                              • Categories
                              • Recent
                              • Tags
                              • Popular
                              • World
                              • Users
                              • Groups