I ran my colleague's code - should I get fired?
-
Hey guys, would love your two cents on this. Being the careful guy that I am, I need som pointers to figure out if I've been the victim of a cross over-reaction (my own estimate) or if I should start getting my act together (always a possiblity). The short version: I'm in a minitry of education government stats department. We're three asp.net guys who churn out various web-surveys for the schools to fill out. Recently we went public with one particular survey. Being the ever curious and eager to learn individual, I thought I'd take a look at the code behind it. This is the day after it's gone public. One reason being that I'd recently been put to the task of supporting another guy's project when he was unforseenably away, and I anticipated that situation might creep up again, that I'd have to support this one too. Another reason being that I simply like to look at other people's code, to try and learn something new. In this case, alas, not so much new stuff had gone into it. I say 'new', because I wrote the bulk of the code myself, before a brief last-year hiatus which saw this guy, we'll call him 'Lars', take over. So I export the code from the SubVersion repository. I didn't check it out - only exported it. Any changes won't be persisted back into the repository. And I ran it. Guilty as charged. I took a look at the default.aspx, went a bit further from there, nothing serious, application or server-threatning c# stuff going on here, let's fire this one up and see how it looks... Nope, stops with a error - some server controls dll missing. I had originally authored some server controls to go with the project, but in my youth's inexperience I included these not in a seperate project to be referenced but as stand-alone must-be-compiled-seperately. Would do that differently now, but anyways, I put it down because I had other things to attend to. Alas, the web.config healthmonitoring has dispatched an e-mail to Lars, informing him of the run-time error. And 'Lars' goes ape-shit. He send an e-mail to yours truly, CC three bosses and all of my co-workers, lambasting me for running his code. Heck, I thought all the code we wrote was 'ours'. I'm judged irresponsible (quote "you don't know what you're dealing with, you could've done serious damage to a project in production") for checking out the code (wrong) and running it (true). His argument - and, I suspect, his justification behind CC'ing pretty much everybody I know - is that the crime is severe because the code is in production now. I
-
Hey guys, would love your two cents on this. Being the careful guy that I am, I need som pointers to figure out if I've been the victim of a cross over-reaction (my own estimate) or if I should start getting my act together (always a possiblity). The short version: I'm in a minitry of education government stats department. We're three asp.net guys who churn out various web-surveys for the schools to fill out. Recently we went public with one particular survey. Being the ever curious and eager to learn individual, I thought I'd take a look at the code behind it. This is the day after it's gone public. One reason being that I'd recently been put to the task of supporting another guy's project when he was unforseenably away, and I anticipated that situation might creep up again, that I'd have to support this one too. Another reason being that I simply like to look at other people's code, to try and learn something new. In this case, alas, not so much new stuff had gone into it. I say 'new', because I wrote the bulk of the code myself, before a brief last-year hiatus which saw this guy, we'll call him 'Lars', take over. So I export the code from the SubVersion repository. I didn't check it out - only exported it. Any changes won't be persisted back into the repository. And I ran it. Guilty as charged. I took a look at the default.aspx, went a bit further from there, nothing serious, application or server-threatning c# stuff going on here, let's fire this one up and see how it looks... Nope, stops with a error - some server controls dll missing. I had originally authored some server controls to go with the project, but in my youth's inexperience I included these not in a seperate project to be referenced but as stand-alone must-be-compiled-seperately. Would do that differently now, but anyways, I put it down because I had other things to attend to. Alas, the web.config healthmonitoring has dispatched an e-mail to Lars, informing him of the run-time error. And 'Lars' goes ape-shit. He send an e-mail to yours truly, CC three bosses and all of my co-workers, lambasting me for running his code. Heck, I thought all the code we wrote was 'ours'. I'm judged irresponsible (quote "you don't know what you're dealing with, you could've done serious damage to a project in production") for checking out the code (wrong) and running it (true). His argument - and, I suspect, his justification behind CC'ing pretty much everybody I know - is that the crime is severe because the code is in production now. I
I suspect that he included production configuration values in the repository, such as database connection strings that points directly to the production database server. Running his code you could have altered production data. If so, they should fire him straight away.
If you truly believe you need to pick a mobile phone that "says something" about your personality, don't bother. You don't have a personality. A mental illness, maybe - but not a personality. - Charlie Brooker My Photos/CP Flickr Group - ScrewTurn Wiki
-
Hey guys, would love your two cents on this. Being the careful guy that I am, I need som pointers to figure out if I've been the victim of a cross over-reaction (my own estimate) or if I should start getting my act together (always a possiblity). The short version: I'm in a minitry of education government stats department. We're three asp.net guys who churn out various web-surveys for the schools to fill out. Recently we went public with one particular survey. Being the ever curious and eager to learn individual, I thought I'd take a look at the code behind it. This is the day after it's gone public. One reason being that I'd recently been put to the task of supporting another guy's project when he was unforseenably away, and I anticipated that situation might creep up again, that I'd have to support this one too. Another reason being that I simply like to look at other people's code, to try and learn something new. In this case, alas, not so much new stuff had gone into it. I say 'new', because I wrote the bulk of the code myself, before a brief last-year hiatus which saw this guy, we'll call him 'Lars', take over. So I export the code from the SubVersion repository. I didn't check it out - only exported it. Any changes won't be persisted back into the repository. And I ran it. Guilty as charged. I took a look at the default.aspx, went a bit further from there, nothing serious, application or server-threatning c# stuff going on here, let's fire this one up and see how it looks... Nope, stops with a error - some server controls dll missing. I had originally authored some server controls to go with the project, but in my youth's inexperience I included these not in a seperate project to be referenced but as stand-alone must-be-compiled-seperately. Would do that differently now, but anyways, I put it down because I had other things to attend to. Alas, the web.config healthmonitoring has dispatched an e-mail to Lars, informing him of the run-time error. And 'Lars' goes ape-shit. He send an e-mail to yours truly, CC three bosses and all of my co-workers, lambasting me for running his code. Heck, I thought all the code we wrote was 'ours'. I'm judged irresponsible (quote "you don't know what you're dealing with, you could've done serious damage to a project in production") for checking out the code (wrong) and running it (true). His argument - and, I suspect, his justification behind CC'ing pretty much everybody I know - is that the crime is severe because the code is in production now. I
The only way I can see this being a problem is if the code talks to the production database (a survey application sounds like there'd be a database in there to save the results). Provided it's connected to a development database, I can't see the harm. Sounds to me like Lars knows there's some bugs in the code (that's in production anyway), and you running might just find them, make him look bad. Company cultures vary widely, but as a rule, if you're working somewhere where looking at a colleagues code gets you into trouble, it might be time to start thinking about a job change.
-
Hey guys, would love your two cents on this. Being the careful guy that I am, I need som pointers to figure out if I've been the victim of a cross over-reaction (my own estimate) or if I should start getting my act together (always a possiblity). The short version: I'm in a minitry of education government stats department. We're three asp.net guys who churn out various web-surveys for the schools to fill out. Recently we went public with one particular survey. Being the ever curious and eager to learn individual, I thought I'd take a look at the code behind it. This is the day after it's gone public. One reason being that I'd recently been put to the task of supporting another guy's project when he was unforseenably away, and I anticipated that situation might creep up again, that I'd have to support this one too. Another reason being that I simply like to look at other people's code, to try and learn something new. In this case, alas, not so much new stuff had gone into it. I say 'new', because I wrote the bulk of the code myself, before a brief last-year hiatus which saw this guy, we'll call him 'Lars', take over. So I export the code from the SubVersion repository. I didn't check it out - only exported it. Any changes won't be persisted back into the repository. And I ran it. Guilty as charged. I took a look at the default.aspx, went a bit further from there, nothing serious, application or server-threatning c# stuff going on here, let's fire this one up and see how it looks... Nope, stops with a error - some server controls dll missing. I had originally authored some server controls to go with the project, but in my youth's inexperience I included these not in a seperate project to be referenced but as stand-alone must-be-compiled-seperately. Would do that differently now, but anyways, I put it down because I had other things to attend to. Alas, the web.config healthmonitoring has dispatched an e-mail to Lars, informing him of the run-time error. And 'Lars' goes ape-shit. He send an e-mail to yours truly, CC three bosses and all of my co-workers, lambasting me for running his code. Heck, I thought all the code we wrote was 'ours'. I'm judged irresponsible (quote "you don't know what you're dealing with, you could've done serious damage to a project in production") for checking out the code (wrong) and running it (true). His argument - and, I suspect, his justification behind CC'ing pretty much everybody I know - is that the crime is severe because the code is in production now. I
I have worked in organizations where the phrase "in production" called down a nuclear option, and people would be fired for screwing anything up that affected production. Your management understands that they exist only to provide a service, and if they fail to do that correctly and reliably, they will be sacked. The best plan is to learn from this, and ask your boss how you can learn about what things are Not Safe to do. At some point, you should also talk to Lars and explain what you were doing, and ask his advice for the future. Adopting a defensive or "I didn't mean to" attitude won't get you anywhere in a professional production shop. It's clear that the code did things you didn't expect it to do when you ran it. So there's your Rule #1: If you don't know, don't run it before talking to someone.
Best wishes, Hans
-
Hey guys, would love your two cents on this. Being the careful guy that I am, I need som pointers to figure out if I've been the victim of a cross over-reaction (my own estimate) or if I should start getting my act together (always a possiblity). The short version: I'm in a minitry of education government stats department. We're three asp.net guys who churn out various web-surveys for the schools to fill out. Recently we went public with one particular survey. Being the ever curious and eager to learn individual, I thought I'd take a look at the code behind it. This is the day after it's gone public. One reason being that I'd recently been put to the task of supporting another guy's project when he was unforseenably away, and I anticipated that situation might creep up again, that I'd have to support this one too. Another reason being that I simply like to look at other people's code, to try and learn something new. In this case, alas, not so much new stuff had gone into it. I say 'new', because I wrote the bulk of the code myself, before a brief last-year hiatus which saw this guy, we'll call him 'Lars', take over. So I export the code from the SubVersion repository. I didn't check it out - only exported it. Any changes won't be persisted back into the repository. And I ran it. Guilty as charged. I took a look at the default.aspx, went a bit further from there, nothing serious, application or server-threatning c# stuff going on here, let's fire this one up and see how it looks... Nope, stops with a error - some server controls dll missing. I had originally authored some server controls to go with the project, but in my youth's inexperience I included these not in a seperate project to be referenced but as stand-alone must-be-compiled-seperately. Would do that differently now, but anyways, I put it down because I had other things to attend to. Alas, the web.config healthmonitoring has dispatched an e-mail to Lars, informing him of the run-time error. And 'Lars' goes ape-shit. He send an e-mail to yours truly, CC three bosses and all of my co-workers, lambasting me for running his code. Heck, I thought all the code we wrote was 'ours'. I'm judged irresponsible (quote "you don't know what you're dealing with, you could've done serious damage to a project in production") for checking out the code (wrong) and running it (true). His argument - and, I suspect, his justification behind CC'ing pretty much everybody I know - is that the crime is severe because the code is in production now. I
That's total BS Fight back, cause he's hiding something as the others suggested.
Harvey Saayman - South Africa Software Developer .Net, C#, SQL
you.suck = (you.Occupation == jobTitles.Programmer && you.Passion != Programming)
1000100 1101111 1100101 1110011 100000 1110100 1101000 1101001 1110011 100000 1101101 1100101 1100001 1101110 100000 1101001 1101101 100000 1100001 100000 1100111 1100101 1100101 1101011 111111 -
Hey guys, would love your two cents on this. Being the careful guy that I am, I need som pointers to figure out if I've been the victim of a cross over-reaction (my own estimate) or if I should start getting my act together (always a possiblity). The short version: I'm in a minitry of education government stats department. We're three asp.net guys who churn out various web-surveys for the schools to fill out. Recently we went public with one particular survey. Being the ever curious and eager to learn individual, I thought I'd take a look at the code behind it. This is the day after it's gone public. One reason being that I'd recently been put to the task of supporting another guy's project when he was unforseenably away, and I anticipated that situation might creep up again, that I'd have to support this one too. Another reason being that I simply like to look at other people's code, to try and learn something new. In this case, alas, not so much new stuff had gone into it. I say 'new', because I wrote the bulk of the code myself, before a brief last-year hiatus which saw this guy, we'll call him 'Lars', take over. So I export the code from the SubVersion repository. I didn't check it out - only exported it. Any changes won't be persisted back into the repository. And I ran it. Guilty as charged. I took a look at the default.aspx, went a bit further from there, nothing serious, application or server-threatning c# stuff going on here, let's fire this one up and see how it looks... Nope, stops with a error - some server controls dll missing. I had originally authored some server controls to go with the project, but in my youth's inexperience I included these not in a seperate project to be referenced but as stand-alone must-be-compiled-seperately. Would do that differently now, but anyways, I put it down because I had other things to attend to. Alas, the web.config healthmonitoring has dispatched an e-mail to Lars, informing him of the run-time error. And 'Lars' goes ape-shit. He send an e-mail to yours truly, CC three bosses and all of my co-workers, lambasting me for running his code. Heck, I thought all the code we wrote was 'ours'. I'm judged irresponsible (quote "you don't know what you're dealing with, you could've done serious damage to a project in production") for checking out the code (wrong) and running it (true). His argument - and, I suspect, his justification behind CC'ing pretty much everybody I know - is that the crime is severe because the code is in production now. I
Are you working as a team or what? I'd tell the guy to stop being so immature and explain what exporting the code does (nothing). I'd also make sure I explained my predicament to the bosses and why you (rightly) thought it was OK. As you say you wrote the bulk of the code yourself. If this guy is being a (how can I put this nicely...) a pain about the whole thing, then I'd have used that as an excuse saying you wanted to see how much he had changed, if he was doing work etc. Admittedly he may feel strongly about it because he's worked so hard on it... or maybe he wants your job? lol. Don't get yourself down about people like this, and you can't really blame non-techie management for their responses either - as you well know, they don't know any better. A team is supposed to work together. Being in the same building isn't enough.
-
Hey guys, would love your two cents on this. Being the careful guy that I am, I need som pointers to figure out if I've been the victim of a cross over-reaction (my own estimate) or if I should start getting my act together (always a possiblity). The short version: I'm in a minitry of education government stats department. We're three asp.net guys who churn out various web-surveys for the schools to fill out. Recently we went public with one particular survey. Being the ever curious and eager to learn individual, I thought I'd take a look at the code behind it. This is the day after it's gone public. One reason being that I'd recently been put to the task of supporting another guy's project when he was unforseenably away, and I anticipated that situation might creep up again, that I'd have to support this one too. Another reason being that I simply like to look at other people's code, to try and learn something new. In this case, alas, not so much new stuff had gone into it. I say 'new', because I wrote the bulk of the code myself, before a brief last-year hiatus which saw this guy, we'll call him 'Lars', take over. So I export the code from the SubVersion repository. I didn't check it out - only exported it. Any changes won't be persisted back into the repository. And I ran it. Guilty as charged. I took a look at the default.aspx, went a bit further from there, nothing serious, application or server-threatning c# stuff going on here, let's fire this one up and see how it looks... Nope, stops with a error - some server controls dll missing. I had originally authored some server controls to go with the project, but in my youth's inexperience I included these not in a seperate project to be referenced but as stand-alone must-be-compiled-seperately. Would do that differently now, but anyways, I put it down because I had other things to attend to. Alas, the web.config healthmonitoring has dispatched an e-mail to Lars, informing him of the run-time error. And 'Lars' goes ape-shit. He send an e-mail to yours truly, CC three bosses and all of my co-workers, lambasting me for running his code. Heck, I thought all the code we wrote was 'ours'. I'm judged irresponsible (quote "you don't know what you're dealing with, you could've done serious damage to a project in production") for checking out the code (wrong) and running it (true). His argument - and, I suspect, his justification behind CC'ing pretty much everybody I know - is that the crime is severe because the code is in production now. I
What it comes down to is that the code you ran did something that you didn't expect it to do. What if the code was still attached to a production database, you could have screwed up live customer data. Yes I think the reaction is over the top, you should certainly be able to look at and run other peoples code to learn from it - You are a team of course (he should have just come and spoken to you first), but you should also be very very careful when running code if you don't know what it does. Ideally, if you don't know what it does, don't run it. You probably should have just double checked with this guy first, not for permission to view his code, but to check that running it wasn't going to do anything damaging. I would apologise and learn from this. Discuss with the management that leaving code in source control with config that's attached to a production database is risky and that collectively you were lucky this time. Suggest that as a corrective action you set up a standard development environment that is used when running code, so it's harder to accidentally run code that is attached to a production database. Any code checked into source control should be attached to this database. The config should only be changed to the production database when the system is deployed live, and this config should be stored separately and not checked back into your main source control. (If on the other hand you had already checked and attached the code to a test database, then that isn't so bad, but the fact it did something unexpected still highlights that it would probably have been better to double check first as you don't know what the code was doing)
Simon
-
What it comes down to is that the code you ran did something that you didn't expect it to do. What if the code was still attached to a production database, you could have screwed up live customer data. Yes I think the reaction is over the top, you should certainly be able to look at and run other peoples code to learn from it - You are a team of course (he should have just come and spoken to you first), but you should also be very very careful when running code if you don't know what it does. Ideally, if you don't know what it does, don't run it. You probably should have just double checked with this guy first, not for permission to view his code, but to check that running it wasn't going to do anything damaging. I would apologise and learn from this. Discuss with the management that leaving code in source control with config that's attached to a production database is risky and that collectively you were lucky this time. Suggest that as a corrective action you set up a standard development environment that is used when running code, so it's harder to accidentally run code that is attached to a production database. Any code checked into source control should be attached to this database. The config should only be changed to the production database when the system is deployed live, and this config should be stored separately and not checked back into your main source control. (If on the other hand you had already checked and attached the code to a test database, then that isn't so bad, but the fact it did something unexpected still highlights that it would probably have been better to double check first as you don't know what the code was doing)
Simon
Hey Simon, thanks for your input in this, I did actually know what the code does, I probably didn't clarify this properly in the original post, I did spend time going through it before hitting F5. The unexpected thing was merely a dll which hadn't been compiled - nothing serious, and besides also code I wrote. So I'm not without a clue as to what would happen. I laid the groundwork and not much has changed about the code, I see. I do agree with you - now - that I should've asked him first, I suppose I only didn't because I had no idea it would amount to this sort of an issue. Your suggestion to apologize and bow out is probably the best way to go.
-
Hey guys, would love your two cents on this. Being the careful guy that I am, I need som pointers to figure out if I've been the victim of a cross over-reaction (my own estimate) or if I should start getting my act together (always a possiblity). The short version: I'm in a minitry of education government stats department. We're three asp.net guys who churn out various web-surveys for the schools to fill out. Recently we went public with one particular survey. Being the ever curious and eager to learn individual, I thought I'd take a look at the code behind it. This is the day after it's gone public. One reason being that I'd recently been put to the task of supporting another guy's project when he was unforseenably away, and I anticipated that situation might creep up again, that I'd have to support this one too. Another reason being that I simply like to look at other people's code, to try and learn something new. In this case, alas, not so much new stuff had gone into it. I say 'new', because I wrote the bulk of the code myself, before a brief last-year hiatus which saw this guy, we'll call him 'Lars', take over. So I export the code from the SubVersion repository. I didn't check it out - only exported it. Any changes won't be persisted back into the repository. And I ran it. Guilty as charged. I took a look at the default.aspx, went a bit further from there, nothing serious, application or server-threatning c# stuff going on here, let's fire this one up and see how it looks... Nope, stops with a error - some server controls dll missing. I had originally authored some server controls to go with the project, but in my youth's inexperience I included these not in a seperate project to be referenced but as stand-alone must-be-compiled-seperately. Would do that differently now, but anyways, I put it down because I had other things to attend to. Alas, the web.config healthmonitoring has dispatched an e-mail to Lars, informing him of the run-time error. And 'Lars' goes ape-shit. He send an e-mail to yours truly, CC three bosses and all of my co-workers, lambasting me for running his code. Heck, I thought all the code we wrote was 'ours'. I'm judged irresponsible (quote "you don't know what you're dealing with, you could've done serious damage to a project in production") for checking out the code (wrong) and running it (true). His argument - and, I suspect, his justification behind CC'ing pretty much everybody I know - is that the crime is severe because the code is in production now. I
I'd be looking for a new job ASAP. You should also point out that the code should not have been checked in with live settings. There is a
<AppConfig>
tag in the .proj files that enable you to do something like this with build configurations:<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
...
<AppConfig>app.debug.config</AppConfig>
...
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Live|AnyCPU' ">
...
<AppConfig>app.live.config</AppConfig>
...
</PropertyGroup>This will use app.debug.config or app.live.config in place of app.config according to the build type.
-
Hey guys, would love your two cents on this. Being the careful guy that I am, I need som pointers to figure out if I've been the victim of a cross over-reaction (my own estimate) or if I should start getting my act together (always a possiblity). The short version: I'm in a minitry of education government stats department. We're three asp.net guys who churn out various web-surveys for the schools to fill out. Recently we went public with one particular survey. Being the ever curious and eager to learn individual, I thought I'd take a look at the code behind it. This is the day after it's gone public. One reason being that I'd recently been put to the task of supporting another guy's project when he was unforseenably away, and I anticipated that situation might creep up again, that I'd have to support this one too. Another reason being that I simply like to look at other people's code, to try and learn something new. In this case, alas, not so much new stuff had gone into it. I say 'new', because I wrote the bulk of the code myself, before a brief last-year hiatus which saw this guy, we'll call him 'Lars', take over. So I export the code from the SubVersion repository. I didn't check it out - only exported it. Any changes won't be persisted back into the repository. And I ran it. Guilty as charged. I took a look at the default.aspx, went a bit further from there, nothing serious, application or server-threatning c# stuff going on here, let's fire this one up and see how it looks... Nope, stops with a error - some server controls dll missing. I had originally authored some server controls to go with the project, but in my youth's inexperience I included these not in a seperate project to be referenced but as stand-alone must-be-compiled-seperately. Would do that differently now, but anyways, I put it down because I had other things to attend to. Alas, the web.config healthmonitoring has dispatched an e-mail to Lars, informing him of the run-time error. And 'Lars' goes ape-shit. He send an e-mail to yours truly, CC three bosses and all of my co-workers, lambasting me for running his code. Heck, I thought all the code we wrote was 'ours'. I'm judged irresponsible (quote "you don't know what you're dealing with, you could've done serious damage to a project in production") for checking out the code (wrong) and running it (true). His argument - and, I suspect, his justification behind CC'ing pretty much everybody I know - is that the crime is severe because the code is in production now. I
-
Hey guys, would love your two cents on this. Being the careful guy that I am, I need som pointers to figure out if I've been the victim of a cross over-reaction (my own estimate) or if I should start getting my act together (always a possiblity). The short version: I'm in a minitry of education government stats department. We're three asp.net guys who churn out various web-surveys for the schools to fill out. Recently we went public with one particular survey. Being the ever curious and eager to learn individual, I thought I'd take a look at the code behind it. This is the day after it's gone public. One reason being that I'd recently been put to the task of supporting another guy's project when he was unforseenably away, and I anticipated that situation might creep up again, that I'd have to support this one too. Another reason being that I simply like to look at other people's code, to try and learn something new. In this case, alas, not so much new stuff had gone into it. I say 'new', because I wrote the bulk of the code myself, before a brief last-year hiatus which saw this guy, we'll call him 'Lars', take over. So I export the code from the SubVersion repository. I didn't check it out - only exported it. Any changes won't be persisted back into the repository. And I ran it. Guilty as charged. I took a look at the default.aspx, went a bit further from there, nothing serious, application or server-threatning c# stuff going on here, let's fire this one up and see how it looks... Nope, stops with a error - some server controls dll missing. I had originally authored some server controls to go with the project, but in my youth's inexperience I included these not in a seperate project to be referenced but as stand-alone must-be-compiled-seperately. Would do that differently now, but anyways, I put it down because I had other things to attend to. Alas, the web.config healthmonitoring has dispatched an e-mail to Lars, informing him of the run-time error. And 'Lars' goes ape-shit. He send an e-mail to yours truly, CC three bosses and all of my co-workers, lambasting me for running his code. Heck, I thought all the code we wrote was 'ours'. I'm judged irresponsible (quote "you don't know what you're dealing with, you could've done serious damage to a project in production") for checking out the code (wrong) and running it (true). His argument - and, I suspect, his justification behind CC'ing pretty much everybody I know - is that the crime is severe because the code is in production now. I
Create a vast enemies list and put Lars on it. :-D The code isn't his. It's the organization's. The project is his. You are probably stepping on a co-worker's territorial instinct. IMO, This is about turf. (Just a guess based on your story but it seems to fit.) Not everyone has that turf need, but some do. "Why you lookin' at my code? You checkin' my work?" :rolleyes: He's sensitive about his code, or his role in the company, or the security of his position. Going ballistic to management is a likely sign of all that. He believed management would back him up. Consider that, why would he think that, If you see what I mean? He believed you committed a serious breach and he thought they'd agree. If he's that worried about the risk to running the code he wouldn't be calling management in based on the theory that he's going to pay dearly if you prove to them it is real crap and he put it into production. He wouldn't screech to the high heavens if he thought there was even a risk of that. His accusation that you had jeopardized anything were probably bogus (in his mind), and designed to get management immediately on his side. Politics. Learn or burn. :sigh: I'm guessing your dept isn't the type to run code-review meetings, and things like that. Or Lars would've expected someone to go through it. I think it is somewhere slightly above a tempest-in-teapot but well below 'big screw up'. You ruffled some feathers, hurt some feelings. Not every corporate/institutional culture would support Lars' view. It'll blow over. You might not even end up with a bad situation with Lars. You aren't fired (presumably) and eventually this will be a non-memory. Your best overall bet is to simply pretend in public that you consider it an error but a small one. You might even say that in the next conversation you have with someone about it. Don't keep it in people's minds and it won't stay there. No big apologies. No contrite emails. He made it public. That puts it in that arena. Of course, you could bide your time and next time he makes an error blow it all out of proportion. But that's another project entirely. You should only consider that if he keeps the pressure up on you. Now, I, being the stubborn cuss I am, would probably tease him mercilessly by taking all of his code out and testing it so that eventually management got tired of hearing him whine when there was no evident problem. But I'm not suggesting that. Nope. Not even. :suss: That's
-
Create a vast enemies list and put Lars on it. :-D The code isn't his. It's the organization's. The project is his. You are probably stepping on a co-worker's territorial instinct. IMO, This is about turf. (Just a guess based on your story but it seems to fit.) Not everyone has that turf need, but some do. "Why you lookin' at my code? You checkin' my work?" :rolleyes: He's sensitive about his code, or his role in the company, or the security of his position. Going ballistic to management is a likely sign of all that. He believed management would back him up. Consider that, why would he think that, If you see what I mean? He believed you committed a serious breach and he thought they'd agree. If he's that worried about the risk to running the code he wouldn't be calling management in based on the theory that he's going to pay dearly if you prove to them it is real crap and he put it into production. He wouldn't screech to the high heavens if he thought there was even a risk of that. His accusation that you had jeopardized anything were probably bogus (in his mind), and designed to get management immediately on his side. Politics. Learn or burn. :sigh: I'm guessing your dept isn't the type to run code-review meetings, and things like that. Or Lars would've expected someone to go through it. I think it is somewhere slightly above a tempest-in-teapot but well below 'big screw up'. You ruffled some feathers, hurt some feelings. Not every corporate/institutional culture would support Lars' view. It'll blow over. You might not even end up with a bad situation with Lars. You aren't fired (presumably) and eventually this will be a non-memory. Your best overall bet is to simply pretend in public that you consider it an error but a small one. You might even say that in the next conversation you have with someone about it. Don't keep it in people's minds and it won't stay there. No big apologies. No contrite emails. He made it public. That puts it in that arena. Of course, you could bide your time and next time he makes an error blow it all out of proportion. But that's another project entirely. You should only consider that if he keeps the pressure up on you. Now, I, being the stubborn cuss I am, would probably tease him mercilessly by taking all of his code out and testing it so that eventually management got tired of hearing him whine when there was no evident problem. But I'm not suggesting that. Nope. Not even. :suss: That's
Hello smcnulty2000, you bring up a lot of valid points, great to learn from. You're of course right, it'll blow over given time. I'm afraid I don't have it in my 35-year old family-man persona to test the game for advanced players scenario you mention, albeit if I'd been 5 years younger... I suspect you're right about the turf thing, he's been aching to go somewhere. A line from a Richard Pryor (methinks)-movie comes to mind, "I never saw a white man in more dire need of a blow***". I'll go home to my darling wife and smiling daughter and feel all the better for not pursuing it further. Politics, man... Not my game. Thanks, Morten
-
Hey guys, would love your two cents on this. Being the careful guy that I am, I need som pointers to figure out if I've been the victim of a cross over-reaction (my own estimate) or if I should start getting my act together (always a possiblity). The short version: I'm in a minitry of education government stats department. We're three asp.net guys who churn out various web-surveys for the schools to fill out. Recently we went public with one particular survey. Being the ever curious and eager to learn individual, I thought I'd take a look at the code behind it. This is the day after it's gone public. One reason being that I'd recently been put to the task of supporting another guy's project when he was unforseenably away, and I anticipated that situation might creep up again, that I'd have to support this one too. Another reason being that I simply like to look at other people's code, to try and learn something new. In this case, alas, not so much new stuff had gone into it. I say 'new', because I wrote the bulk of the code myself, before a brief last-year hiatus which saw this guy, we'll call him 'Lars', take over. So I export the code from the SubVersion repository. I didn't check it out - only exported it. Any changes won't be persisted back into the repository. And I ran it. Guilty as charged. I took a look at the default.aspx, went a bit further from there, nothing serious, application or server-threatning c# stuff going on here, let's fire this one up and see how it looks... Nope, stops with a error - some server controls dll missing. I had originally authored some server controls to go with the project, but in my youth's inexperience I included these not in a seperate project to be referenced but as stand-alone must-be-compiled-seperately. Would do that differently now, but anyways, I put it down because I had other things to attend to. Alas, the web.config healthmonitoring has dispatched an e-mail to Lars, informing him of the run-time error. And 'Lars' goes ape-shit. He send an e-mail to yours truly, CC three bosses and all of my co-workers, lambasting me for running his code. Heck, I thought all the code we wrote was 'ours'. I'm judged irresponsible (quote "you don't know what you're dealing with, you could've done serious damage to a project in production") for checking out the code (wrong) and running it (true). His argument - and, I suspect, his justification behind CC'ing pretty much everybody I know - is that the crime is severe because the code is in production now. I
Reply to all: Lars, I am somewhat surprised by your reaction. My intention was to learn what (whatever it is) does, so that I would be able to help with any production problems that may arise when you are not available -- on holiday, for example -- and so that duplication of functionality (and therefore unnecessary work and expense) can be avoided in future I ran an independent copy of the (whatever it is) to see how its functionality has changed since it was originally developed by myself (and whatever others), so I cannot see how running it could do any damage, unless the code itself directly interacts with the production system -- but I find it hard to believe that you would have made such a dangerous and possibly expensive error. If I have offended you by looking at the code, I apologize, but I must remind you that the code is the property of the company, and that it is not in the company's interest for any production material to be understood by and familiar to only one employee. Many companies have suffered great losses because of code that was only understood by a single individual, who may not always be present, or indeed may not stay with the company. Such losses could put all of our futures at risk, so I believe that taking steps to avoid them can only be beneficial. Again, I apologize if I have offended you, but look forward to meeting with you to discuss the code, so that we can both understand its inner workings. (Edited because I used angle brackets instead of parentheses, so they disappeared)
I wanna be a eunuchs developer! Pass me a bread knife!
-
Reply to all: Lars, I am somewhat surprised by your reaction. My intention was to learn what (whatever it is) does, so that I would be able to help with any production problems that may arise when you are not available -- on holiday, for example -- and so that duplication of functionality (and therefore unnecessary work and expense) can be avoided in future I ran an independent copy of the (whatever it is) to see how its functionality has changed since it was originally developed by myself (and whatever others), so I cannot see how running it could do any damage, unless the code itself directly interacts with the production system -- but I find it hard to believe that you would have made such a dangerous and possibly expensive error. If I have offended you by looking at the code, I apologize, but I must remind you that the code is the property of the company, and that it is not in the company's interest for any production material to be understood by and familiar to only one employee. Many companies have suffered great losses because of code that was only understood by a single individual, who may not always be present, or indeed may not stay with the company. Such losses could put all of our futures at risk, so I believe that taking steps to avoid them can only be beneficial. Again, I apologize if I have offended you, but look forward to meeting with you to discuss the code, so that we can both understand its inner workings. (Edited because I used angle brackets instead of parentheses, so they disappeared)
I wanna be a eunuchs developer! Pass me a bread knife!
^This! If he's calling you out and spouting (what is apparently) incorrect infront of co-workers and bosses in an email, a great thing to do would be replying to all, giving both sides of the story, in a completely reasoned and calm manner.
He who makes a beast out of himself gets rid of the pain of being a man
-
^This! If he's calling you out and spouting (what is apparently) incorrect infront of co-workers and bosses in an email, a great thing to do would be replying to all, giving both sides of the story, in a completely reasoned and calm manner.
He who makes a beast out of himself gets rid of the pain of being a man
-
Hey guys, would love your two cents on this. Being the careful guy that I am, I need som pointers to figure out if I've been the victim of a cross over-reaction (my own estimate) or if I should start getting my act together (always a possiblity). The short version: I'm in a minitry of education government stats department. We're three asp.net guys who churn out various web-surveys for the schools to fill out. Recently we went public with one particular survey. Being the ever curious and eager to learn individual, I thought I'd take a look at the code behind it. This is the day after it's gone public. One reason being that I'd recently been put to the task of supporting another guy's project when he was unforseenably away, and I anticipated that situation might creep up again, that I'd have to support this one too. Another reason being that I simply like to look at other people's code, to try and learn something new. In this case, alas, not so much new stuff had gone into it. I say 'new', because I wrote the bulk of the code myself, before a brief last-year hiatus which saw this guy, we'll call him 'Lars', take over. So I export the code from the SubVersion repository. I didn't check it out - only exported it. Any changes won't be persisted back into the repository. And I ran it. Guilty as charged. I took a look at the default.aspx, went a bit further from there, nothing serious, application or server-threatning c# stuff going on here, let's fire this one up and see how it looks... Nope, stops with a error - some server controls dll missing. I had originally authored some server controls to go with the project, but in my youth's inexperience I included these not in a seperate project to be referenced but as stand-alone must-be-compiled-seperately. Would do that differently now, but anyways, I put it down because I had other things to attend to. Alas, the web.config healthmonitoring has dispatched an e-mail to Lars, informing him of the run-time error. And 'Lars' goes ape-shit. He send an e-mail to yours truly, CC three bosses and all of my co-workers, lambasting me for running his code. Heck, I thought all the code we wrote was 'ours'. I'm judged irresponsible (quote "you don't know what you're dealing with, you could've done serious damage to a project in production") for checking out the code (wrong) and running it (true). His argument - and, I suspect, his justification behind CC'ing pretty much everybody I know - is that the crime is severe because the code is in production now. I
Hi Morten, Sorry to hear you're going through this ! Companies I worked at before (like Adobe) had specific legal language in the contract that specifically said whether you had access to source or not; in my case I chose the option not to have access to the source code for PostScript figuring it was in my long-range interests not to. You may have already "written this job off," or decided it's best you leave, or it may be too late for you to do anything, but the only constructive idea I can come up with is the idea to try and arrange asap a face-to-face with you, the "ranting party," his manager, and your manager. My suggestion would be to try and take "situational control" of the meeting by : 1. immediately : when everyone's there : announce firmly that you called this meeting because you first wish to apologize for the stress and discomfort caused to "ranting party" which, you now realize, while unintended, on your part, has upset many other people. 2. second, hopefully before anyone can interrupt you, say that your intention was in what you thought was the best technical interests of the company, and that you are not aware of anything in your employment agreement that specifically prohibited you from doing what you were doing. and then you can mention the facts you've presented here about the fact you knew much of the code was your own, you were concerned about a few issues that might result from what you now understand was some issues in YOUR code rather than the code of "ranting party," (this, in Thai, would be called "giving face"). 3. if you've gotten this far without being shouted down or whatever : just say with quiet dignity : now I want to listen respectfully to what you have to say. Well, such things are easy for me to write, but I know "reality" doesn't pour into such containers of fantasy so fluidly. Good luck ! best, Bill
"Many : not conversant with mathematical studies, imagine that because it [the Analytical Engine] is to give results in numerical notation, its processes must consequently be arithmetical, numerical, rather than algebraical and analytical. This is an error. The engine can arrange and combine numerical quantities as if they were letters or any other general symbols; and it fact it might bring out its results in algebraical notation, were provisions made accordingly." Ada, Countess Lovelace, 1844
-
Hey guys, would love your two cents on this. Being the careful guy that I am, I need som pointers to figure out if I've been the victim of a cross over-reaction (my own estimate) or if I should start getting my act together (always a possiblity). The short version: I'm in a minitry of education government stats department. We're three asp.net guys who churn out various web-surveys for the schools to fill out. Recently we went public with one particular survey. Being the ever curious and eager to learn individual, I thought I'd take a look at the code behind it. This is the day after it's gone public. One reason being that I'd recently been put to the task of supporting another guy's project when he was unforseenably away, and I anticipated that situation might creep up again, that I'd have to support this one too. Another reason being that I simply like to look at other people's code, to try and learn something new. In this case, alas, not so much new stuff had gone into it. I say 'new', because I wrote the bulk of the code myself, before a brief last-year hiatus which saw this guy, we'll call him 'Lars', take over. So I export the code from the SubVersion repository. I didn't check it out - only exported it. Any changes won't be persisted back into the repository. And I ran it. Guilty as charged. I took a look at the default.aspx, went a bit further from there, nothing serious, application or server-threatning c# stuff going on here, let's fire this one up and see how it looks... Nope, stops with a error - some server controls dll missing. I had originally authored some server controls to go with the project, but in my youth's inexperience I included these not in a seperate project to be referenced but as stand-alone must-be-compiled-seperately. Would do that differently now, but anyways, I put it down because I had other things to attend to. Alas, the web.config healthmonitoring has dispatched an e-mail to Lars, informing him of the run-time error. And 'Lars' goes ape-shit. He send an e-mail to yours truly, CC three bosses and all of my co-workers, lambasting me for running his code. Heck, I thought all the code we wrote was 'ours'. I'm judged irresponsible (quote "you don't know what you're dealing with, you could've done serious damage to a project in production") for checking out the code (wrong) and running it (true). His argument - and, I suspect, his justification behind CC'ing pretty much everybody I know - is that the crime is severe because the code is in production now. I
-
Hey guys, would love your two cents on this. Being the careful guy that I am, I need som pointers to figure out if I've been the victim of a cross over-reaction (my own estimate) or if I should start getting my act together (always a possiblity). The short version: I'm in a minitry of education government stats department. We're three asp.net guys who churn out various web-surveys for the schools to fill out. Recently we went public with one particular survey. Being the ever curious and eager to learn individual, I thought I'd take a look at the code behind it. This is the day after it's gone public. One reason being that I'd recently been put to the task of supporting another guy's project when he was unforseenably away, and I anticipated that situation might creep up again, that I'd have to support this one too. Another reason being that I simply like to look at other people's code, to try and learn something new. In this case, alas, not so much new stuff had gone into it. I say 'new', because I wrote the bulk of the code myself, before a brief last-year hiatus which saw this guy, we'll call him 'Lars', take over. So I export the code from the SubVersion repository. I didn't check it out - only exported it. Any changes won't be persisted back into the repository. And I ran it. Guilty as charged. I took a look at the default.aspx, went a bit further from there, nothing serious, application or server-threatning c# stuff going on here, let's fire this one up and see how it looks... Nope, stops with a error - some server controls dll missing. I had originally authored some server controls to go with the project, but in my youth's inexperience I included these not in a seperate project to be referenced but as stand-alone must-be-compiled-seperately. Would do that differently now, but anyways, I put it down because I had other things to attend to. Alas, the web.config healthmonitoring has dispatched an e-mail to Lars, informing him of the run-time error. And 'Lars' goes ape-shit. He send an e-mail to yours truly, CC three bosses and all of my co-workers, lambasting me for running his code. Heck, I thought all the code we wrote was 'ours'. I'm judged irresponsible (quote "you don't know what you're dealing with, you could've done serious damage to a project in production") for checking out the code (wrong) and running it (true). His argument - and, I suspect, his justification behind CC'ing pretty much everybody I know - is that the crime is severe because the code is in production now. I
Hello everyone, many thanks for your valuable input, I really appreciate it. You've offered a lot of insight. Especially the thing about checking in production connectionstrings, which is a practice here - for no other reason than the small size of the projects. Being practice, I've never considered not doing this, but your arguments to the contrary have made me reconsider. I'll personally implement a test/production environment from here onwards, running my stuff of a local sql server express before moving into production - and do a build which will only run on the production database if the machine is the production server. A valuable eye-opener, which will also ensure I won't run into this sort of mess again. Truly, thanks a lot. /Morten
-
Hey guys, would love your two cents on this. Being the careful guy that I am, I need som pointers to figure out if I've been the victim of a cross over-reaction (my own estimate) or if I should start getting my act together (always a possiblity). The short version: I'm in a minitry of education government stats department. We're three asp.net guys who churn out various web-surveys for the schools to fill out. Recently we went public with one particular survey. Being the ever curious and eager to learn individual, I thought I'd take a look at the code behind it. This is the day after it's gone public. One reason being that I'd recently been put to the task of supporting another guy's project when he was unforseenably away, and I anticipated that situation might creep up again, that I'd have to support this one too. Another reason being that I simply like to look at other people's code, to try and learn something new. In this case, alas, not so much new stuff had gone into it. I say 'new', because I wrote the bulk of the code myself, before a brief last-year hiatus which saw this guy, we'll call him 'Lars', take over. So I export the code from the SubVersion repository. I didn't check it out - only exported it. Any changes won't be persisted back into the repository. And I ran it. Guilty as charged. I took a look at the default.aspx, went a bit further from there, nothing serious, application or server-threatning c# stuff going on here, let's fire this one up and see how it looks... Nope, stops with a error - some server controls dll missing. I had originally authored some server controls to go with the project, but in my youth's inexperience I included these not in a seperate project to be referenced but as stand-alone must-be-compiled-seperately. Would do that differently now, but anyways, I put it down because I had other things to attend to. Alas, the web.config healthmonitoring has dispatched an e-mail to Lars, informing him of the run-time error. And 'Lars' goes ape-shit. He send an e-mail to yours truly, CC three bosses and all of my co-workers, lambasting me for running his code. Heck, I thought all the code we wrote was 'ours'. I'm judged irresponsible (quote "you don't know what you're dealing with, you could've done serious damage to a project in production") for checking out the code (wrong) and running it (true). His argument - and, I suspect, his justification behind CC'ing pretty much everybody I know - is that the crime is severe because the code is in production now. I
Beware of developers who don't want you looking at their code. The team should have frequent code reviews -- especially before things go into production.
-
Hey guys, would love your two cents on this. Being the careful guy that I am, I need som pointers to figure out if I've been the victim of a cross over-reaction (my own estimate) or if I should start getting my act together (always a possiblity). The short version: I'm in a minitry of education government stats department. We're three asp.net guys who churn out various web-surveys for the schools to fill out. Recently we went public with one particular survey. Being the ever curious and eager to learn individual, I thought I'd take a look at the code behind it. This is the day after it's gone public. One reason being that I'd recently been put to the task of supporting another guy's project when he was unforseenably away, and I anticipated that situation might creep up again, that I'd have to support this one too. Another reason being that I simply like to look at other people's code, to try and learn something new. In this case, alas, not so much new stuff had gone into it. I say 'new', because I wrote the bulk of the code myself, before a brief last-year hiatus which saw this guy, we'll call him 'Lars', take over. So I export the code from the SubVersion repository. I didn't check it out - only exported it. Any changes won't be persisted back into the repository. And I ran it. Guilty as charged. I took a look at the default.aspx, went a bit further from there, nothing serious, application or server-threatning c# stuff going on here, let's fire this one up and see how it looks... Nope, stops with a error - some server controls dll missing. I had originally authored some server controls to go with the project, but in my youth's inexperience I included these not in a seperate project to be referenced but as stand-alone must-be-compiled-seperately. Would do that differently now, but anyways, I put it down because I had other things to attend to. Alas, the web.config healthmonitoring has dispatched an e-mail to Lars, informing him of the run-time error. And 'Lars' goes ape-shit. He send an e-mail to yours truly, CC three bosses and all of my co-workers, lambasting me for running his code. Heck, I thought all the code we wrote was 'ours'. I'm judged irresponsible (quote "you don't know what you're dealing with, you could've done serious damage to a project in production") for checking out the code (wrong) and running it (true). His argument - and, I suspect, his justification behind CC'ing pretty much everybody I know - is that the crime is severe because the code is in production now. I
I would probably go with Mark Wallace's response. From your side, it sounds like Lars is trying to bully you and thinks that you need to be put in your place. A carefully worded reply, including the bosses, would tend to put him in his place and show the bosses that you have a professional attitude rather than the immature and totally unprofessional situation that this caused.
Why is common sense not common? Never argue with an idiot. They will drag you down to their level where they are an expert. Sometimes it takes a lot of work to be lazy Individuality is fine, as long as we do it together - F. Burns Help humanity, join the CodeProject grid computing team here