Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight
 
PerlMonks  

Re^5: defining methods on the fly

by Anonymous Monk
on Aug 03, 2006 at 20:14 UTC ( #565543=note: print w/ replies, xml ) Need Help??


in reply to Re^4: defining methods on the fly
in thread defining methods on the fly

Until you can replace your humans with robots as the car industry did on their production lines, you'd better invest in training your programmers to a high standard, and valuing their innovations, skills and yes--egos.

Ahhh... I get it. You bought into the myth that because you're a programmer, you should be pampered and spoiled, and treated better than everyone else, because you're special. You're not like those non-tech scum, right?

It's crap; and the .com bust proved it. Pampering a bunch of spoiled brats leads to... no increase in productivity, and a bunch of pampered, but still spoiled brats. Silicon Valley leaks money like a sieve... most programmers aren't paid that much; I flat out refused to cash in on that nightmare, becaue I saw all the snake oil that was being peddled down there, and refused to be a party to bilking clueless investors out of their money.

It's because if you deskill a job; take away a workers pride in the job they do;

A worker should take pride in every job they do; the pride comes from doing the job well, not from being pampered. A real man learns to take pride in a floor well swept, garbage well cleaned, or anything done right. In coding, that includes code written to conform to the standards of his fellow man; not "rockstar" coders writing clever, unmaintainable code to tickle their own ego.

eliminate personal innovation, flair--and yes--ego from the workplace;

Whine, whine, whine! Your personal ego is not what motivates a normal person; the real motivation is to do the job right, so that everyone can understand it. Ego and selfishness lead to poor products; people do better when they co-operate, not fight to screw each other over.

you get the cheapest per-hour labour bills, because you end up with the dregs of the profession. Those with low skills, no motivation to improve, that "occupy" theirs desk for the statutory minimum hours to fulfill their job descriptions, whilst turning out the bare minimum of lowest quality work they can get away with

Blah, blah, blah... doom and gloom, lack of creativity -- oh, my! Programming should be a rote job; it's just the act of documenting a known solution to a known problem. The hardware guys build the machines. The mathematicians prove the algorithms work. The 0.1% in R&D design something new. Everyone else plugs in busines rules into business needs, adding the customizations to known wheels in known ways. It's NOT high art, no matter the typical programmer conceit.

Until you can replace your humans with robots as the car industry did on their production lines, you'd better invest in training your programmers to a high standard, and valuing their innovations, skills and yes--egos.

"Innovations" are overrated; the world is full of innovative ideas that just aren't practical to implement. Everyone and their dog has some great new, "world chaning idea". The tiny little corner that is R&D is the place to test those out; not the 99.999% reality that is the real business world. Skills are what matter; especially the skill of discerning what is compatible with existing standards, and how to conform to them. Egos should be left at the door in every line of work.

Show me a programmer who does it only for the money, and I'll show you someone who will be working for your rival next week or the week after.

Bah. A man works because the work is worthwhile, and the pay is worth it. If the rival has a better job, and/or better pay, then anyone will leave. That's just the nature of the market; programming is not special in this regard.


Comment on Re^5: defining methods on the fly
Re^6: defining methods on the fly
by Anonymous Monk on Aug 03, 2006 at 20:46 UTC
    Programming should be a rote job; it's just the act of documenting a known solution to a known problem.

    A good programmer only solve the problem once. A good programmer eliminates as much of the rote as possible.

    It comes back to that flexibility your so afraid of. I suppose if you don't understand flexible code, its much more comforting to just pound out the same solution over and over again...

      A good programmer only solve the problem once. A good programmer eliminates as much of the rote as possible.

      Where does the "good" programmer formally prove that his solution is correct, or even workable?

      Oh, right... he doesn't. He just slings "flexible" ad-hoc, undocumented code, and ensures that it's so obfuscated that that no one else can ever read it.

      And then his semi-documented work of "genius" keeps him in job security until his flawed system can be analysed sufficiently well to be replaced with a simple system that actually does the job that was wanted in the first place.

        Well, if your argument is that good programmers are bad programmers, then all of your points make sense...
        Where does the "good" programmer formally prove that his solution is correct, or even workable?

        The same way everybody else does - tests and documentation.

Re^6: defining methods on the fly
by revdiablo (Prior) on Aug 03, 2006 at 21:09 UTC
    Programming should be a rote job; it's just the act of documenting a known solution to a known problem

    Your post is very long, and I hate to sum it all up with such a tiny quote, but I think the portion I quoted is close to the crux of the disagreement here. Your programming experience is evidently all business all the time. Not every programmer lives in that world. Some people really are solving interesting problems, with the computer being just one tool in the problem solving chain. And as a word of notice, your apparent (and almost hyperbolic) failure to recognize that will put you at odds with a large portion of the Perl Monks population. I wish you the best of luck, but be prepared to write a lot of very long posts with excessive use of bold.

      Some people really are solving interesting problems, with the computer being just one tool in the problem solving chain.

      They're the 0.0001% case. They should learn to recognize it.

Re^6: defining methods on the fly
by BrowserUk (Pope) on Aug 03, 2006 at 21:18 UTC

    I spent the last 6 years NOT working, and living off the ample proceeds of my skill, dedication and innovations of the previous twenty-five as a programmer and analyst.

    In that time I encountered several lower and middle managers who expressed similar views to those you've just expressed. I even had the misfortune to work under one for a short time, though I mostly managed to avoid that situation by weeding them out at the interview stage. S'funny how they all thought that they were interviewing me.

    In every case they were failed programmers who had had been moved sideways into management to get them out of the way. A common, but ultimately destructive practice in corporations with old-style, job-for-life terms of employement dating from circa 1975. Sidelined, and on the long slide into a career cul-de-sac, their embittered "professionalism" slowly takes it's tole upon all who work under them, and the teams and departments they run.

    Enjoy your trip. It'll be a short one.


    Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
    Lingua non convalesco, consenesco et abolesco. -- Rule 1 has a caveat! -- Who broke the cabal?
    "Science is about questioning the status quo. Questioning authority".
    In the absence of evidence, opinion is indistinguishable from prejudice.
      Ah.

      So I'm a failed programmer, and you're rich, and smarter than I'll ever be?

      Thanks for not making this personal. I give up; you're smarter, you're richer, I guess you're just better than I am, so I should shut up, and listen to you, right?

      Clearly, writing self-modifying code is the right way to go. Obfuscation based job-security all the way!

      It's what all the Perl contractors are doing these days! Why shouldn't I join the bandwagon, and get rich like you! Stupid ethics I've got; trying to do a good job instead of screwing the client and running away to the next job before I get caught!

      You're right. I'm really dumb. :-(

        Lose the chip on your shoulder, your burden will be lighter.


        Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
        Lingua non convalesco, consenesco et abolesco. -- Rule 1 has a caveat! -- Who broke the cabal?
        "Science is about questioning the status quo. Questioning authority".
        In the absence of evidence, opinion is indistinguishable from prejudice.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://565543]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others avoiding work at the Monastery: (13)
As of 2014-12-22 14:59 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (119 votes), past polls