3

I am trainee developer with 7-months practice. I've never work in any commercial project, since my internship I've developed only training applications. Recently I was asked by my team leader to cover a new topic which no one in my company is familiar with and even senior developers (including the very same TL, the rumor says) cannot address it easily. What is more, it is also expected that I will prepare sample application and a workshop for the rest of a company as "teaching people is a priority" and write a post on a company blog. I feel very uncomfortable with the topic (it addresses security issues) and I don't realy feel qualified and experienced enough to cover it. I have nothing against the idea of the workshops but personally I feel like it should be volountary and about the technology I feel confident in. I also feel like teaching people is not my responsibility, since I am at junior position and I require "special care" (eg. regular code review) myself. I shared some of my doubts with the TL and he summed them up in words "it's a challenge".

Is there a way to turn down this task in a elegant way? I tried to recognize the topic and I really don't feel I can handle this task without a long struggle. I also think I would and should spend this time on something more popular that I will have to deal with as junior developer in commercial projects.

  • What's the time scale on this project? Is this your permanent job? Perhaps your manager has recognized a gap in his team and is attempting to fill it internally (you). If the company is giving you a year to learn best-practices when using BGP in embedded devices or TLS in a Java environment (can you tell I'm a network engineer?), I'd say it's in your interest to struggle through, so long as the work is interesting. – agentroadkill Apr 26 '16 at 20:44
  • I was given one month and was encouraged to hurry up, as I might be allocated to some project soon (it wasn't specified if this might be topic-related). – Trainee Apr 26 '16 at 20:53
  • 3
    Playing 'safe' and not wanting to take on responsibility is not a good look to the employer. give it your best shot. It's probably nowhere near as difficult as you think. It's just a matter of learning and applying knowledge and actually getting started. – Kilisi Apr 26 '16 at 23:18
  • 2
    Regular code review is not "special care". – Brandin Apr 27 '16 at 9:10
  • This actually feels very similar to a company I was in, who did something similar regularly. The main reason was because they wanted the newest / latest thing on their blog at all times. Yet did not want to devote senior company resources on it. The in-house presentations were often cancelled, or usurped by the owner talking about something completely unrelated. Unfortunately this also meant that in the end any argument against the presentation was ignored. As they knew that at the end of the day the presentation was likely dead in the water in advance. – Reaces Apr 27 '16 at 9:17
4

Here's the deal:

"teaching people is not my responsibility"

Your responsibility is whatever your boss says it is. This is something you will run into your whole life, so you better get used to it now.

You may certainly voice your concerns, ask for support, or ask for a longer deadline, but refusing the assigned task is a surefire way of marking yourself as unmotivated, inflexible, a bad team player, and ultimately expendable.

"I feel like it should be voluntary and about the technology I feel confident in"

Few things in life are fair, and the workplace is certainly not one of them. Over the course of your career you will have to challenge yourself over and over again.

Fun fact: the people who get the top jobs are the ones who are not afraid to take on a challenge, put that extra effort into succeeding, and build a reputation of dependability, even under great stress, and tight deadlines.

Rather than looking at this situation with dread consider that it is an amazing opportunity for you to shine.

Short Story: a friend owns his own company. He hired a student to help him out with some programming tasks. The office environment is very informal, and their relationship was more "buddy-buddy" than strictly professional. The kid performed his duties well enough, but recently the company had taken on some more advanced projects (it's web development, so the technologies are always changing/improving) and my friend asked his employee to start learning Node.js, and a few other technologies in order to help him with some more advanced features. The kid refused. He quoted the exact same reasons as you. It's not what he "was hired for". It's not really his "thing". He "feels" out of his depth. To quote my friend: "I hired him to help me. If he can't do what I need him to then he's useless". He kept him on for another couple of months in order to wrap up some of the simpler projects, then he let him go.

There's an important lesson in that.

Suggestion:

If I were you I would speak to your manager again. I would express that you're still only very junior to the team, and feel a bit overwhelmed, however that you will give this task every bit of attention and effort that you're capable of.

I would then maybe ask the manager and seniors to help guide you into setting up a game-plan for the applications and workshops that you need to implement.

Write up a requirements document ASAP, and get your manager's input on it so that no one will be able to later say that you didn't deliver on your expectations.

And if you feel that you don't have the knowledge to do this just yet ask your manager for a one or two week reprieve during which you may conduct research and build that document.

  • 3
    I will also point out that trainees are sometimes given things they don't know to research and present to others because it is good way to get someone to learn something. I would often assign topics in our weekly training sessions in one job to exactly the people who needed to learn those particular topics rather than to the people I considered to be experts. It s a low risk way of getting someone to learn without having to throw them into a project using that technology and take the risk of failure. – HLGEM Apr 26 '16 at 21:10
2

Based on your response to my comment, I'll take a crack at my own answer.

The first question I'd as is if these 'rumors' are, in fact, true. If you were given an assignment that a senior developer felt too difficult, then management has unrealistic expectations, or your manager has run into a brick wall above him, and is looking for his sacrificial lamb. Conversely, if a senior developer looked at this, said "I've never done this before, maybe the new kid can take a crack at it", management is interested in your abilities, and giving you a chance to demonstrate your value and earn a more permanent or senior spot on the team. I suspect the second option is closer to the truth.

Now, what can you do??!?!?!?

You can do the assignment. This looks a lot like someone up the food chain is giving you the opportunity to prove your worth to the company and move you up the food chain. Communicate to your manager that you are worried about your ability to complete this on time. Their reaction will tell you a lot, I suspect they will tell you that this is a high priority to give to you and they're hoping you pull through.

Based on the type of question you're asking, this sounds more like someone wants you to bring new information into the company, in the form of a new API, design paradigm, new technology or vendor or whatever. In that case, you're in really good shape. Learn everything you can, create some simple examples, and give an awesome presentation. Plan on having more senior support when it comes time to integrate this project with others the company is currently involved in. If they really expect a junior-level dev to generate enterprise-quality code in a new environment in a month and then have it ready to integrate with other products, they are smoking some very weird-smelling oregano. If that's truly the case, do your best and be ready to explain why you were unable to meet the objectives. In some cases, that can be just as valuable as it showcases shortcomings of the original plan, some technical oversight, or just an under-estimation of how much work this project requires.


Now I'm going to assume that you want to downvote this answer because you asked "How do I turn this down?" and I answered "I'm afraid of this new project, what do I do?", so I'll answer your original question.

If you're going to turn down an assignment from your boss, have a reason, a good reason. "This is hard" or "This is not what I do" are not even reasons, let alone good ones. Right now, my current company is transitioning ISPs. My boss asked me to do the actual cut-over, and I told him I didn't think it was a good idea I should do that. My argument was that we had a vendor who would be able to do the cut-over better than myself because they have more experience. I volunteered to oversee the project and advise the vendor where needed. We wound up with more of my valuable time to devote to other, non-outsource-able projects, and a better setup because the vendor knew exactly what to do.

Unfortunately, at this junior point in your career, your time is worth relatively little to the company, even if you are paid 'a lot' (define that as you choose). Your best bet is to tell your manager that you are unqualified for this. You'll gain some maturity points, but likely be passed over the next time something interesting comes along. You'll be 'that guy' who didn't want to try that one time, so why would you be willing to try this time?

  • 3
    FWIW, where I work we sometimes give "pie in the sky" assignments to junior developers when they have availability. The idea is if they don't succeed it doesn't hurt us (we didn't have other work for them at that time), but if they do, it really helps. – Amy Blankenship Apr 26 '16 at 23:43
  • I've seen that happen as well. I wonder how relevant that is to the OP though, do you ever tell these developers what's happening? – agentroadkill Apr 26 '16 at 23:45
  • I don't think we say in so many words "it doesn't matter if you don't come up with anything." – Amy Blankenship Apr 26 '16 at 23:46
1

Getting completely out of the task is not good for your career or to get any respect from your coworkers. Consider adjusting the task or getting some clarification of what is expected before asking to get out of it.

  1. You don't feel qualified, but this is for your education as well as others. Get use to learning new things. You're not always going to be the best in the class unless you never accept challenges.
  2. You're not experienced, so ask if you can get some help. This addresses part of #1 as well. I don't know why you're under the impression you have to do this all on your own.
  3. You're never going to grow as a developer if you only stick to what you're confident with. Programming is all about long struggles. No one is going to pay you more money just to do things that are easy. Personally, I'd rather pay someone less money who is willing to struggle.

We don't always get a task like this where there is a clear path to prove yourself. You're not buried in with a team. Nobody remembers who went and got the coffee.

You'll display more elegance if you ask the right questions, fully understand what is expected and get help when you need it. Sorry to tell you, but eventually, the only way you're going to get out of tasks is to get fired so they can get someone else to do the job. You will feel a million times more confident and will enjoy your career by breaking through these self-imposed barriers and accomplish something you will later find meaningful.

1

You just started and have basically no experience. By the time you feel "comfortable and experienced enough" to give a workshop you'll be 2 or 3 years in and your time will be much too expensive to spend on something like this. (Which doesn't mean that you won't be asked to this, but that you'll be doing this on your own time.)

You're being given ample company(!) time to research a new topic and being asked to demo your findings. That's normal, especially in consulting which I gather you're in. The sample program you're being asked to write shouldn't be up to the standard of something you'd sell or put in production. It's mean to showcase a new technology/design/feature in a working example as a crash course for your colleagues. Your team lead acknowledged that it's a challenge and you'll encounter plenty of those in your working life. Shying away from a challenge is not the right response and there's simply no way to turn this down, elegantly or otherwise.

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.