7

We have a system that was written for the .NET framework by a client, and an old developer, who was proficient in the framework, did updates and some work on the system. That developer has now left us.

I'm a backend and frontend developer, with no knowledge in the language or system stated above. My employer wants me to learn the system and languages involved so that the system can be updated and maintained. I have no desire and find no purpose in my learning these languages/systems, but my employer says "Well, I don't know about them either, so you can learn it and teach me".

How/can I refuse to do such work? I know the languages will not interest me in the slightest nor will I use them in the future. Also note, there are two other developers who work with the style of system and the languages on a daily basis.

I'm waiting for tomorrow when my employer is actually in the office before I discuss with him that I refuse to do the work when there are other capable employees to do such work.

So how can I go about this and is this really acceptable? I know that if I don't do it, there is the chance they could sack me.

  • 1
    Comments are not for extended discussion; this conversation has been moved to chat. – Jane S Aug 9 '16 at 0:36
59

You can quit?

The working world doesn't consist of choosing to do and not do things regardless of whatever your boss/business requires. There's... really not much more to it than that. You are paid to do things for your boss. Not paid to do whatever you want.

If you find your interests don't match your companies, you can either:

  • Work to get transferred internally
  • Find a different company

Now, what you are probably asking, is not "how can I refuse to do something" but "how can I tell my boss I'd rather not work on a project?" which is a different question. The best way to do this is first understand why you are being requested to do the project.

If the answer is your boss has no other resources, even if other people at your company could do it, if your boss has to figure it out and you are the only person then.. that's unlucky. You're probably not going to have much success.

Your best strategy is showing your boss why it is best for him to have someone else work on the project. Hopefully, you are respected as being competent and a high performer, as this makes a conversation like, "this will make it a lot harder for me to deliver on X, Y, and Z deliverables, which are valuable for A, B, C reasons" type of conversation which is meaningful.

Ultimately, you need to figure out why your boss wants you specifically to work on this project and find ways to phrase it in such a way as it is to your best interest.

If your question really is as petty as "can my employer force me to learn a [programming] language?" then the answer is unequivocally yes, they can, unless your contract explicitly prohibits this. I suggest to you your career will be quite limited if you refuse to ever learn new languages. If you prefer this style of work, I suggest working as an independent contractor as you will be able to dictate your work a fair bit more as you can choose to not sign contracts with companies requesting you to work in different languages.

  • 3
    Third option: argue why you're not interested in X, more interested in Y. Even without being able to point to deliverables that will be jeopardised, it's perfectly reasonable to have that conversation with management. Good companies will make an effort to keep their employers interested to the extent that is possible. This answer is good for the question as as asked but doesn't address that angle. Perhaps we should have a different question specifically about arguing the case for sticking to your primary domains? – Lilienthal Aug 1 '16 at 9:05
  • 2
    @Lilienthal I debated adding that approach too but decided that given the inherent emotionalness invested in the original post that it might not be a great route to go down for this scenario. In my experience people who are as confrontational as this are, ah, not good at framing things in that way. It requires a fair bit of nuance and the ability to have a good, empathetic interactions. Making ultimatums tend to be pretty counter to that goal, too. – enderland Aug 2 '16 at 1:10
  • Job descriptions are only a suggestion as to where and what you might start out doing. Professional jobs frequently change and adapt to current situations. I've seen people managing new Windows boxes and doing .Net development where their job description is maintain the Mainframe using Cobol. Do not let your job description hold you back. Always do more. – MikeP Aug 2 '16 at 21:51
26

.NET is not a language. This is a detail, but it quite strongly suggests that your programming skills are not as high as you may think.

I think you have few choices:

  • quit right away,
  • accept the mission but look for a new job aggressively and quit as soon as you find a new job that aligns with your goals better,
  • persuade the manager to give the task to someone else, or
  • accept the task, approach it with enthusiasm and with open mind. It can teach you a lot, or even A LOT. This goes both for your many aspects of being a good software developer including, but not limited to, general problem solving, dealing with legacy systems and what I would call scalpel precision programming - adding features to existing systems without breaking them.

I genuinely suggest the last option. If it doesn't work out, you can always go back to option 1 in few weeks/months time.

Imagine you're a bridge engineer and you really really want to work with concrete bridges, especially double span because these are the thing of the day in Sydney. At some stage your employer asks you to work on a steel and wood bridge. What do you do? Remember, there is a lot of valuable and marketable bridge engineering in a bridge that isn't build from the most fashionable material.

  • 2
    @pipe not sure if you're the OP posting from another account but: arrogant, narrow-minded and delusional. -- wouldn't that description also apply to someone who decided they disliked something and were prepared to tell their boss they were refusing to learn about it without even finding out what it is exactly? – Rob Moir Aug 2 '16 at 12:22
  • @pipe then I'm not sure what point you're trying to make. You seem very quick to get on your high horse over what is a valid point from Tymski. – Rob Moir Aug 2 '16 at 12:28
  • 1
    @pipe Surely you are at least aware of .NET? – geometrikal Aug 2 '16 at 13:22
  • My arguments were apparently selectively removed, making it difficult to explain my views. – pipe Aug 2 '16 at 13:51
  • 1
    @pipe: try expressing them with focus on facts rather than personalities. Anything that approaches name-calling gets zapped pretty aggressively, and rightly so. – keshlam Aug 2 '16 at 22:07
9

How/can I refuse to do such work? I know the languages will not interest me in the slightest nor will I use them in the future

This isn't a very constructive approach. Apparently, you don't know how valuable having skills on the .NET platform can be to your career overall. And let's not worry about the future:

  1. Will learning using these skills keep money in your pocket in the present?
  2. Will refusing to learn these skills keep money in your pocket in the present?

I've seen job postings here in Southern California paying senior .NET (C#) developers up to 150,000 USD/year. You can be as principled about sticking to what you've already done as you like, but money talks.

2

Can your employer force you to learn new language? Well, it depends.

If your contract states that you'll do things in .NET than not, at least not formally (informally, refusal can lead to firing you from whatever reason will apply, for example getting late because of traffics or answering your private calls at work). If your contract states, you'll do development things, than yes, refusing to overtake that system will be the direct violation of your work contract.

As for your statement, that you see no future with this technology/language, it's the same as stating, that you see no future with your current company, and your employer will interpret that this way.

However, you can always refuse and still be left in company, but it would reflect negatively on your career. You'll be that guy that is picky and problematic. On the other hand, if you accept, you can become that only guy that knows how that stuff works, with all the consequences - you'll be more likely to be promoted and get a rise, because if you leave, someone else will have to learn that all stuff.

If your current job is for you only temporary and you think of increasing your chances on the market, than you can risk refusing. If you want to make career in your current company, accepting should be your best option.

2

Once, I was asked to start co-managing a complex and super-critical (full 24/7) system that I knew very little about. The experts sometimes would get things wrong and break it. I told management "Sure, please send me to the training camp, and get me certified. You've seen the experts break it - do you want to run the risk of having someone untrained and uncertified possibly break it?" They said they'd get back to me on training - never happened.

On another occasion, I was able to ask about priorities. "Is learning new_thing just enough to be dangerous a higher or lower priority than xyz thing that I was told was priority #1."

Another one is "Sure, I can work on that after I finish up with abc_thing that you wanted me to do."

One last thought, maybe suggest that they bring in a part-time contractor or company or person who knows that thing to do that one thing?

In each case, I let management determine how to spend their money, my time, and manage risk. Time spent learning some new thing takes away from current duties.

0

If it is a one time deal, then what is the big deal? You don't need to learn a new language, just need to complete this task and hopefully you're done.

Programming is not restricted to a language and I think of COBOL developers who can't do anything else other than hope they can retire and earn a pension. Their bosses make certain that COBOL stays in the work place until they can retire then when new folks come in, they change it for the better.

If you learn good habits from one language it can be applied to anywhere.

  • A change away from COBOL is not automatically a change for the better, if the COBOL is running and earing the company revenue – Mawg Feb 18 at 10:36
-3

It is perfectly acceptable to push the point that you're not the best person for a job.

.NET isn't particularly difficult but if you don't want to do it, and it's not in your job description, then don't do it.

It's also perfectly acceptable in most places for the employer to fire you. But if that was going to happen over something little like this, then the employer doesn't value you very highly anyway.

  • 9
    There's a difference between expressing an interesting in (not) doing something and refusing to do something. Outright refusal is grounds for firing even with stellar employees because it means they're not stellar after all. – Lilienthal Aug 1 '16 at 9:02
  • 2
    Seen people fired for almost nothing despite their skills, 'grounds for dismissal' can be anything. One CEO's wife sacked every single halfway pretty woman who worked for their business when he was sick for a few days. – Kilisi Aug 1 '16 at 9:08
  • 4
    I don't disagree, I'm saying that you can be highly valued and still be summarily fired for pulling what essentially amounts to insubordination. – Lilienthal Aug 1 '16 at 9:28
  • yep, discipline must be maintained – Kilisi Aug 1 '16 at 9:31
  • 6
    Not even an insubordination issue. If you aren't willing/able to learn the skills the company needs now, they don't need you now. If you aren't willing to learn continuously, you can not survive as a knowledge worker... at least, not unless you already have knowledge that is fairly unique and critical to the business, and even then you're putting yourself at extreme risk. – keshlam Aug 1 '16 at 12:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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