Office politics and sh*tty code.
-
I'm very meticulous about the code I write. I always use regions, and I use the same regions in the same order in every class. This way I know exactly where code parts are. Also, all of my class members are listed alphabetically in their regions. When I see bad code, I schedule it for a refactor. I'm actually sitting here right now refactoring some offshore code. These guys just throw code in anywhere and its annoying and flat out lazy. Unlike you, my manager is totally on board with me cleaning up the code.
If it's not broken, fix it until it is
Kevin Marois wrote:
I schedule it for a refactor.
Let me put it to you like this, the people running this show have probably never refactored anything in their life. And I seriously doubt they know what that is without googling it.
Jeremy Falcon
-
You've got to work on how you complain. Taking the direct route ("This is cr@p!" or a paraphrase thereof) might seem the logical route, because it's the truth, but it's not the way to put the point across. You're working with people, not machines, so you have to take feelings into account, just as you'd like others to take your feelings into account. As you said, you (and you are not alone) have written shall we say "less than optimal" code, in the past, so before pointing out errors/problems, think about how you would like people to point out the errors/problems in your own code. Then think of someone you work with whom you don't particularly like, and imagine how you would react to their "negative analysis" of your errors. Take that into account when you want to tell someone that something is "less than optimal" -- e.g. phrase it "Hey, this was a good start, and I think we could build on it!", rather than "This needs to be rewritten!" If you've already developed the rep of being a moaner, you should work very hard on getting things done without making that rep worse. Treating people as you would like to be treated yourself costs nothing more than a little thought.
I wanna be a eunuchs developer! Pass me a bread knife!
Mark_Wallace wrote:
You're working with people, not machines, so you have to take feelings into account
Wow, that was deep
If it's not broken, fix it until it is
-
You've got to work on how you complain. Taking the direct route ("This is cr@p!" or a paraphrase thereof) might seem the logical route, because it's the truth, but it's not the way to put the point across. You're working with people, not machines, so you have to take feelings into account, just as you'd like others to take your feelings into account. As you said, you (and you are not alone) have written shall we say "less than optimal" code, in the past, so before pointing out errors/problems, think about how you would like people to point out the errors/problems in your own code. Then think of someone you work with whom you don't particularly like, and imagine how you would react to their "negative analysis" of your errors. Take that into account when you want to tell someone that something is "less than optimal" -- e.g. phrase it "Hey, this was a good start, and I think we could build on it!", rather than "This needs to be rewritten!" If you've already developed the rep of being a moaner, you should work very hard on getting things done without making that rep worse. Treating people as you would like to be treated yourself costs nothing more than a little thought.
I wanna be a eunuchs developer! Pass me a bread knife!
-
Kevin Marois wrote:
I schedule it for a refactor.
Let me put it to you like this, the people running this show have probably never refactored anything in their life. And I seriously doubt they know what that is without googling it.
Jeremy Falcon
Why are you still there?
If it's not broken, fix it until it is
-
You've got to work on how you complain. Taking the direct route ("This is cr@p!" or a paraphrase thereof) might seem the logical route, because it's the truth, but it's not the way to put the point across. You're working with people, not machines, so you have to take feelings into account, just as you'd like others to take your feelings into account. As you said, you (and you are not alone) have written shall we say "less than optimal" code, in the past, so before pointing out errors/problems, think about how you would like people to point out the errors/problems in your own code. Then think of someone you work with whom you don't particularly like, and imagine how you would react to their "negative analysis" of your errors. Take that into account when you want to tell someone that something is "less than optimal" -- e.g. phrase it "Hey, this was a good start, and I think we could build on it!", rather than "This needs to be rewritten!" If you've already developed the rep of being a moaner, you should work very hard on getting things done without making that rep worse. Treating people as you would like to be treated yourself costs nothing more than a little thought.
I wanna be a eunuchs developer! Pass me a bread knife!
You make great points. And while you what you said should be obvious, I suppose sometimes a person has to hear it spelled out for them like that. I suppose this would've been easier for me if the person(s) in particular already didn't insult me, but whatever the case you still make great points.
Jeremy Falcon
-
Why are you still there?
If it's not broken, fix it until it is
Because there are some great people here, but most of them aren't technical at all.
Jeremy Falcon
-
In my (limited) experience you have to show rather than tell - make your code as excellent and readable as it can be and then, as people interact with it they will feel pulled toward making their code likewise. Also have an ethic of adding comments and fixing method names to aid readability whenever you address a defect.
I totally agree with that when it comes to marketing, and I do that with the comments-ish... I usually don't over comment but for these projects I may.
Jeremy Falcon
-
I'm very meticulous about the code I write. I always use regions, and I use the same regions in the same order in every class. This way I know exactly where code parts are. Also, all of my class members are listed alphabetically in their regions. When I see bad code, I schedule it for a refactor. I'm actually sitting here right now refactoring some offshore code. These guys just throw code in anywhere and its annoying and flat out lazy. Unlike you, my manager is totally on board with me cleaning up the code.
If it's not broken, fix it until it is
:thumbsup: /ravi
My new year resolution: 2048 x 1536 Home | Articles | My .NET bits | Freeware ravib(at)ravib(dot)com
-
You make great points. And while you what you said should be obvious, I suppose sometimes a person has to hear it spelled out for them like that. I suppose this would've been easier for me if the person(s) in particular already didn't insult me, but whatever the case you still make great points.
Jeremy Falcon
OK, so you've got "enemies" -- but they're not really enemies, they're just people doing their jobs who don't want headaches, like the rest of us, so make an effort not to hate them. What you have to do (or maybe you think they have to do it, but at least someone has to do it, so why not you?) is take away the "enemy" thing. They're your colleagues, after all, and want the best for the company as much as you do (one would hope). Try talking to them honestly, in private -- not the "Hey, your work is cr@p!" honestly, but the "OK, I've been a bit brusque, but we're all under pressure and maybe I went too far, so I'm sorry" honestly, and work outward from there. Someone has to light the peace pipe, and you might be pleasantly surprised at the results -- co-operation works a Hell of a lot better than combat, so make an effort to be on the same side as the people you're (stuck) working with.
I wanna be a eunuchs developer! Pass me a bread knife!
-
Because there are some great people here, but most of them aren't technical at all.
Jeremy Falcon
Jeremy Falcon wrote:
Because there are some great people here,
Kevin is right, IMHO. That's not a good reason to stay on. You'll meet good (technical) people at your new gig - go for it! /ravi
My new year resolution: 2048 x 1536 Home | Articles | My .NET bits | Freeware ravib(at)ravib(dot)com
-
Mark_Wallace wrote:
You're working with people, not machines, so you have to take feelings into account
Wow, that was deep
If it's not broken, fix it until it is
I get that way when I run out of beer.
I wanna be a eunuchs developer! Pass me a bread knife!
-
I'm just curious to know how everyone else here deals with poorly written code in pre-existing projects. Now, I'll be the first to say in my day I've written crap, so who am I to judge right? But, over the decades of development I've done, I'd like to at least think I've learned what crap is and what's it's not. And as such, I find myself in a position at a job I've been at since mid February, where I tend to complain a lot - because the quality of code is so poor it's just sad. But, I complain because I want to see it improve. Seeing that nobody wants to be told their code sucks (even if it's true), I've been labeled a bit of a complainer unfortunately. And while I get that, the fact remains, the code is actually not that great. Which is pretty evident by virtue of the fact they always have problems with it. Well duh, I wonder why. But who wants to be the party pooper right? Whatever the case, my manager is getting fairly tired of hearing me complain, which is a bit of a downer since I've only been doing it because some things needs to be addressed to make our projects top quality. So, is there some fancy judo mind trick to get my point through, or must I accept you cannot fit a square peg into a round hole, and if people don't care about the quality of their work then you can't force them to?
Jeremy Falcon
Congratulation. They obviously gave you my job after I left a few months ago. Get out of there as fast as you can, they will not thank you, much less actually do something worth any time or money for the first time ever. Look for a place where they actually want to have your skills and give you an opportunity to use them.
The language is JavaScript. that of Mordor, which I will not utter here
This is Javascript. If you put big wheels and a racing stripe on a golf cart, it's still a fucking golf cart.
"I don't know, extraterrestrial?" "You mean like from space?" "No, from Canada." If software development were a circus, we would all be the clowns. -
In my (limited) experience you have to show rather than tell - make your code as excellent and readable as it can be and then, as people interact with it they will feel pulled toward making their code likewise. Also have an ethic of adding comments and fixing method names to aid readability whenever you address a defect.
No. That will infuriate them. First he does not only call them idiots, now he proves it to them by holding something under their noses of which they don't even have an idea what the words he keeps ranting about mean.
The language is JavaScript. that of Mordor, which I will not utter here
This is Javascript. If you put big wheels and a racing stripe on a golf cart, it's still a fucking golf cart.
"I don't know, extraterrestrial?" "You mean like from space?" "No, from Canada." If software development were a circus, we would all be the clowns. -
Jeremy Falcon wrote:
how everyone else here deals with poorly written code in pre-existing projects
Ctrl+A - DEL
Skipper: We'll fix it. Alex: Fix it? How you gonna fix this? Skipper: Grit, spit and a whole lotta duct tape.
OI! Don't give CODZ in the Lounge! :mad:
I wanna be a eunuchs developer! Pass me a bread knife!
-
Jeremy Falcon wrote:
Because there are some great people here,
Kevin is right, IMHO. That's not a good reason to stay on. You'll meet good (technical) people at your new gig - go for it! /ravi
My new year resolution: 2048 x 1536 Home | Articles | My .NET bits | Freeware ravib(at)ravib(dot)com
You might be right. It's not really fulfilling me on a tech level.
Jeremy Falcon
-
OK, so you've got "enemies" -- but they're not really enemies, they're just people doing their jobs who don't want headaches, like the rest of us, so make an effort not to hate them. What you have to do (or maybe you think they have to do it, but at least someone has to do it, so why not you?) is take away the "enemy" thing. They're your colleagues, after all, and want the best for the company as much as you do (one would hope). Try talking to them honestly, in private -- not the "Hey, your work is cr@p!" honestly, but the "OK, I've been a bit brusque, but we're all under pressure and maybe I went too far, so I'm sorry" honestly, and work outward from there. Someone has to light the peace pipe, and you might be pleasantly surprised at the results -- co-operation works a Hell of a lot better than combat, so make an effort to be on the same side as the people you're (stuck) working with.
I wanna be a eunuchs developer! Pass me a bread knife!
Well, the good news is, I'm about to switch projects, so the person in particular I've been working with in the past months will no longer be a concern (I hope) in about a week. That being said, you are right about someone being the bigger person, but I don't think that means apologizing since I've never once told them directly their code was crap. But he (the main person responsible) has insulted me to my face more than once. That being said, your points are great. I'll keep them in mind for the next project for sure.
Jeremy Falcon
-
OK, so you've got "enemies" -- but they're not really enemies, they're just people doing their jobs who don't want headaches, like the rest of us, so make an effort not to hate them. What you have to do (or maybe you think they have to do it, but at least someone has to do it, so why not you?) is take away the "enemy" thing. They're your colleagues, after all, and want the best for the company as much as you do (one would hope). Try talking to them honestly, in private -- not the "Hey, your work is cr@p!" honestly, but the "OK, I've been a bit brusque, but we're all under pressure and maybe I went too far, so I'm sorry" honestly, and work outward from there. Someone has to light the peace pipe, and you might be pleasantly surprised at the results -- co-operation works a Hell of a lot better than combat, so make an effort to be on the same side as the people you're (stuck) working with.
I wanna be a eunuchs developer! Pass me a bread knife!
Yes. All that worked well for me. Better to jump overboard and watch them going full speed into the iceberg. Be diplomatic or fight it out, it does not matter. The only difference will be what's left of you when you finally get out.
The language is JavaScript. that of Mordor, which I will not utter here
This is Javascript. If you put big wheels and a racing stripe on a golf cart, it's still a fucking golf cart.
"I don't know, extraterrestrial?" "You mean like from space?" "No, from Canada." If software development were a circus, we would all be the clowns. -
Well, the good news is, I'm about to switch projects, so the person in particular I've been working with in the past months will no longer be a concern (I hope) in about a week. That being said, you are right about someone being the bigger person, but I don't think that means apologizing since I've never once told them directly their code was crap. But he (the main person responsible) has insulted me to my face more than once. That being said, your points are great. I'll keep them in mind for the next project for sure.
Jeremy Falcon
Jeremy Falcon wrote:
I'm about to switch projects
That is good news, because things sounded pretty bad (been there, done hated that). It's easier (and a lot less work!) to start fresh than to dig your way out of a hole, so all the best and good luck!
I wanna be a eunuchs developer! Pass me a bread knife!
-
Jeremy Falcon wrote:
I'm about to switch projects
That is good news, because things sounded pretty bad (been there, done hated that). It's easier (and a lot less work!) to start fresh than to dig your way out of a hole, so all the best and good luck!
I wanna be a eunuchs developer! Pass me a bread knife!
Thanks man, and thanks again for the advice.
Jeremy Falcon
-
Yes. All that worked well for me. Better to jump overboard and watch them going full speed into the iceberg. Be diplomatic or fight it out, it does not matter. The only difference will be what's left of you when you finally get out.
The language is JavaScript. that of Mordor, which I will not utter here
This is Javascript. If you put big wheels and a racing stripe on a golf cart, it's still a fucking golf cart.
"I don't know, extraterrestrial?" "You mean like from space?" "No, from Canada." If software development were a circus, we would all be the clowns.Hating seems easy and right when you're doing it, but it makes your life so much harder, and you're usually in the wrong to do so. We all work with people who are less talented than ourselves (and, if we're lucky, we also realise it when we work with people who are more talented). Do you give the receptionist sh1t? Or the cleaning lady? If you don't, then that implies that you value them more highly than a developer who is marginally less talented than you. That's a pretty sucky attitude, no? But it makes you willing to make receptionists/cleaning ladies feel happy in their work, but your actual peers (even if only slightly less talented/knowledgeable than you) have to suffer your vengeful ire.
I wanna be a eunuchs developer! Pass me a bread knife!