50

I'm a programmer of all sorts and, in layman's terms, I created a form which users use to review certain information and then approve or reject it.

Today was the first rejected form we received. My boss asked why and I regurgitated the reasons that were listed on the form.

He then wanted to delete the data entry because it provided no value (his opinion).

I expressed my opinion and pointed out that he literally just now wanted to know why the form was rejected and the only way to get that information was from the form data itself.

Later on in the day I noticed the form data is still in the DB so I quickly made a back-up for it, let my boss know that I made the back up with the reason I told him earlier in the day. An hour or so later I get called into his office and get chewed out. He said me making the backup pissed him off and that I was only a programmer and, even though opinions are welcome, actions like that are not and that I was lucky I did it with him and not any of the other higher ups.

What the heck just happened? The backed up data is on my local machine in csv file. Not on any server taking up space or anything (it's only three rows anyway)!

He has never treated me like this before and I am transparent about everything I touch.

Did I truly overstep my bounds?

Can I trust my manager?

Is this an early sign they want me gone and are going to nitpick everything?

UPDATE: I sent an apology letter hitting all possible reasons on why I was in the wrong. Apology was accepted and it was suggested to move on from the situation. Thank you all for your insights you really helped me out here.

UPDATE 2: A Co-worker that knew about the situation got the inside scoop from the boss. What pissed them off was the connotations of my words in my reasoning...Which is really out of character because I have never had an issue before with them or anyone else. After re-evaluating all answers today.. I have been convinced I was setup to fail.

If I obliged to the deletion of the data who knows what issues would've happened during auditing (I don't know how the data is audited though). More than likely I would've been the one blamed for the problems (I saw it happen to the programmer before me).

If I made the backup the "correct" way instead of archiving it would still fall under insubordination.

I will be voting to close this question now.

UPDATE 3: Because I have forgotten about this and reading back there are a lot of questions and speculations. Manager was fired 1 year ago. Don't know why but I could definitely guess. Hopes this statement brings some closure.

closed as primarily opinion-based by gnat, David K, Dukeling, Jim G., KirynDawn Oct 6 '17 at 17:27

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.

  • Comments are not for extended discussion; this conversation has been moved to chat. – Monica Cellio Oct 6 '17 at 1:18
  • 3
    You have surely heard of the upcoming EU General Data Protection Regulation. The GDPR is not something new, it is just the streamlining and homogenizing of many nations' similar data directives. Considering that form data such as that can be considered personal information, and that such data is subject to heavy regulation, you make have put the company at risk of non-compliance with such regulations. And of the form contained sensitive personal information, then you committed a huge no-no. – MichaelK Oct 6 '17 at 10:38
  • 2
    Just to see whether there is a big data protection angle here: this three rows of data that you copied into a backup .csv file -- were any copies of the same data made during the discussion you had with your boss about it? For example, does any personally identifying data appear in email or chat logs or whatever? If so, and if your boss isn't concerned about those, then it's probably not a data protection issue, since it'd be quite bad to do that with data subject to protection regulations. – Steve Jessop Oct 6 '17 at 10:51
  • I would of done the same thing because this manager is just covering his butt on someones honest opinion. I wish you the best in job hunting because you are obviously better than your boss. Happens a lot. – JonH Oct 6 '17 at 15:42
  • Considering your boss gave no technical, legal, or logical reason why the data should not be saved, I doubt you did anything "wrong". Sounds like he's either hiding something or trying to flex his political muscles. He probably just feels like you're stepping on his toes. – Peej Oct 6 '17 at 16:33
65

From the sounds of it, your boss asked you to do something and it had not been done. You then deliberately took a step to ensure the data would still exist, even if deleted from the database (a backup step which would have happened anyway).

As you've mentioned with the hourly backups that take place anyway, this data can still be recovered later, but in taking your own personal backup of the 'offending' data, your boss might have interpreted that as a concious defiance of his instructions. Did you overstep your bounds? Possibly, though it really sounds like your boss overreacted. Depending on how you carried out the task, some companies may not like the idea of programmers making local backups as it allows a disgruntled employee another avenue of smuggling data out of the office. An extreme example, but it's usually the driving force behind such a policy. Before going further, I would investigate under what circumstances programmers are allowed to make backups outside of the automated ones (for example, to test with). If you unknowingly violated a rule here, it might explain your boss's reaction.

Can you trust your manager? You said he has never treated you like this before and I will assume the "only a programmer" remark was a one-off too. I would suggest to let this incident pass as your manager may have still been angry from some other incident that day. His chewing might have been because if this truly did get brought to the higher-ups, HIS job would be at risk too. If this continues for any length of time over other trivial issues, then it may not be a direct sign that they "want you gone", but that your skills will be better appreciated elsewhere.

  • 3
    "with the hourly backups that take place anyway, this data can still be recovered later" But surely the first backup after the record was deleted will be a backup of the DB without the record. Even if there's some cyclic-naming to the backups, it probably won't be long before there is no backup still containing the record. – TripeHound Oct 5 '17 at 13:26
  • 12
    In Europe, OP could face jail depending on what is in the form data. Or worse, be fired. – Mindwin Oct 5 '17 at 13:33
  • 11
    @Mindwin Please expand on your statement that one can face jail time for keeping one record of company data on a work computer - with what kind of data that could happen in which jurisdiction? Even the GDPR, which comes into force next year, and is much stricter than current regulations with regards to data storage and processing, has only monetary fines as punishment, and warnings for first offenders. – pilsetnieks Oct 5 '17 at 15:36
  • 11
    @Mindwin And depending on what is in the form data OP could also face jail for deleting it. People do not get angry over such trivial things for no reason. There is a reason the manager wanted all traces of this record gone... – user253751 Oct 5 '17 at 23:28
  • 6
    This answer provides a good discussion of the general corporate politics angle. However it should really mention devops/privacy issues too. According to the OP, they took a data export of customer information from a (presumably secure) corporate database and stored it on their desktop as a .csv file (presumably much, much less secure). It's doubtful that the automated backup process ships its data to the developer's machine, so that's not really comparable. In short, the OP severely breached security/privacy best practices, and that probably contributed to the chewing out as well. – aroth Oct 6 '17 at 4:15
108

You should not ever be making a personal copies of data of a corporate database on your computer.

That is a firing offence where I work because we have data that is considered to be private or confidential.

It is important to have internal controls to protect database information. You showed in this instance, you cannot be trusted with the company's data. I personally would not allow you to access any production data ever again.

You certainly should not be making such copies after your boss told you to delete the data because that is insubordination, also a firing offense. You are in the wrong completely and are lucky to still be employed. Apologize and say it won't happen again and mean that.

As an aside, if you have a rejection process, it should be defined in your requirements as to what happens when data is rejected and that should happen automatically in your system with no manual intervention. That you did not do this seems to be very odd to me. You need to find out what the requirement is and implement it even if you don't agree with it. I t is not your job to determine requirements, it is your job to implement them.

  • 37
    @KirynDawn: There are certainly companies where it is that serious. There are companies where security is even more serious - I've worked for a defense company. Here's why that shouldn't be a worry to you: when security is that important, it does not come as a surprise. To take the defense company as an example: I had a two-day security briefing before I was assigned a computer. And that was disconnected from both the Internet and the real data (double air gap). And i'm sure that in HLGEM's example case, there also would have been sufficient warning up front. – MSalters Oct 4 '17 at 19:06
  • 39
    I respectfully disagree with this answer, largely for the reason given by @MSalters. But also, the OP is clearly and consistently trying to give the boss what he wants, not override the boss. The boss said, "provided no value" (implying a lack of importance), then was angry (implying importance). I'd call this one a failure to communicate on the part of the boss. – donjuedo Oct 4 '17 at 22:00
  • 23
    A copy on a work machine is hardly a "personal" copy. – ESR Oct 5 '17 at 5:40
  • 39
    This answer extrapolates too much from another workplace. The rules at the OP's workplace are not known. – NoBackingDown Oct 5 '17 at 9:21
  • 14
    If this answer is true (and it might be), then the manager has also committed a firing offence, since the questioner shouldn't have been allowed anyway near the sensitive data without suitable training/briefing. This could go some way to explaining why the boss is so fired up about it -- but also why he's not going to fire the employee, since admitting the incident would also cost him his job. Personally I think it's more likely that the data isn't (treated as) so sensitive, and Kozaky and Bill's answers are more likely to be correct, but it's a possibility. – Steve Jessop Oct 5 '17 at 10:34
58

I think people are focusing too much on the backup details.

Here is what I think happened and why you got in hot water with your boss.

He/she wanted to cover up this negative feedback. You were instructed to destroy this evidence, but instead you made an archive copy of it.

This is about whatever negative impact this form has on your boss, not on the details as to wether a backup already existed, or wether you thought the feedback relative.

  • 15
    Bingo. In cases like this it is best to delete the data, and if it causes a problem later make sure you have an email or something to show that you formally recommended against that action. – user Oct 5 '17 at 8:20
  • 1
    Maybe there was something in the form that OP didn't notice, but the boss did. The boss may even assume that OP understands why the form should not be saved, which means taking a backup looks like a conscious effort to undermine the boss. – Jeremy Nottingham Oct 5 '17 at 11:35
  • 3
    Exactly my first thought and I would have answered so if you hadn't. +1 This situation is just bizarre under normal circumstances, and it wreaks of mishandling by the boss. – Aaron Oct 5 '17 at 15:11
  • 4
    This may be true, but it's mostly speculation. – jpmc26 Oct 5 '17 at 18:32
  • @jpmc26 So is the currently top voted answer by HLGEM – Peter Oct 6 '17 at 16:12
22

our departments databases are fully fledged backed up automatically every hour

and

Later on in the day [...] I quickly made a back-up for it [...] with the reason I told him earlier in the day

and

The backed up data is on my local machine in csv file. Not on any server taking up space or anything (it's only three rows anyway)!

Let's see.

  1. Manager asks you to delete data he deems irrelevant
  2. Data exist in automated backups and are retrievable
  3. You manually extract the deleted rows from the database despite (2)

You have overstepped your bounds. I think you know (deep down) it's not about the three rows of space your backup is taking up. You insisted on keeping the data. Your manager saw that as you going against something he has final say over.

An apology would be in order.

Addressing your further questions:


  • Can I trust my manager
  • Is this an early sign they want me gone and are going to nitpick everything

We (well, I) cannot extrapolate from what you presented here to answer either of those questions.

  • 4
    "Data exists in automated backup" - if there is an automated backup, and the boss deletes that form before the backup happens, then it isn't backed up. – gnasher729 Oct 4 '17 at 15:55
  • 6
    I will be sending an apology with the new perspective I gained from all the answers. Thanks. – KirynDawn Oct 4 '17 at 16:10
  • @gnasher729 In this case it looks like a backup was made, but yes, generally best to assume Sod's law. – rath Oct 4 '17 at 16:15
  • 10
    But does you boss have the authority to delete data? – Neuromancer Oct 4 '17 at 20:26
  • 4
    @rath I think this is bad advice, though I am not going to -1. This is the kind of behavior that often escalates into major scandals if left unfixed. OP should not cave. Going to HR and/or legal or ethics departments would be more appropriate, if you even bother to do anything. For such a minor issue, I wouldn't bother, but if it's important enough to do something about, take it over the manager's head. Manager should not be requesting the employee to delete this data; in fact that could be criminal. – Aaron Oct 5 '17 at 15:16
9

Impossible to say what happened without lots of information about your company. The possibilites are anywhere between an incompetent boss on a power trip doing his best to stop you from doing your job properly, and you being lucky not getting fired for duplicating top secret customer information. Calling you "only a programmer" would point me to assume 60% vs 40% for the former, which doesn't mean very much.

6

As a database administrator, I could make the case that the record should stick around in the database table, but be properly flagged with a status of "rejected" or whatever.

But that's an application design decision, and could impact the way that other queries and reports are run, or require a bunch of additional work to make sure nothing else is impacted.

The key here, though, is that you already tried to explain your view, and your boss overruled you on that. That's not a good idea.

As other answers have indicated, saving the data "off to the side" as a CSV on your local machine might have other security considerations.

If you approach it right, your boss might be willing to consider an intermediate solution, like writing the rejection to the application errorlog (you do have an application errorlog, right?). Not all fields, just maybe the name, date/time, and reject code/reject message or whatever.

  • rejected or approved are just fields in the table. approved forms move up farther in a process i have no involvment while rejected forms are done – KirynDawn Oct 4 '17 at 21:44
  • 9
    Indeed, in 25 years of developing databases and applications, I've never come across a situation where casual physical deletion was acceptable - logical deletion is almost always preferred from a traceability and accountability perspective. Of course, data cleansing and archiving takes place but that is anything but casual. However, storing data on workstations rather than servers is frequently frowned upon. – CJM Oct 5 '17 at 12:49
1

I'm assuming here that it's the form data that was deleted, not the form itself.

We don't know what the reasons for the deletion was, but it appears that it's a low-quality issue.

It seems reasonable that low-quality data can be deleted as it might adversely affect statistical reports for the approvals/rejections.

If you delete the rubbish, you're left with good quality data to report against.

If that's the case, then deleting the data is fine.

If the situation is different to my assumption, you'll have to correct me.

  • 3
    Although as Bill Leeper's answer notes, in this case the criterion seems to be that "high quality data" is "positive feedback that says we're doing a good job supplying our users what they want", and "low quality data" is "negative feedback where the data we supply was rejected". Even if it was the user's error, and actually the rejected data was fine, it's a little odd to want to burn a faulty bug report with fire. So if the goal is for the statistical report to say "100% acceptance" then the questioner might be right (albeit politically unwise) to question that goal... – Steve Jessop Oct 5 '17 at 10:37
  • 3
    @SnarkShark wrote "it might adversely affect statistical reports..." and "If you delete the rubbish, you're left with good quality data to report" That sounds like lying to me. Withholding data which adversely affects your statistical reports is generally considered very, very bad, and depending on what it's used for even illegal. – Aaron Oct 5 '17 at 15:28
  • @Aaron - you don't know the context here or the reason why the manager decided to discard this data. It might well be test data where garbage values are used. If so, you don't want test data from polluting your reports. At this point, we have no idea why the manager discarded the data, so we can't make assumptions. – Snow Oct 5 '17 at 17:26
  • @SnarkShark OP said it was from a form, and it sounds like the input is coming from a person; that is not guaranteed from OP's wording but sounds likely based on the wording. There may be some specific cases where the manager's behavior was appropriate, but they would be the exception, not the rule. So I agree with you - we don't know; but in the absence of more information, I think "it could be garbage test data" is the unsafe assumption. We are supposed to assume good faith on OP's part, and if your assumption is correct (which it could be), then OP omitting such details is not in good faith – Aaron Oct 5 '17 at 18:20
  • @Aaron It was production data. I know this data gets audited at the end of the year. I don't know how it gets audited though. – KirynDawn Oct 6 '17 at 11:02
1

While I agree with @Kozaky accepted answer. I think had you better described the importance of keeping this data, you could have easily convinced your boss in the first place. As the programmer it is your duty to provide technical information describing the importance of the data your receive.

You don't go into too much detail about what it was that you had said, and your comment about literally being about to tell him why the application was rejected is completely true. But I would further advise as to the importance of retaining this 'rejected' data:

  • Suppose your company sees a decline in approved applications. Having a good data source of rejected applications can help your business adjust to its customers issues and perhaps expand into an area that they would otherwise not know (By offering a new service to these rejected applicants).
  • Or, perhaps applicants are being rejected because of some low credit score (I don't know your business model, but I'm attempting to make a real world example), your business might be able to sell the customers data to other businesses who sell credit building services.

Without knowing what service it is you are providing it is difficult to advise, but I hope that these examples help you in the future.

  • 1
    It is the programmer's responsibility to make sure the users can use the programs (in this case, review the forms) correctly. I am not too sure deleting the data is programmer's business. – scaaahu Oct 5 '17 at 9:56
  • I'm sorry, I'm confused as to the point you are making. I agree deleting the data is not programmer's business, I hope this is not what you read from my answer because that couldn't be further from what I was aiming to do with my answer. – ochhii Oct 5 '17 at 10:36
  • 1
    My point is that retaining/deleting data is the manager's decision. The programmer should not interfere. Your two bullets are not meaningful. – scaaahu Oct 5 '17 at 10:55
  • @scaaahu Developers usually have the ability and even need to make decisions about data retention, so it is a programmer's responsibility first. As to whether the manager has the authority to just order a developer to delete data for the reasons provided in question, that depends on the situation; you cannot just say "it's the manager's decision." Even if manager decides, it IS the programmer's place to discuss it with manager. Not discussing with your manager when you think they are making big mistake is a sign of a terrible, dysfunctional work place. – Aaron Oct 5 '17 at 15:32
  • 4
    I had to +1 this answer and do not understand the negative score. Unless I skipped something, this was one of the better answers with its "You should try to convince your manager." That Very much is something the employee SHOULD do. "Yes-men" are bad employees. An employee who never tries to convince their boss of anything and never even tried at least once is an employee that might not be worth as much. – Aaron Oct 5 '17 at 15:35

Not the answer you're looking for? Browse other questions tagged or ask your own question.