1

I work as a Software developer, but now I am moving to a manager role and I had the following exercise on a course I took to improve my management skills: To solve a code challenge from a manager perspective.

For this exercise, I worked with one developer that shared his screen and think aloud about the problem, the goal was to help him solving the code challenge using management skills to understand my thought process and how I put my ideas to support the team, this was a little tricky for me because I've been on a developer role for almost 10 years and the very first thing that I tried was to solve the code challenge as a developer.

So, after staying silent for a while, I tried the following:

  1. Ask the developer if an existing issue has been reported in JIRA
  2. If it was reported in JIRA, then we try to follow the steps to solve the challenge based on that. Otherwise, we would need to ask other team members to check if they have seen any similar issue.
  3. Since no team member on the company has seen a similar issue, then we create a JIRA ticket to track the issue and focus on the challenge description and try to solve it at a very high level like: "hey, I've seen something similar, maybe we can use the following algorithm and this library..."
  4. After that, we ask Google for some assistance and check if we get the right solution.
  5. Once the solution is implemented, we update ticket status with the required information and that's it.

Not sure if I missed something or if there are more things that I need to take in consideration to improve my management skills for this kind of cases. For instance, what should I do if we do not get an answer on Google/Stack Overflow/Quora or any other site (very unlikely, but just in case).

So, as a manager, what can I do to assist a developer with a coding problem?

2
  • Hire a freelancer? Mar 4, 2019 at 11:19
  • 1
    I have my doubts about whether this question is strictly in scope for PM:SE, but it strikes me as interesting.
    – MCW
    Mar 4, 2019 at 14:50

3 Answers 3

6

Fascinating question and an excellent interview question. (Technically a poor fit for PM:SE because there is no authoritative answer - which is what makes it a great interview question). That said, I think it is fascinating.

I think you covered the most important element - which is to avoid acting as a developer. So what does the manager do that the developer does not do? My obligation as a manager is to ensure that the problem is solved. If I were confronted with the question, my response would to ask the developer:

  1. Do you understand the problem? Are there any requirements or issues that I can get clarified for you? Are there elements you're confident you understand that you can start work on?

  2. Do you have everything you need to solve this problem? Do you need any reference material, hardware, software, assistance?

  3. How long do you think it will take you to solve this problem? In the worst case, hungover with constant management nagging how long would it take? How long would it take on your best day?

  4. How can I help? Would it help to think out loud & break it down to subproblems, or is my best contribution to go get you coffee/tea/redbull/headphones/a left handed smokeshifter that will get me out of your hair and let you concentrate (in which case I'll come back about 60% of the way through the estimated completion time to check that none of the above answers have changed. (As a former manager, I strongly believe that one of my most important duties was to shut up and get out of the way)

2
  • 1
    Good answer. It's nice if you happen to see something technical, but to develop those managerial skills, you have to focus on creating a good environment for someone else to succeed. I like the concrete list of things in this answer too.
    – Daniel
    Mar 4, 2019 at 17:16
  • Thanks for your answer, sorry about posting this kind of question that may not fit in PM:SE, but I needed to know about the right path to follow since I really want to improve my management skills, so feedback coming from the experts could help me. I am marking this one since it is the most complete one. Thanks for your help. Mar 5, 2019 at 15:42
2

I see a developers' manager's responsibilities, in broad strokes, to be three things:

  1. To create/bring together the culture/team
  2. To remove impediments to the team's work
  3. To get out of the way.

Additionally, I see three possible situations:

  1. The developer in question is a senior/knows what s/he's doing
  2. The developer in question is a junior/doesn't know what s/he's doing
  3. The developer in question is a junior, and the manager is the only one around who has been a senior developer.

In situation 1, all you need to do is maintain enough presence to know of (and fix) any issues affecting the developer that the developer cannot fix him/herself (e.g. 'we need to buy this software', 'the ceiling fan is too loud', 'my computer's too slow'). And then get out of the way.

In situation 2, ensure that there's a senior dev available to assist the junior developer. Then act as in situation 1.

Only in situation 3 would I suggest that the manager actively assist the junior developer with programming tasks, but in that instance, s/he is no longer acting as a manager. S/he has taken off the manager hat and put on the developer one. Oh, and make sure you're working on improving the junior's skills so s/he becomes senior, hiring a senior, or both.

1

I believe that as a manager you should not provide the answer but the route to the answer. Ask questions to give the developer a path to choose from, just as you've done. As a SCRUM Master I try to let people grow by just asking questions and let the developers find a path to follow. It is a bit hard to provide a concrete example but something like this:

  • What have tried to solve it?
  • What could you try?
  • Is there someone within the team that might be able to help you?

By asking the right questions (which is really hard) the developer will find a solution

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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