3

I recently got hired into a new job, it is a junior developer position which matches my previous work experience. As I began my work, I was told there was some installations to be done in the server, I have never done something like this before but I kindly accepted the duty and went ahead to try and get the server to work except... it has been two weeks now and I can't get it to work, of course progress was made but the bare reality is that it's not working as it should yet.

We are in an agile team so I talked about my difficulties every day in the daily scrum and my project manager kept on telling me to "keep on trying" and I keep on trying everyday and right now I am sure reached the end of all ideas I could have tried out. I soared the internet, read the whole technical documentation, I even asked around other work-environment acquaintances if they could help me or had any knowledge about it, but they did not and I am the only one developer in our team. Recently I told the team this was a roadblock and I was out of ideas but everybody was calm, the project manager didn't seem worried at all with no progress being made except I am worried, I am very worried.

In my team there is nobody else with the same technical knowledge to help out, but it's a big company and my manager has many other teams under his supervision, so I am considering explaining the situation to him and asking if he can assigned somebody else to help me out with this problem since the project manager is failing to help. Is this an acceptable approach? Or should I just keep on trying and trying on my own until eventually I have a prophetic idea that will solve everything?

closed as primarily opinion-based by OldPadawan, gnat, Dukeling, Michael Grubey, Mister Positive Sep 26 '18 at 11:47

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.

  • If it's a Unix system, there's also Unix & Linux. Given the lack of experience as a sysadmin, I'd recommend against ServerFault though. – Jenny D Sep 25 '18 at 7:38
  • @JennyD really? I thought it was the Unix & Linux people who were the cold ones – rath Sep 25 '18 at 8:36
  • 1
    Can you elabrate on your company structure? You say you have a "project manager" and a "daily scrum". That seems weird. Do you have a Scrum master? Because that would be the person you should be reporting your "blockers" to. – nvoigt Sep 25 '18 at 9:38
  • 1
    Definitely rely first on your line manager rather than a project manager. A project manager can help when you need something very specific from another team. For actual technical challenges, your co-workers and line manager are in a much better position to help-- unless you're having trouble with powerpoint or spreadsheets (project managers are really good at that stuff). – teego1967 Sep 25 '18 at 10:10
3

The thing about a "junior" developer is that you can't expect them to be able to perform all tasks. You expect that they can get stuck with a problem and be unable to solve it. So in a good team, you can give a junior developer any task, and if they can't solve it, then at least they should improve their skills, which is a good thing, but you expect that sometimes the junior developer will fail. And that's not because he or she is no good, but because they are "junior".

As the junior developer, when you are stuck you go to the person who is responsible for the task being done (for example your manager - I know you are supposed to do the task, but he or she is responsible for assigning the task to someone who does it), and ask them for help. Maybe reassigning the task to someone more senior, or asking a more senior person to give you a hand.

There is a point where trying more and more to solve the problem isn't going to work (if you can't do it in two weeks then you can't do it in two years), so having you continue without at least competent help would be just a waste of time.

  • @Kilisi You are not a junior developer. Of course he's doing something wrong somewhere, but if it was a problem he can figure out, he'd have figured it out before two weeks. – gnasher729 Sep 25 '18 at 12:03
0

We are in an agile team so I talked about my difficulties every day in the daily scrum

You should raise this with your Scrum Master (assuming this is the PM) as a blocker, and talk to your team about how to complete this (or get external help etc). This is largely what you've done.

Note: There is much to unpack in your question (and other answers) given your quote:

  1. "I am the only one developer in our team" - Scrum teams are intended to be cross-functional. This means the team has all the skills it needs (not that everyone can do everything), as a junior dev you should have more experienced help/guidance
  2. "it has been two weeks now and I can't get it to work" - how long is your sprint? Having a single person on one task (or even story) for 2 weeks (even if it's multiple sprints) is a huge anti-pattern. Good agile teams limit WiP (Work in Progress) and limit work items/stories/tasks to a day or two to show work getting done/allow blockers to become evident.
  3. "I was told there was some installations to be done in the server" - a story in Scrum should have value to the customer, there is unlikely to be measurable value in this as a standalone item, so again sounds like the work is too big.
  4. What does your Product Owner say about the problems you are having? is this story of such high importance it must be done to the exclusion of anything else now? If so (and this could be a valid response), they should be able to help you push the SM (PM) to get you help to finish this, as the sprint goal is in jeopardy otherwise. Talk to them.
  5. "you are stuck you go to the person who is responsible for the task being done" - A Scrum team is self-organizing, the team is responsible not an individual.

Don't go outside the team (your manager), talk to your SM and team, if nothing improves raise it as a constraint at the review and as a important point at your retro (although the team should try and deal with it before then).

I raise these points not as criticism of you, but to point out that your team isn't actually doing Scrum, more a #darkscrum, which is highly destructive.

Scrum is immutable, you can change from what the defined process is, but it is no longer scrum.

Doing Sprints, having standups and using Jira is not doing scrum, it is a mindset and what you describe isn't it.

-1

So far, you seem to be doing things right. You've been trying, you've been keeping your team up to date with your (lack of) progress, you've been asking your team-mates for help. Unfortunately, that hasn't resolved the problem yet.

Continuing to do what isn't working is just a waste of valuable time and money. If you're in over your head, then hacking away at the same problem is not going to be an effective solution. You definitely need someone to come in and give you a hand.

So start asking for help. Start with your own agile team, see if they know anyone who could help out. If that doesn't work, move up to your manager. If he also doesn't know anyone, try to get a freelancer or consultant involved. (You might want to ask permission for that one; depends on the company).

Being an agile team, or a developer, doesn't mean you need to solve every problem yourself. It means you need to find solutions to problems and deliver value. If delivering value means "get someone to show me how it's done and learn to do it myself next time", then that's what needs to happen.

(Note that not everyone agrees with this, so you might get some blowback from the company. But really; you're just offering the most effective solution to this problem by proposing someone help you out. Just make sure you learn from that person. Don't let them solve it, let them help you solve it.)

-2

I am considering explaining the situation to him and asking if he can assigned somebody else to help me out with this problem since the project manager is failing to help. Is this an acceptable approach?

Getting someone with the proper experience to help is the correct approach.

Be careful how you talk to your manager about it. Throwing the project manager under the bus wouldn't be a good approach.

Just be factual and ask for help. Needing more help isn't all that unusual.

-2

Or should I just keep on trying and trying on my own until eventually I have a prophetic idea that will solve everything?

Neither is a decent resolution strategy.

From an engineering perspective you solve these sort of matters by going back to basics and working your way up methodically. Asking 10 other people who don't know how to do it either is not a solution, it's just spreading the problem that you were tasked to solve.

If you can't install on a going system, build a vanilla system and install step by step, a virtual machine would do if you don't have a spare machine. 2 weeks without having done that is not good. If it fails on a vanilla system contact the vendor to find out why and move forwards from there, once you have it going on a vanilla system then it's just details to sort out rather than a full blown frustration.

Don't let yourself get frustrated, work off the documentation and make clear records of any errors for troubleshooting if you need to contact the vendor. Most of the time this will solve the issue smoothly without outside assistance, but don't be shy to go to the source for solutions.

There is nothing much wrong with asking for assistance but you have tried that multiple times. Now you're considering asking outside the team which is a bad idea for many reasons and at best makes it look like your management are failing their role.

The juniors on the fast track are not the ones who ask for assistance, they're the ones that solve problems with minimal fuss to others and then move to the next problem. You can solve this, you're just not going about it the right way.

You may have been given this as a test, just to see how you handle it. If it was a critical problem it wouldn't be given to a junior.

  • Given the OP is "the only one developer on the team" I'd say likely this is not a test, just crappy ways of working. – The Wandering Dev Manager Sep 25 '18 at 13:10
  • @TheWanderingDevManager it's not actually a task I would assign a dev at all, particularly since it's on a server, but the resolution is nethertheless straightforwards. And small teams often expect people to wear multiple hats if they can handle them. I've let junior engineers struggle with issues I know the easy answer to just so they can work it out for themselves and learn,... or fail. If any my sole advice being 'break it down to basics and start from the beginning'. – Kilisi Sep 25 '18 at 13:17
  • Yeah well I took dev as short for techie. And I was doing DevOps WAY back in the 90s so I would assume a dev should be able to config/build/debug/necromance servers. Given though he seems really junior I doubt I would dump him in this for 2 weeks as a test. A couple of days maybe, but not 2 weeks. – The Wandering Dev Manager Sep 25 '18 at 22:10
  • @TheWanderingDevManager might be looking for his replacement. But I've done more than 2 weeks pretty often, because it's not important. and the chaps no use to me unless he can solve problems. Probably not what is happening here, but OP still needs to solve the problem, he's already asked for help multiple times. I'm giving a strategy to solve the problem, other answers are giving a strategy to rationalise failure into a good thing, meanwhile problem carries on. – Kilisi Sep 25 '18 at 22:26
  • @TheWanderingDevManager 90s was a different ball game, they just threw you in head first on day one. No chance of help because no one knew anything about computers – Kilisi Sep 25 '18 at 22:36

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