191

I'm the current tech lead and team lead of our development team. We usually function like clockwork (with the intern somewhat behind), but today I encountered a problem that I wasn't able to solve.

We have a relatively big project on our hands. This project is a bit different from the others that we usually do, centering itself not on money, human resources or financial transactions—our usual thing—but instead focuses on a lot of predictive analytics. This is usually the type of project I absolutely love to do, so I got extremely hyped about it.

With the idea of a big, tasty and juicy project coming our way, I was ordered by my boss to pick two developers of the team to work on it while the rest of the team would stay on the usual maintenance/upgrade cycle of our other systems.

Since this project needs a math background that our developers currently don't have, we would pay for them to take relevant courses in the area. It's a bit outside their normal task scope as developers because it's a fairly specific skill.

So, I called the two oldest and most experienced developers I have on my team and presented the project to them. While one of them seemed really interested in it, the other one was... less than amused, to say the least.

"I'm not paid enough to do something like this."

"I'm sorry, what?"

"This is work that needs a lot of really difficult research on math stuff. I'm paid to develop software, not to do this sort of research. If you want me to work on this, you'll have to give me a raise for the extra responsibilities as a researcher I'll have."

And then ... I got stuck.

While it is true that he is a software developer and his job doesn't include academic-level research projects, I'm not sure if he has the right to argue about a raise for those reasons. Since this is basically software R&D, I think it falls inside our current responsibilities as developers. Yes, he will need to learn a few new skills, but this learning would be done on company time, using company resources.

Can someone ask for a raise when they are presented with a problem that is "too hard" for their current position or that demands "extra responsibilities"? How should I address this?


Please note that the training will be done on company time and will be paid using company money. If the employee needs 4 hours on a day for a given class, those hours will count toward the worked hours on that day. This is our usual policy for training, so it's nothing new for the employees.

T. Sar
  • 9,197
  • 12
  • 39
  • 47
  • 2
    Comments are not for extended discussion; this conversation has been moved to chat. – Jane S Jan 21 '17 at 05:18
  • 34
    Somewhat related: I would be leery of divesting the two top senior engineers on the same project; I find it best to spread seniority around so that they have more opportunity to mentor their juniors. – Matthieu M. Jan 21 '17 at 13:15
  • 137
    Grumpy doesn't sound grumpy to me... He sounds smart. So I would suggest not labeling him as such. – James Jan 21 '17 at 19:13
  • 1
    @MatthieuM. The business will do a big investment on training for this project, including paying the courses and using company time for the needed classes. It seemed interesting to reward the top two developers with some extra skills they could use on the growing big data market, later in life. We kinda worry a lot about our employees! – T. Sar Jan 21 '17 at 19:39
  • @TSar: I understand how a senior could feel slighted to be excluded from such an opportunity, but my experience has been that mixing people of different expertise and seniority in the team on projects is better because (1) it further growth, (2) bring new ideas and (3) prepare a junior for maintenance. Regarding (3) if you use senior developers to spear-head projects, and thus have them jumping from one project to the next depending on the agenda, then thanks to the remaining trained junior developer, the seniors are really free to move on and concentrate on the new game. – Matthieu M. Jan 21 '17 at 20:14
  • 103
    Well, YOU find the work exciting, but you can't expect everyone else to as well. Personally, I would NOT like such a project either, and wouldn't enjoy it, so the raise could be his way of saying "find someone else, I'm not interested." I'm really surprised you didn't ask for volunteers first. – Andy Jan 21 '17 at 23:23
  • 4
    Maybe he's sceptical that the office will be a good learning environment for him and anticipates that to truly get up to speed on the area he will need to spend a lot of time studying at home too (in addition to the courses)? – Martin Smith Jan 22 '17 at 14:24
  • 4
    @TSar if that is the case it appears you have either sold the project and its relevance for future work badly, or you are out of touch with what your coworkers want to do. Or perhaps both. – Thorbjørn Ravn Andersen Jan 22 '17 at 20:13
  • 1
    I don't understand why a lot of people decided to pile on me as if I did something horrible. – T. Sar Jan 22 '17 at 21:35
  • 35
    At first, you failed to provide vital information ("learning would be done on company time"). And you are putting derogatory label on person. Person who probably just told you the raw truth - that math is not on his job description, is not what he signed for, and ultimately not what he was told he is paid to do. If this is true, you can ask what to do with him and you are free to feel bad about it, but calling him "grumpy" for wanting more money when he gets more responsibilities was a bit too much. – Mołot Jan 22 '17 at 22:59
  • 2
    @TSar if English is not your first language you may not be aware that "grumpy" is not a very nice description of a person, and this has an impact on how your question is read. – Thorbjørn Ravn Andersen Jan 23 '17 at 07:28
  • @Molot I'm pretty sure I included the info about learning being on company time. – T. Sar Jan 23 '17 at 09:39
  • @Thorbjørn I removed the grumpy label for something less offensive. – T. Sar Jan 23 '17 at 09:41
  • 6
    Remember that no one wants to work for free. To me this reaction could indicate that, to some of the developers, the company does not seem trustworthy enough to make the extra effort. Keep in mind that anything that goes beyond the normal tasks of any job is, in essence, extra work you are doing for free in the hopes of being rewarded eventually, somehow. If your developers have the perception of the company not rewarding those efforts, they might not be inclined to make them. Remember, it's about impressions, not facts, people are always subjective, and it's you managing them. – Oskuro Jan 23 '17 at 09:47
  • If you indeed included it, then ask yourself - why so many people didn't notice it, or didn't understood you? Need to be very clear about such things. – Mołot Jan 23 '17 at 09:50
  • @oskuro Thank you for your input. We normally go out of our way to give our developers security and make the overall experience of working to us pleasant and rewarding. I can't see the work as "free work" since they would still receive their regular salary for it - which is already considerably higher than a researcher salary. They won't be doing more in the same time by any means. – T. Sar Jan 23 '17 at 10:21
  • 1
    @Mołot "this learning would be done on company time, using company resources.", last line of the second-to last paragraph. I can only assume that people skipped it. – T. Sar Jan 23 '17 at 10:22
  • 1
    @TSar I'm not there, so I can't judge. Just wanted to remind everyone that, when it comes to worker/management issues, simple misunderstandings can escalate into very serious problems. Your issue could just be that specific worker, but if it turns out to be something more widespread you could end up with a serious situation. Also keep in mind that individual workers, feeling less powerful than managers (rightly so most often) might not voice these concerns until its too late. Team management is about understanding your team after all, and it ain't easy. – Oskuro Jan 23 '17 at 11:00
  • 5
    @TSar, don't feel bad. I've noticed that on this site, folks more often than not will assume Management is doing something wrong on these kinds of questions. – GHP Jan 23 '17 at 13:41
  • 1
    This is also where job descriptions come in handy. – ps2goat Jan 23 '17 at 17:08
  • 10
    It's easy to think math and developing go hand in hand, but there are tons of good developers who aren't good at or interested in math. It's not exactly as easy as learning a new programming language. Math is a whole other skill that requires understanding and experience. Combining the two can also be very challenging if performance comes into play. – Kevin Jan 23 '17 at 18:12
  • Pink slips solve this problem nicely. – Matthew Whited Jan 23 '17 at 21:46
  • 1
    Your company sounds awesome if they have enthusiastic employees like you – DeepDeadpool Jan 23 '17 at 22:41
  • 1
    Oh my god, I wished I worked for a company like this that would pay me to take math to do research. – Joe Smentz Jan 24 '17 at 04:45
  • A skill that comes with experience and age is when to say no. how many projects and what workload as "grumpy" bow? – Rui F Ribeiro Jan 24 '17 at 07:50
  • 1
    Why train only your most senior developers? That is going to put more into the silo. Why did you not consider offering a more junior developer the opportunity to train as well? – TafT Jan 24 '17 at 09:25
  • 4
    I'm not quite sure why you think he needs ANY reason to ask for a raise. People can determine their own pay requirement and don't owe you any explanation for why they choose the number that they do. Count yourself lucky he even gave you feedback. The truth is, he's probably MEH about the job as it stands, so you'd better up your game unless you are OK to lose him. If he's talking like this, he's probably at least passively looking elsewhere. – Bradley Thomas Jan 24 '17 at 14:12
  • There are other people who could also work on it, so present it as an interesting development opportunity at a departmental meeting and tell anyone who's interested to come talk to you. Why get fixated on this one person's reaction and changing their mind? That's not productive. In any case I don't read his comment as seriously asking for a raise, just saying that's not his thing and he's not interested. So don't get hung up on involving him. (Maybe he has a better organizational or engineering read on the difficulty of the task than you, and maybe he doesn't. But that's not relevant.) – smci Jan 25 '17 at 08:03
  • I mean I don't see this as a huge mutiny or challenge to your authority, so it's really not worth taking it like that. Just find someone else more suitable to assign it to. This is normal everyday stuff. – smci Jan 25 '17 at 08:05
  • I've been on the other side several times, and my answer is always that I can do it, but they shouldn't expect the same level of productivity if they're paying me to learn something new instead of doing what I already know. I always got the task anyway, and they were the most interesting stuff I worked on, so today I'm even enthusiastic for those opportunities as long as the company understands I won't accept to be pressured for quick results. – Pedro Werneck Jan 26 '17 at 05:22
  • In my IT studies, I have done math oriented stuff, and I would love to know which magical training will get them on the research level in some weeks. No the best bet here is to find a framework/library that can do the stuff for your people and train them on that. If you need raw mathematical things, get a searcher, or setup a PhD subject. – Walfrat Jan 26 '17 at 10:52
  • @Walfrat It's not something that will be done in a few weeks. I'm already familiar with this type of project, so I can start delineating things up while they take up the needed statistics and math classes. The EETT (estimated essential training time) for this project is somewhere around a year and ECT (estimated conclusion time) for the first deliverable is about 24 months. Luckily for us, we are able to grab some really fat discounts at college rates (we have some agreements with the uni), so paying for those courses will not be a big deal. – T. Sar Jan 26 '17 at 10:56
  • @Walfrat Also, the training cost is included in the price we gave to the client, so it won't be a monetary burden to us. – T. Sar Jan 26 '17 at 11:02
  • @TSar ah, that's quite the training, i'm more use too the 1 week training and go. – Walfrat Jan 26 '17 at 11:41
  • I know this is a necro... But when you presented the project, did you explain that them learning how to do it would be on company time/dime... Or did you just assume that they understood that would be the case? – Questor Mar 27 '23 at 19:35
  • 1
    @Questor I did. More so, it's the usual company policy, so there wouldn't be any reason to assume it differently. – T. Sar Mar 27 '23 at 20:09

15 Answers15

382

Well, the solution here is simple. Thank grumpy for his honesty, put him back on regular tasks, and bring in the next guy from the bench.

If someone is not interested in a project like this and there are other people available then it is in everyone's interest to put the people on the project that are most interested in it. Giving grumpy a raise is not going to make him more excited about the project, so it is not in your or the project's interest to have him there anyway.

Further down the road you are going to need to make some tough choices, too. I would keep an eye on this developer's attitude and how it affects the team. It could be that you have a cancer starting. If he is actually enjoying his job, this is one of those statements that he will come to regret. But to me, the best result this developer can hope for is that he has hit his ceiling with the team—and that may be ok if he knows your systems, does his job well and does not cause problems. If that is not this person, though, you are going to have to deal with it eventually.

CodeSeeker
  • 2,971
  • 1
  • 17
  • 24
IDrinkandIKnowThings
  • 49,880
  • 18
  • 123
  • 210
155

This is something that should have been prevented, not dealt with after the fact. I'm sorry but if you (as it seems, without any kind of previous warning) suddenly change the direction of the employees personal development, and get surprised when this is not the same direction the developer wants to progress towards, the problem is not with the employee.

Is it fair to be grumpy in this scenario? Of course. Is it fair to request a raise? Maybe, maybe not - perhaps the employee is even paid too much. Since the employer and the employee obviously has different expectations on the employee's scope, it's not possible for a 3rd party to say.

Culture matters as well of course - I'm in Sweden FWIW (typically relatively flat hierarchies and empowered employees/weak managers).

JanErikGunnar
  • 1,729
  • 1
  • 8
  • 8
  • 2
    Unfortunately I can't pick what projects are sent towards our team nor control the hiring process. Thank you for your answer, tho. – T. Sar Jan 21 '17 at 12:48
  • 43
    @TSar But you did picked 2 persons. It wasn't your job to change other people's career paths either. Yet you've attempted just that. – Agent_L Jan 21 '17 at 16:32
  • 15
    @Agent_L I honestly don't understand your point on changing their career paths. We work developing custom software for our clients. We had several other types of projects that needed extra training that we didn't had at the time - like with the nightmarish brazilian electronic invoice system - and we didn't see that as "changing career paths". To be honest, I always thought that having a diverse set of skills for a developer besides programming languages was always a big plus. – T. Sar Jan 21 '17 at 19:36
  • 32
    "...while the rest of the team would keep the usual..." "...It's a bit outside their scope as developers since it's a fairly specific skill..." "...While it is true that he is a software developer and his job doesn't include academic-level research projects..."

    It sure seems like a change of role.

    I'm actually quite curious, who in the organization does keep track of what the professional interest and goals etc are of different employes, and who make sure they are achieved?

    – JanErikGunnar Jan 22 '17 at 01:31
  • 24
    @TSar The problem is with you telling them that you decided they work on this project which is a change in their career path. A better way would have been to ask the team who'd be interested in, indifferent to or opposed to doing this kind of project and then picking from the group who's interested or indifferent. – Sumyrda - remember Monica Jan 22 '17 at 13:29
  • @Sumyrda So if they were the only devs on the team, they could say "no" and walk away, and I stay with no-one to work on it? – T. Sar Jan 22 '17 at 14:45
  • 9
    The employee is not paid to engage in personal development. They are paid to produce whatever software the company needs them to produce, within the scope of their role. If they feel that they have been asked too much, they are free to go elsewhere. But employees do not dictate what they work on, ever. They are employees. They are there to add value to the company, in exchange for a monthly salary! Now, a happy employee is a productive employee so we prefer to promote personal development where we can. But that is not what the employee is being paid for, so it isn't a condition of the job. – Lightness Races in Orbit Jan 22 '17 at 15:09
  • 9
    @TSar Well, if you don't have the option to give your people options then don't, because fake options don't help anybody. But if you have the option then it's in your best interest and theirs to put those people on the project who are enthusiastic about it. Consider that if you put grumpy guy on the project anyway, he might indeed decide to start interviewing elsewhere, so yes, he could say no and walk away. The point is, you can try to allocate projects to people that want them in order to make your employees happy. It's not always possible, but when it is, it doesn't hurt to do it. – Sumyrda - remember Monica Jan 22 '17 at 15:14
  • 22
    @TSar What it comes down to is if the new task still fits into the original job description or not. You saying things like "bit outside their normal task scope" and "academic-level research", certainly does make it sound like a completely new job and with that it's only fair to renegotiate benefits. After all if you were to take over one of your testers or interns as a developer, you wouldn't be upset about them wanting to renegotiate their contract either. – Voo Jan 22 '17 at 15:43
  • 9
    @LightnessRacesinOrbit Well that's probably why he didn't say "no", instead he said "you want more from me, pay me more". Perfectly on line with what you just wrote. – KPM Jan 22 '17 at 22:59
96

So, I called the two oldest and most experienced developers I have on my team and presented the project to them. While one of them seemed really interested in it, the other one was a bit... grumpy, to say the least.

You made a choice to ask the two most experienced developers to take on the challenge. If the one who declined the task had done so without being grumpy, or had presented a well thought out argument, would you just have turned to candidate #3? If so, then do so.

If there is still a place for the developer who declined the opportunity, then assign them that task.

Remember, you aren't asking them to slightly go outside their comfort zone. You are asking them to learn some math that they may see no need for beyond this project. The best candidate may not have been the two most senior developers. It may have been the most junior developer, or even the intern (though I would not plan on asking an intern to be responsible for a long term critical skill).

CodeSeeker
  • 2,971
  • 1
  • 17
  • 24
mhoran_psprep
  • 72,299
  • 8
  • 131
  • 233
83

Let me play the devil's advocate here:

  • Your company have taken up a work they have absolutely no competences in.
  • This work is in a field that is very much different than most of other fields in software development. This ain't your regular "learn new programming language", this is heavyweight math that even most full time mathematicians fear.
  • Your company refuses to hire a new person to lead, instead it believes that theoretical trainings and courses can make up for no experience.
  • They have put a hopeless optimist and enthusiast at the helm (you)
  • The leader (you) can't even acknowledge that other people might have different goals than he does.

Now, I'm not saying that this is a recipe for disaster. But many disasters have followed this recipe.

Joining your spearheading team is not all roses as you describe it. You say it's about learning, but there is no one with experience to teach you. That means you'll be learning on your own mistakes and in many cases you'll learn wrong. In best case, you'll have to unlearn big chunks of your new knowledge. In worst case, you'll never know what you've got wrong.

There is very high chance that you will fail. There are many ways it can fail, I'm betting on severe time (thus cost) overrun (few hundred %%) so your company will make a loss. Worst case is that client will invoke penalty clauses and your company will lose much more than just your time and salaries, so devs may get fired with reputation smeared. Don't you think that risk is worth compensation?

I've painted the most pessimistic image, but I believe it's necessary to counterweight your optimism.

Let's get back into the last point of my bullet list, which is the only thing that you've personally did wrong. You have taken the decision about what other devs want into your hands. You don't seem to realize that what you see as thrilling, other people may see as intimidating or merely boring. You see it as an upgrade while refusing to accept that others may see it as a downgrade. Or just not a good fit for their work-life balance. Another angle is that you see it as within the scope of "developer" position. The problem is that it is nothing but an opinion. An opposite opinion, that it constitutes a brand new job is just as valid as yours. You have to expect other people not sharing your opinions. It was OK to casually ask if someone wants the new job. But you should have expected "no" as much as "yes".

You also need to keep in mind that a job is always a contract. And as any contract, it takes two sides to change it. The job description is part of the contract. You can't change the job description unilaterally, just like the employee can't unilaterally change his salary. Yes, it is commonly expected for an employee to improve, but that doesn't mean taking up new responsibilities, it means staying competitive in carrying out the ones he was hired for.

The contract can be changed anytime whenever both sides agree to the change. It's as OK for him to ask for a raise as it was for you to ask for a job change. But everyone must be ready to live with the answer.

IMHO his question wasn't a real one, he just doesn't want the new job. And turned the tables on you, so it's you who has to actually say "no". There is nothing for you to handle here, except of changing your attitude about your team sharing your beliefs and life goals.

Agent_L
  • 5,389
  • 2
  • 19
  • 19
  • 2
    I don't usually make critics to the answers I get - I'm thankful for any input I got - but you're making too many assumptions. I've done this type of work a few times before and it's nothing new to me, but it's not something I can tackle by myself. His contract isn't being changed - he would have to learn the domain for any new software we brew up anyways, as he did several other times before with HR, finances, and so many other things. – T. Sar Jan 21 '17 at 19:19
  • We are not asking him to change his job. We are asking him to understand a new domain so he can work with us on this big project. It's not a new job, its just a new project for his current job. – T. Sar Jan 21 '17 at 19:20
  • 1
    And, really, your personal attacks to my person were uncalled for. – T. Sar Jan 21 '17 at 19:22
  • 31
    @TSar I believe you're still blinded by your enthusiasm that you take any differing opinion as personal attack. I'm not attacking you. I'm merely providing a different point of view. Maybe it's right for the Grumpy, most likely it's not. The only good thing about mine is that it's a different one. As I've said - it's all matter of opinion. Your only problem I see is rejecting opinions other than yours. – Agent_L Jan 21 '17 at 19:43
  • 4
    @TSar The fact that you have experience in the field is a gamechanger, I think you should have mentioned that. Maybe I am grumpy too because I've seen too many disasters following the recipe I've described here. – Agent_L Jan 21 '17 at 19:44
  • 6
    @TSar I think we went too far on the hostilities. I am not saying that what I wrote is true. I'm merely saying what an employee may think what is true. I haven't meant the actual letter of contract in the legal terms, describing the job broadly. I meant the "contract", that is what one believes to be "the job I signed for". – Agent_L Jan 21 '17 at 19:50
  • On the contrary - I know that I may be too hyped for it and not thinking straight, so I came here to ask for guidance. You can have a different opinion from mine, and that wouldn't be an issue at all. I welcome every single point of view that you guys can show me, and upvoted almost every answer here. I just disagree with your assumptions. – T. Sar Jan 21 '17 at 20:03
  • 6
    @TSar Honestly, I'd say he's actually on point. While I agree with you that 'Grumpy' didn't seem to express his concerns well, I really can't disagree with the concerns themselves. For me, personally, what this answer describes would be my biggest concern if I were in Grumpy's shoes. I've spent a good deal of time on both the dev and researcher sides of the fence (including some AI and ML stuff) and I'd be very concerned about our team's ability to do the job right if my manager walked in and randomly asked for an ML or big data project. – reirab Jan 24 '17 at 16:32
  • 11
    @TSar Expecting a dev to be able to pick up a new language, learn a new API, or learn some domain-specific stuff is normal. Expecting them to work on a project that would require an entire graduate degree to really do correctly is an entirely different matter. Judging from your description and my experience (which includes such a graduate degree,) this case sounds more like the latter than the former. – reirab Jan 24 '17 at 16:33
  • @Agent_L "Let me play the devil's advocate here" Looking at the other answers, it seems like you misjudged who the devil is in this case ;-) – walen Jan 25 '17 at 08:52
  • 3
    @TSar I am offering my assumptions to you so you can use them to understand the other guy. They are meant for you to disagree, it's stated in the first line. I don't expect you to agree with me, nor with Grumpy. I expect you to understand that our concerns, no matter how exaggerated they are, are not without solid grounds. Concerns which may warrant asking for a raise - in someone's judgement. That the differences between you and Grumpy come from merely using different priorities while evaluating same situation. Neither of you need a correction or handling, there was no transgression here. – Agent_L Jan 25 '17 at 11:00
52

I do think it is fair to ask for a raise after being assigned to specialist work that requires a specific set of skills that are not common in the workplace. It sounds as if this may be a big data kind of project and those skills are highly in demand and pay much better than the average developer salary. This is also true only if the task will be an ongoing one.

Raises for specialist skills for a one-time 3-6 month project are not appropriate (a bonus might be). Raises for the new permanent Big Data team are. As the lead, you might research the salaries for people with the skill sets you are asking your team to get and see if it might be appropriate to discuss salary increases with management after your team has proven themselves.

However, normally that request would be for the whole team and would generally happen after they have acquired the proficiency, although it could be promised at a certain date later if the skills were acquired.

The way he went about it refusing to get qualified without a raise is generally frowned on. Personally, since you have other personnel to choose from, I would move on to the next person who might be interested. I probably would have polled the team before requesting anyone to see who was interested in gaining these skills and then made my choice from the volunteers after each had a chance to make his case for why he should be chosen. There are not that many people who really are interested in the higher math skills, a more junior person might already have done some study in this area though because it was part of his interests.

HLGEM
  • 142,324
  • 26
  • 258
  • 516
  • 3
    Thank you for your input. Yeah, I may have been blinded by my own hype with this project. It's something I personally love, so it was a bit hard for me to imagine that my fellow developers would frown at the opportunity to improve themselves on the math field. – T. Sar Jan 21 '17 at 12:52
  • 6
    Sorry, but I disagree. As Joe Strazzere pointed out in another comment, you don't just give out a raise before a job happens. It's completely fair to ask for one after the mock-up is done, but it's just a thing that you have to demonstrate competence first before you can expect to be compensated for it. – NotVonKaiser Jan 21 '17 at 14:53
  • 1
    Not a disagreement but something you might want to point out: Increasing a worker's skill set will increase their market value in any case – especially if it's a very broad and useful skill like mathematics in software development. If the worker is smart they will get a raise either from their current employer or from someone else, no matter what. – David Foerster Jan 21 '17 at 16:14
  • 17
    @TSar As you're still referring to it as "opportunity to improve themselves" clearly shows you're still blinded by your hype. – Agent_L Jan 21 '17 at 16:36
  • @NotVonKaiser, I did not suggest that the person get a raise before getting the skills. It is however, the norm everywhere I have ever worked to promise a raise after the skills have been proven if you are giving someone the skills that are far more valuable in the market than their current set. Otherwise you train them and lose them almost immediately which is counterproductive. – HLGEM Jan 21 '17 at 20:18
  • 1
    @HLGEM: in this case I would guess that the skills involved (or at least the skills that appear to the employee to be involved) don't command all that much of a premium in the market. "Grumpy" said he'd be perfectly willing to acquire them in return for a payrise, but not willing to acquire them at current salary. So that employee probably doesn't truly believe those skills are worth a huge premium in the market, or he'd be anxious to learn them on company time. Rather, I think he doesn't enjoy using those skills (or isn't good at it, or fears he isn't). – Steve Jessop Jan 24 '17 at 20:10
  • 1
    @SteveJessop, while I agree that he probably did not want the project, that doesn't mean the skills would not command way more money than he is currently making. There are lots of jobs that command more money than I currently make that I would not want to change to my profession. From the description, this is specialist work and many devs are not interested in higher math. Some are even not good at it especially now that the computer science degree is usually no longer in the math department (and therefore requiring much higher level math) as it was when I was in college.. – HLGEM Jan 24 '17 at 20:43
43

Grumpy handled this very poorly. However...

As someone who was a developer for decades, and is now a maths researcher doing a lot of predictive analytics, I kind of see Grumpy's point. While software developers have to be prepared to learn bits and pieces from a wide variety of disciplines in order to do their job, there is a significant difference between a developer and a researcher, just as there is between a manager and a developer. This isn't like he's refusing to learn a new programming language or figure out how to interface with some weird hardware; it's more like he's refusing to do graphic design or manage a team or fly a plane.

Grumpy may be maths-phobic. But it's also possible that he knows enough about statistics and data mining to suspect that it will be a difficult, murky slog. In this particular area of maths, it's very easy to learn some techniques, but it's also easy to apply them in the wrong situations! A high-school student could learn how to do ARIMA, but knowing when it's valid and how to choose the right parameters are more at the graduate student level. A lot of mathematicians don't like statistics, not because it's harder than other fields, but because it's more... fiddly.

Like you, I jump at the chance to learn new maths, and I love my job. But I can see how Grumpy might feel that he's being asked to do something that's just too far outside the role of a developer. As I said, he handled it very badly, and I don't excuse that. But he may have some justification for the way he feels.

mhwombat
  • 4,479
  • 1
  • 23
  • 21
  • 30
    As one who's been in the same situation as 'grumpy', I'd say that whether or not he reacted poorly depends on how often 'grumpy' is given additional responsibilities without any sort of incentive. Some employers will exploit this sort of behavior until developers are too overburdened and burned out to even function. – Luke A. Leber Jan 21 '17 at 19:09
  • 1
    @LukeA.Leber whether or not the guy has valid reasons for reacting poorly, he still reacted poorly. If I felt like my bosses were messing around with me like that, I'd find another job, especially in the world of development. – NotVonKaiser Jan 22 '17 at 16:03
  • 11
    @NotVonKaiser - You wouldn't ask for a raise? In my opinion, leaving without discussing a problem with an employer to work out a civil resolution is a worse reaction. – Luke A. Leber Jan 22 '17 at 19:30
  • 2
    If I worked at a company that suddenly asked me to start doing something that was above and beyond my normal scope of duties, I'd do it for a while and then, sure, once I was sure that I was reasonably competent at it and this wasn't just some kind of interim job, I'd bring up the topic of compensation. If I found myself in a position where I'd been screwed around like that several times, it would have meant that they'd already heard me out on the issue a couple times and didn't care. – NotVonKaiser Jan 22 '17 at 23:43
  • 5
    +1 Not everyone likes doing statistics. I've done some AI and ML stuff in the past and, while I didn't have any problem doing the math, it really wasn't something I enjoyed much. While he perhaps didn't word his concerns well, 'Grumpy' also has a point that "predictive analytics researcher" and "line-of-business app dev" tend to be quite different pay grades. – reirab Jan 24 '17 at 16:25
  • 1
    @LukeA.Leber: anyway, if the employer is making the employees "too overburdened and burned out to even function", then asking for a raise doesn't somehow make that situation sustainable, because you can't use money to prevent burnout. I suppose it means you'll have more cash in the bank when you do burn out, so a payrise is better than a poke in the eye, but it's not a resolution. When the problem is burnout the civil resolution has to be "less pressure", not "more money in return for the same amount of pressure". – Steve Jessop Jan 24 '17 at 20:17
31

Speaking as a mathematician-turned-software developer I sympathize with Grumpy: i.e. I now prefer software development (and I think I'm now better at software development than at mathematics).

On the other hand if I were in Grumpy's place and wanted to say that to you, I would -- and I would without confusing the issue by mentioning salary.

The fact that Grumpy mentioned salary might mean that Grumpy is grumpy about salary, and this project is merely a trigger or excuse for asking for a raise.

So my advice would be to try to separate the issues, even if Grumpy didn't separate them. Ask, "Is Grumpy happy with his current salary? Is he asking for raise regardless of this new project?" Given that he's the one of two oldest and most experienced developers should you offer him an unconditional raise first, and then ask whether he's willing to do this new thing?

And/or can you reassure him about the nature of the new responsibilities? If I were him I might worry about failing. The increased salary might be 'danger money' to compensate me for increased risk or stress or unpaid overtime. For example, will the company be providing enough help (e.g. a domain expert, i.e. a maths mentor) to guarantee his success?

You say this is "academic-level research" but also "basically software R&D" which might be mutually exclusive/contradictory. Apparently you are keener on academic research than he his?

ChrisW
  • 2,726
  • 12
  • 22
  • 1
    This is an interesting point of view. Almost my entire life on IT was on the almost-academic R&D field of things, doing experimental software for a bunch of things. My first work as an intern dealt with a high-performance math API for combining different pigments to get a specific color. Research for software development is my bread and butter for almost 10 years now, so it is something normal to me. That said, you can't do unpaid overtime on my country, so that wouldn't be a problem – T. Sar Jan 21 '17 at 13:05
  • 12
    I don't mind learning new software-domain things (e.g. program languages, network protocols, APIs). But some of the maths-domain or academic-level problems you might want to give a programmer, e.g. AI (machine-learning), or combinatorial optimization, are deceptive: superficially they seem simple, but need an unknown amount of research, and there may not be a feasible solution at all: and so I'd be reluctant to start such a project for a naive boss who said e.g., "Learn how to do AI and then make it do such-and-such". That's the kind of thing I meant about risk etc. – ChrisW Jan 21 '17 at 14:06
  • 3
    "I don't get paid enough for this" is often used in a way that is not literally asking for a raise. He's more likely using the statement to express his feeling that the project is outside of the domain of problems he's interested in solving as part of his job responsibilities. If the employee in his shoes must be willing to able to solve such problems, you need to hire a new employee. Otherwise, just pick someone else who is willing to do the work, and let the guy be happy doing whatever he was doing. Sounds like you have at least a few other people to choose from. – Dan Jan 23 '17 at 17:00
28

Is it possible that the developer feels he is not get paid enough for the work he is doing now? Usually when people say "I'm not getting paid enough to do this," they mean they feel that they are undervalued in general, and could be a flight risk.

If you're in a position to adjust that, and he is undervalued (or not grossly over-valued), then he might be making a good point, and you can adjust his company goals to reflect that if he does do this research and develops this project successfully, he will get raise this year that will be better than increased cost of living. Propose a percentage beforehand and document it. Or your company might have designations such as 'exceed expectations' that automatically result in a large raise, so tell him that he will get 'exceed expectations' and be compensated accordingly. Money can be a great motivator, and turn grumps into happy campers.

Or he might be saying he really doesn't see himself as a math researcher. If that's the case, ask someone else to do it and present it to the team. If it's really just research, you might be able to ask your product manager or business analyst to study the information and relate it to the dev team in requirements.

LeLetter
  • 4,780
  • 14
  • 23
  • 5
    My first thought. The OP asks two people to do more skilled work; the pay should reflect that. – Peter - Reinstate Monica Jan 22 '17 at 13:52
  • Agreed. There seems to be a lot of negative stigma around an employee asking for a raise. If someone asked me to learn a whole bunch of new stuff outside of my job description, you can bet your ass I'd be asking for a raise as well. – Dan Jan 23 '17 at 16:55
  • If you feel you aren't paid enough then ask/quit. – Matthew Whited Jan 23 '17 at 18:15
18

While I am really, really not a fan of this guy's phrasing - in software development especially, we are paid a pretty decent amount to do what we do, and what we do often entails researching to figure out how you're going to do the thing that you said you were going to do - I think there is a kernel of truth to what he's talking about. No, you shouldn't give him a raise. There is a point though to where asking a person who doesn't work with mathy things to do mathy things is going to be a bad time for both you and them.

I actually have run into a semi-similar situation in my career as a developer. I mean, in some ways it's not exactly the same at all, but still... as noted, I am a developer. I develop stuff. If you want to implement some business logic and get widgets on a web page to jump around and do stuff, I am your guy. I've worked on the back end and the front end, built middle-tier web services, and have picked up new languages and frameworks on the fly when I've needed to. What I don't do - I should say, what I don't do well - is design. If you ask me to design a web page, I will do it, don't get me wrong, but I will do it telling you that I don't have training or expertise in this and you might not like the results. In the end I think you're going to be better off hiring an actual designer and then using me to take that person's design and implement it.

So what I would say to do here is to take this guy as if he's telling you this thing instead of "pay me more", because in a sense that kind of is what he's doing. The issue here really isn't so much that software devs get paid X and doing math should get you X + 10%, it's that some software development doesn't really require math and so asking people to do a lot of it means that you are going to wind up with less than stellar results. Depending on the situation, I might recommend:

  • Looking through the skillsets of your other developers and seeing if someone else on your team has a more mathy background, or is willing to learn what you need to learn. You might even sell them on the notion that this represents a new tool that they can learn and take with them to future gigs (see below!). The biggest downside here is that in addition to the extra time spent on ramping things up (and in the process, possibly learning new architecture and frameworks), that particular dev is also going to be slowed down by having to learn and understand the math you want to implement.

  • Bringing in an analyst to figure out the equations and then having your existing devs implement the equations into code, just the same as they'd do with any other piece of business logic. This has the downside that the person who knows the math isn't in the end writing the math into your system, but that can be pretty easily resolved by putting an emphasis on test-driven development (which you're already doing, right? Right?). This method also has the advantage that, if you're working in, for example, finance, you can grab one of the numbers people out their department: chances are, they're going to know this stuff better than practically any s-dev you can bring in off the street because that is their job.

  • Bringing in a third-party consultant to handle nothing but the mathy portion of the code, and then just kind of locking that part up to never be touched again. This is also problematic for a lot of reasons - first and foremost, the day I find code that doesn't need to be refactored down the line is the day I introduce myself to the most psychic developer ever - but depending on what it is you're trying to do, this might be the way to go about it. That other guy might cost a bit more than what you're paying your current devs, too, but, well, it's a specialized sub-field.

Like I said, I'm not a really big fan of the phrasing here, and perhaps that in and of itself means you need to have a sit-down talk with the person who is saying this (I would, as an aside, be kind of wary of him not adhering to the Bus Factor and it may be time to walk through some of this guy's code, not as punishment but because IME people who think in terms of pay grades in this industry also think in terms of doing things to make themselves irreplaceable). I don't think he's necessarily wrong though.

NotVonKaiser
  • 6,845
  • 22
  • 36
  • 3
    Full of assumptions. Not everyone in software development is "paid a pretty decent amount". How do you know how much Grumpy is paid? – DepressedDaniel Jan 22 '17 at 17:44
  • The industry pays pretty damn well as a whole. If Grumpy isn't being paid what he needs to be paid in the industry, he should be going after a raise or find another place to work regardless of whether or not he's being asked to do math. – NotVonKaiser Jan 22 '17 at 23:39
  • 1
    Actually, pretty much any other question/answer pair here advises to couple a raise with new responsibilities. According to the question the employee would be taking new responsibilities, hence a raise would be just fair. – antipattern Jan 23 '17 at 10:59
11

You mention that grumpy is one of the oldest developers. I wonder how old? Years ago I had someone working for me who was in his mid 50s, he was a competent developer, he was happy in his work, but he refused to take on any extra responsibility. It turned out there was a history, he had had to take a career break in the past because of stress, he knew his limits, and he didn't want to over-reach them. Respect his judgement and use him for the things he does well.

Michael Kay
  • 1,762
  • 9
  • 15
8

I'd say the answer depends on how accurate the developer's assessment is.

If his job description actually does include doing this kind of work, and his pay rate is appropriate for that, then his claim is inaccurate.

On the other hand, his job description and/or pay rate don't match the new type of work, then they should be adjusted to accurately reflect that.

In general, even if a company trains an employee to a new job description, that doesn't mean the company should not then adjust that employee's job description and pay rate to match. Some companies may try to do that, but that's not appropriate and is prone to decrease morale and eventually lose employees.

From your comments, it sounds like you aren't sure. Rather than (as some other answers here have suggested) making his statement into a refusal or bad attitude, I'd suggest treating it as an adult respectable suggestion, and responding in an adult professional way, by acknowledging the suggestion and consulting people who would know what is appropriate for that type of work, and then getting back to him about what you found out about that.

Dronz
  • 407
  • 7
  • 14
6

Employee states he doesn't want to do work he wasn't hired to do, and provides a compromise: More money and he'll do the work anyway.

You need to reject the more money option. If he doesn't want to do the work, he'll likely be unhappy doing the work despite the additional money, and unhappiness can be contagious. Additionally, it sets a bad precedent for people who want to do the work but now know they can ask for a raise before learning something different.

Treat this like any other employee that doesn't want to do a job he wasn't hired for. And how you handle that depends on many other details, but in this specific case, you thank him for the time and ask for a different volunteer, because this is the kind of project where you want to work on with people who want to work on it.

Peter
  • 14,539
  • 2
  • 30
  • 52
5

I think a couple minor points related to the question haven't been asked/answered by other posters (as of this posting):

  • What is the title of the old position?
  • What does that position get paid? (Market rates)
  • What is the title of the new position?
  • What does that title get paid? (Market Rates)
  • What is the difference in pay between "Senior Developer" and "That Title"
  • Is it worth the time/effort for him to get the pay difference?

What is the title of the current position? Different titles get different pay rates... there is a difference between a Developer and an Engineer... a Senior Developer and Senior Engineer. What is the new title called? Mathmatics Developer? Researcher Developer? Senior Research Engineer?

What does someone of that title get paid, in market rates? There are some positions that are "harder" but get paid less... Think Researcher at Universities... lots of people trying to get the positions so demand lowers market rates.

What is the difference between current "Title" and "New Title" in the market? If it's $1000/year... that's a different conversation from it's $75000 a year...

Which means... is it worth it for "Grumpy Dev" to learn "Math Research"? Yes it's true that part of a Developers Life is learning new things... it's also learning new things that are valuable. Either in monetary terms (Pay Raise) or in other terms (Career progression, new opportunities, new technologies)...

Sir Grumpy, to me, has made it clear that his main priority is money. If he wants to be a Front End Developer and you are trying to make him an Applied Science developer... it may not be worth it to him to switch - given the same pay scale. The only way for him to consider it worth it would be $$$. Either that, or he's not interested and is passing the responsibility to you. Do Market Rates align with his expectations? Your expectations?

WernerCD
  • 2,195
  • 12
  • 14
  • 5
    I like the point of this answer. @TSar, you are a Development team lead. Please imagine how would you react if the same project-related,expectation was asked by your manager directly from you. In theory, isn't here any expectation what can be asked from you (e.g. learning medieval Polish for library-digitizing project) which you would find generally useless for your future career, where you would react grumpy? I just wanted to put things into perspective. – miroxlav Jan 21 '17 at 21:50
1

I feel that an answer to your problem has already been provided - that if you have a person on your team uninterested in a project going in a new direction, but you need someone with experience to help, then you go to the person with the next-greatest experience after him, or maybe even consider looking into their specific skills (does anyone on your team have a math background?) and let him continue doing the maintenance your team usually does.

But to answer your question - 'is this a fair request?' - it is fair of him to ask for it, but not at all required of you to take it up any further than that.

If you have done your due research and made sure that the pay rate for a person of his experience in his position is meeting market values, then there's little room to argue that a permanent raise is in order.

Also, consider the full implication of his title - a Software Developer is expected to perform some research and development when it is relevant to his position. Up until now, it hasn't been. But since your team is being tasked to implement this new type of program, now it is part of the job, and declining to perform those tasks means declining a part of his job.

As of right now, that's not a damning issue - you have other developers who you can set on this task instead. But if your team continues to need developers who have some understanding of this type of math, this employee may become a liability if he isn't willing to learn. So keep that in mind.

Note that whether or not it is within his job description also depends on his contract - many contracts have a clause for 'any other tasks required to perform your job', which includes additional training like this.

Zibbobz
  • 10,337
  • 6
  • 38
  • 69
  • 4
    I didn't notice the developer saying he wasn't willing to learn. Rather he said the task was above his job description and pay rate. – Dronz Jan 20 '17 at 21:07
  • 2
    @Dronz saying he isn't willing to do the task without a raise includes the part where he would have to learn a new skill, so by extension, he isn't willing to learn (at least as far as that task goes). I've added to my answer to indicate that, in all likelihood, his contract includes 'additional tasks required for this job', which would likely include additional training. – Zibbobz Jan 20 '17 at 21:09
  • It seems to me that the objection was about the pay rate and job description (specifically difficult mathematics and research), rather than unwillingness to learn or train. Seems to me the issue is about how correct he is about that, which the OP seems unsure of. – Dronz Jan 20 '17 at 21:24
  • 2
    @Dronz As an analysis of the explicit meaning of the reported conversation, you are correct, but there seems to be a lot going on here that is not explicit. Though not stated, the employee seems to be signaling a reluctance to learn, and it is possible he might be talking about pay to rationalize his feelings, where his actual concern is, e.g. of being swamped with work, or performance anxiety. The question-asker's surprise that the employee does not share his enthusiasm opens the possibility that there is something else going on here that the questioner himself is not aware of. – sdenham Jan 21 '17 at 03:25
-7

What your teammate is asking for is not fair -- at all.

Learning new skills is part of any job, especially today in the tech industry.

Your company is offering to pay for training, so it's not like your teammate is being thrown in the deep end.

Most people would appreciate the chance to expand and improve their skills at little or no cost, and be able to essentially learn on the job.

Your teammate's response is frankly insubordinate and toxic. You don't need anyone like this on your team.

This issue should be escalated to a manager or someone who is responsible for evaluating your teammate's performance.

mcknz
  • 25,182
  • 9
  • 85
  • 106
  • 8
    This issue should be escalated to a manager or someone who is responsible for evaluating your teammate's performance. Being team lead... i would suspect that person is the OP. – IDrinkandIKnowThings Jan 20 '17 at 19:06
  • 3
    @IDrinkandIKnowThings possibly but not always. Some team leads are responsible for implementation, but have limited authority to require action or enforce consequences. – mcknz Jan 20 '17 at 19:12
  • 1
    @IDrinkandIKnowThings this is true. Where I work my team lead is not my manager. – Neo Jan 20 '17 at 19:15
  • 4
    "... it's not like your teammate is being thrown in the deep end." That may not be how "grumpy" sees things if he is math-phobic or just bad at math. – GreenMatt Jan 20 '17 at 19:28
  • 6
    @GreenMatt Sure -- if he said he was bad at math or concerned he couldn't do the work, that's fine. To say "I'm not paid enough" signals a bad attitude and a refusal to work. – mcknz Jan 20 '17 at 19:32
  • 3
    Say the coursework would require a hundred hours of his time, is not something he's interested in or that he thinks will benefit his career generally, and while they're paying for the courses, he's going to have to give up 100 hours of his free time. You don't think he should be compensated for that? What if it was 200 hours? – David Schwartz Jan 20 '17 at 20:01
  • Could be -- and he's welcome to ask for one from the person responsible for setting his salary. From his response I don't believe he's genuinely interested in a raise, but is using it as an excuse to avoid the work. To say "I'm not paid enough" usually means "I'm not going to do it." – mcknz Jan 20 '17 at 20:41
  • 4
    So shall I start having our testers start learning programming and plan on keeping paying them as testers? – Dronz Jan 20 '17 at 21:04
  • 2
    @Dronz, no...but if I were a tester and were offered the chance to learn programming on the company's dime, for a test-related project, I would jump* at the chance.* Then after I brought the project off to a success and had a demonstrated ability with the new skill (demonstrated by the project's success), I would bring up the idea of a pay increase. – Wildcard Jan 20 '17 at 21:58
  • 2
    On the contrary. Would you rather that person start looking for another position where they would not be asked to perform tasks they dislike? Instead, they express their dislike, and even offer a solution. That person apparently considers that this training is not taking them in the direction they want for their career, so why would they want to follow it? – njzk2 Jan 21 '17 at 02:26
  • @DavidSchwartz He won't give up any free time to receive this training. It will be on company time. – T. Sar Jan 21 '17 at 13:11
  • 4
    @Wildcard You're speaking from position of a person who has a job they don't like being offered a position of their dreams. This is not the case at all. It's more like that grumpy is already a happy programmer in his dream job and now somebody offered him a job he sees as not something he likes. – Agent_L Jan 21 '17 at 16:47
  • 2
    You can't just fire people for not having a 100% positive attitude all the time. Well, you can, but it's a dumb move because it will cost you a lot more in recruitment effort to have a team of 100% positive attitude people without necessarily improving productivity. – DepressedDaniel Jan 22 '17 at 17:49