Tuesday, March 19, 2024

Developers vs. Managers: Five Tough Conversations

Datamation content and product recommendations are editorially independent. We may make money when you click on links to our partners. Learn More.

“You want to do what?!?!”

Did you ever ask your manager for something and then wish you hadn’t?  I have: I thought asking for a vacation wasn’t that big of a deal. 

My manager Gerry had a different take on the request.

Why?

Well, it’s actually quite simple. When you ask for something, the request is typically formulated based on only your perspective.  You may feel you need something, whereas your manager believes you just want it. And there are a ton of external factors influencing every decision a manager faces. The key thing to remember: your manager must justify their decisions to their own managers, taking into account all the implications within the organization.

Also, some organizations have a culture where every decision is scrutinized and others are more carefree. It’s important to understand what types of decisions, if any, will be put under a microscope.

In my case, Gerry wasn’t upset I was asking for vacation. He was upset I was asking for vacation just a couple weeks in advance. I was still young and didn’t have an appreciation of the staff planning necessary to support on-call and project milestones – things Gerry had to worry about every day. 

What I didn’t realize was that Gerry was stressing out because another team member had just resigned that morning and one of our business customers was asking him to move up a deadline – which happened to be the week of my vacation request.

I couldn’t have foreseen all these unfortunate events, but I should have considered the short timeframe of my request.

Actually, vacation requests are the easiest (when not done at the last minute) in comparison to some of the other more difficult conversations.  So let’s explore the top five challenging conversations developers could have with their manager.

1. Show Me the Money!

Salary discussions are the ones most developers dread. Your stomach probably turns into mush when you ask for more money. 

The first time I asked for a raise, my manager cussed me out – stating he didn’t care what I wanted and that I was lucky to have a job.  I responded with “but my peers are all are making more than me.”  I knew this because we all talked about our original job offers during an overindulgent happy hour. 

That made him even angrier. 

He said it was none of my business what others made and I could be fired for sharing this information. 

Yikes!

So I was on the verge of being fired because I didn’t prepare my case. I should have started with my accomplishments since starting the job and used external salary information to justify my request.

He still may have had the same reaction for other reasons – like because he was a jerk – but it may have been a more businesslike conversation.  A fallback could have been a negotiation for a three or six month mid-cycle performance review where if I met some well-defined, aggressive goals. Then (maybe) a salary adjustment would have been more palatable for him to sell to his manager.

2. My Peer Stinks

Every developer at one time in their careers will encounter a difficult situation with a coworker.  You may choose to ignore the situation, and if you’re lucky the coworker will see the error of their ways or may even leave.  You can also try to address it on your own in a professional manner, but there will be cases where the issue must be escalated to your manager.

In one case, I had a peer who actually did stink. Not stink at programming, but stink as in actual body odor.  This turned out to be an issue HR was able to deal with.  (See, HR people aren’t all worthless, no matter what Dilbert writes about Catbert!)

Regardless of the issue or conflict, you need to present it to your manager without emotion. Relay the facts and what you have done to try and resolve the situation.

If it is stinky code, show how you have offered to help your peer improve.  Don’t just complain about a situation; come to the table with a solution.

3. Gadget or Necessity?

Today, more than ever, there is a plethora of hardware and software claiming to boost software development productivity.  And it doesn’t have to be something as complex as the latest code generation tool or automated unit tester. It could be as simple as requesting a second monitor. 

I pitched an article about just that – the importance of a second monitor – and my editor balked at first. 

I mean how boring, right? 

But it turned out to be one of my most viewed articles. This is because developers are passionate about what they need to meet their ever-increasing heavy workload demands. 

You wouldn’t just ask for another monitor because your cube looks cooler with two big honking displays. But you would ask for a second monitor to increase your productivity by backing it up with studies that prove it

No matter what gadget you are requesting, have the facts to back up your reasoning and, if possible, include a return on investment analysis to demonstrate how quickly the purchase will result in a payback in money or productivity.

4. Conference or Boondoggle?

I once had one of my developers ask for the company to pay for him to attend a conference on a cruise ship.  I think it was called Java Jams Geek Cruise. 

Imagine that! 

My first reaction was that this must be a joke.  I actually laughed.  When he stood his ground just staring at me, I realized he was serious. 

All I could think of was how my manager would ridicule me for approving an all-expenses paid cruise.

Luckily for him, this developer had come prepared. He presented me with an itinerary of seminars relative to the work we were doing and showed that this conference was comparable to other conferences team members had attended in the past. In addition, he agreed to deliver a brown bag presentation for knowledge transfer back to our team.

I approved. 

Why?

Because I knew I could defend the decision. The key to a conference request is to have a plan on how you will maximize your conference experience and bring back what you learn to your teammates.

5. So Long, Farewell

Almost everyone resigns at some point in their career.  But many developers don’t put much thought into it.  They figure they’ll go in, say “I’m out of here” and be on to greener software development pastures. 

But don’t underestimate the importance of preparing for this potentially difficult conversation. It’s important to approach your resignation in the most professional manner because you don’t want to burn bridges. You may need a reference from your manager or you may end up working for her again someday.

The truth is, resigning can end up being more stressful than asking for a pay increase. Of course, some managers just assume you are indirectly asking for a salary bump by resigning and will come back with a counter offer. 

Be prepared for the counter offer!!! 

Know going in if there is any chance of negotiation or if there is nothing that can be offered to keep you from leaving. If you have thought your decision through, it will make the farewell discussion so much easier – and less stressful.

As for me, I was grudgingly granted my vacation request, but only after I agreed to work late to meet the new deadline. 

If you prepare a case that takes into consideration all the impacts of your request, you’ll avoid a scornful response which could have the worst kind of impact – a negative impact on your future. 

Subscribe to Data Insider

Learn the latest news and best practices about data science, big data analytics, artificial intelligence, data security, and more.

Similar articles

Get the Free Newsletter!

Subscribe to Data Insider for top news, trends & analysis

Latest Articles