14

I have been working for three months as a programmer for a state bank. At first thought it would be like the other jobs in my field, that there would be a manager or coordinator who would pass on tasks to me, but it was nothing like that.

First I was put in a small team to provide maintenance for a very old system. I did everything asked without complaint, dealt with insults and jokes at my expense, but I was never rude to anyone.

Then my work dried up and I spent entire weeks without doing anything. I repeatedly asked my supervisor for something to do to but he said I should wait.

One day it was brought up that I was always on the internet, and I said that there was nothing to do.

Only then I was told that developers own have to find work to do and solicit other teams for more work.

I have since been discharged and am a bit confused, as it has always been my experience that management assigns work, and not this structure where programmers have to seek it out on their own..

Is this common that programmers are told to seek work from teams outside their own for people they have never met? I could understand if this was a start-up, but this is a bank, a financial institution.

I have read many questions here, but to be honest, I'm a programmer, I do not need to be political, my job is to code and not stand around shaking hands and making friends !

I'm senior java programmer, certified and with a lot of projects already published, why do such work environments still exists?

closed as off-topic by gnat, paparazzo, Chris E, AndreiROM, Lilienthal May 6 '16 at 19:15

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Real questions have answers. Rather than explaining why your situation is terrible, or why your boss/coworker makes you unhappy, explain what you want to do to make it better. For more information, click here." – gnat, paparazzo, Chris E, AndreiROM, Lilienthal
If this question can be reworded to fit the rules in the help center, please edit the question.

  • 10
    I'm not quite sure what you are asking. It seems you are a "senior" dev who basically expected people to hand you tasks to accomplish. To me, this isn't something that a senior developer does (especially if you were just surfing the internet instead of mentioning this to anyone to find things to do). – enderland May 6 '16 at 12:18
  • 7
    "I'm a programmer, I do not need to be political, my job is to code and not stand around shaking hands and making friends" Being professional and cordial with your colleagues and working with not against management is far, far more important than writing good code. – Lilienthal May 6 '16 at 12:43
  • 9
    @lambdapool Your manager may have been bad, but you're the one out of a job. We're trying to advise you on how to avoid that in the future. People in here are helpful, not hostile. Please, don't be so defensive. – Richard U May 6 '16 at 12:55
  • 3
    Programmers do need to be political as do all employees who wish to do well in their careers. It is counterproductive to think otherwise. – HLGEM May 6 '16 at 13:15
  • 4
    2/2 I do not understand the mentality - especially from a senior dev - of simply sitting there and doing nothing, with the expectation that someone should walk over and place the work on your plate, as it were. Three months of slacking are bound to get you fired, what did you expect? If my boss walks up to me on any given day I can tell him what I'm currently working on, and give him 2 or 3 ideas for improvements to existing systems. I wouldn't even dream of going up to him and saying: "Yeah, so I have nothing to do". There is always something to do. Always. – AndreiROM May 6 '16 at 16:00
37

How should seniors find tasks to do?


You can't call yourself a senior developer and then act like a junior.

If you do not have any work, there are a few things you can do:

  1. Sit and wait for someone to assign you work
  2. Ask for work from your boss/others
  3. Identify things to work on and suggest them to your boss

Juniors normally do the first. They wait until someone else tells them what to do. Seniors should be doing the last thing. Taking initiative and showing an understanding of business is part of being a senior.

Management sometimes assigns work. Sometimes they assign project priorities. When you are at a senior level, you are expected to be able to manage yourself somewhat.

No one wants to hire a senior developer and then spend time assigning them tasks. If your manager has to assign you tasks constantly why would they not just hire a junior?

Dealing with problems with management


Additionally, if you have problems with the way you are being managed or how things are going, you should not wait three months until your boss has to fire you. You should take initiative to ask your boss questions like "what should I be doing in order to find more work?" People such as yourself seem to view bosses/managers as work-dispensing-things. A good employee finds ideas and suggests them to their boss.

Understanding this idea is a people-skill that is important for senior level people. You can choose to "not be political" but recognize you will lose opportunities and not be seen as a successful senior if you do this often.

It is much better to suggest to your boss, "I was thinking about working on X, Y, or Z, what are your thoughts?" than "please tell me what to do."

Preventing this problem in future


In the future, I suggest finding information during interviews about how tasks are assigned. Ask questions like:

  • How are tasks assigned? Who does this?
  • How are project priorities determined?

It will help you to find a job where you have a better fit for your expectations.

  • 5
    @lambdapool that's why the last section is really important. When you interview, make sure to ask questions about things like this that are important to you! – enderland May 6 '16 at 13:49
  • 7
    "No one wants to hire a senior developer and then spend time assigning them tasks. If your manager has to assign you tasks constantly why would they not just hire a junior?" Because a junior developer will make a total mess. Fortunately I have never in over 20 years worked somewhere where there was not a management provided roadmap of features to implement for the products they sold, and therefore always something to work on. Places where developers are "bored" and have to mooch around for tasks are toxic work environments to be avoided, it indicates disorganised directionless management. – user467257 May 6 '16 at 17:42
  • 3
    I feel like this answer misses the point. As a senior developer, it's okay to be in charge, but you should have a basic idea of what has to be done, especially as someone new to the company. Also, if you're in charge of a team, this should be clearly stated to you. The way I read the question there was not even a basic direction of what should be done and no one who he could be in charge of, which is an entirely different problem. – Sebb May 6 '16 at 18:29
  • 1
    @Sebb: In a number environments I've been in, the Sr. Devs work pretty closely with people in other parts of the business. They know the systems they are working on and the people that are using them. When you stay "plugged in" with the business then it's easy to identify areas that need improvement or even new areas to branch into. However if you are one of those that can't or doesn't interact with the rest of the business then you aren't really a Sr. Dev. – NotMe May 6 '16 at 19:06
  • 3
    @Sebb: the op said "my job is to code and not stand around shaking hands and making friends"; that to me says he didn't do what he needed to do to integrate into the environment. He might be a capable programmer, but, imho, the Sr title is reserved for those that are more than just code jockeys. – NotMe May 6 '16 at 20:29
8

As you've learned, there are very different ways places do business.

Chalk this one up to a "bad fit" and move on. In the future, when you see you are not getting work, ask for more. If you don't get any, it's time to update your resume/CV.

From what you've described, they didn't really know what to do with you, they didn't treat you well from day 1, and eliminated responsibilities until they could justify dismissing you. The situation you described sounds like you were set up to fail.

No, what was done to you is not normal business practice, it's a company that wanted rid of you.

In the future, document everything. Use email instead of conversation, and when you DO have conversations, send follow up emails. "As per our conversation, I feel I am not being given enough work, please advise how I may take on additional duties and responsibilities".

Don't ever make the mistake that being good = job security. Office politics has taken out some of the best of us. A friend of mine was terminated because he was earning too much. Yes, there is that level of craziness out there.

As much as you may not want to hear this, playing politics is in fact part of the job. Next time, if insults and jokes start flying, apply for other jobs immediately while putting an end to the insults and jokes. You've seen what happens when you don't

  • Yes, thank you for advise. It was my second job in EUrope, the first one I was very good but have to go because personal issues. – lambdapool May 6 '16 at 13:36
7

@enderland has a terrific answer. I just want to add something about what you should have been doing as a senior when you are new to the organization. If you have no actual tasks to do then you should be learning about the current systems at that organization not studying stuff on the Internet or surfing it for fun.

You ask your boss which systems you should come up to speed on first and then dig in and learn that system in all of your spare time. Ask questions, create documentation, think of ways it can be refactored, etc. Until you understand the complex system to some extent, you are not very useful, so dig in and start learning them. Then if you still have free time, you go talk to the users of that system and find out what problems they have and think about whether it makes good business sense to suggest solving a particular problem. At a place like a bank, it would take considerably longer than 3 months to get up to speed on their systems so that would have kept you busy with legitimate work.

By not giving you tasks immediately, they were giving you the precious gift of time to dig in and learn the systems without the outside pressure of a deadline. This is also likely what they expected you to do when they didn't assign any tasks.

  • 1
    Very good points. At my work, we expect newer developers to spend free time and onboarding time learning the codebase of our products as well. – d0nut May 6 '16 at 17:58
  • 1
    Thank you for this response. I will be starting a new job as a junior developer soon, and this is immensely useful advice. – MY_G May 6 '16 at 18:02
  • @iismathwizard you expect but do you actively help them out on it? or just expect in your mind and just don't do anything leading to this? – lambdapool May 9 '16 at 10:20
  • 2
    @lambdapool, your supervisor is your real boss. I don't understand the point you are trying to make.HOw does that realte to what I said? – HLGEM May 9 '16 at 13:38
  • 2
    @lambdapool If you were only willing to ask questions of your "real boss", and not your supervisor, then that is another problem altogether, but not one of HLGEM misunderstanding your work place. – Beofett May 9 '16 at 14:16
4

The key mismatch between your expectations and those of your manager/employer is that the expectation from a senior developer is generally that they will make the effort to get to know the ecosystem, so that they know where to go when issues arise or tasks dry up. The expectation of a senior in practically any field is that they are self sufficient, not needing someone to micromanage them.

A senior is seen as a building block, someone who can be relied on more than others and can take on more responsibility than others. How much development experience you have and how good of a programmer you are is part of what makes a senior developer, but communicational skills and self-management are also a very important.

In most companies, there will usually be a system in place that gathers up the tasks from the "business" side of the company can then be turned into projects to work on and which people can be assigned to, so it does seem odd that this would be completely absent from an organisation such as a state bank.

As more general advice, should you find yourself in a situation again where you have nothing to do, rather than waiting for new work to come to you I would advise going to your manager regularly (at least once a day) to inform them that you currently don't have any more work for project A. Ask them if they have any suggestions on what you could work on or where you could find more work. They might look at you strangely if they think you should be able to find the work on your own, but you should at least get some ideas on where you could look even if they don't have any concrete suggestions for you. Be persistent and make note of every attempt you make with your manager. This way, if they try to throw you under the bus for "not doing anything constructive" you can at least prove that you made attempts to remedy the situation.

  • Here we have thousands of systems, layers and teams, separated teams coordinated each other. The issue is, I cannot just sit at ones tables and ask for a complete strange if I have some to do. I always need a help from a experienced one because I'm just aboard, I don't know anybody. – lambdapool May 6 '16 at 12:47
  • 2
    Your manager should be able to point you in the direction of the right tables, but you should definitely be able to go to the leader of a different team and tell them "I have completed my work on project A, is there anything I can do for your project?" – Cronax May 6 '16 at 12:49
  • It sounds like he did try that and that his supervisor told him to hang back, then tossed him when he did. Unless @lambdapool is a complete idiot, it sounds like he was set up – Richard U May 6 '16 at 12:57
  • @RichardU that's why I would advise persistence. If you confirm with your supervisor twice a day that there's nothing you should be doing, there's no way they have any excuse to suddenly turn around on you and go "you should have been doing something". – Cronax May 6 '16 at 13:19
  • 1
    @lambdapool - You need help from someone experienced because you are new. What most decent senior developers would do is figure out what you'd need so you don't need help from someone experienced and get it documented so future people won't end up in the same predicament. I agree with Andre; There's always more work to do than we have time for. If you can't find anything then you aren't looking. – Dunk May 6 '16 at 17:18
4

As others have pointed out, part of the issue is one of expectation for "senior" positions vs. what would normally be expected of less experienced positions.

However, one aspect that I haven't seen mentioned is one that is pretty universal regardless of seniority.

If you don't have enough work to keep you busy, then you are costing your company money. Short periods of this may be acceptable, particularly if you can fill the time productively (even if it is brushing up on your skills, or filling in gaps in internal documentation), but extended periods of "no work to do" can be expected to be a sure sign that eventually you'll be out of a job.

Your question asks if it is your manager's responsibility to find work for you. Even if you assume that it is, the end result is, as someone pointed out in comments, that you're out of a job.

Not your manager.

Even if someone higher up in the corporate structure talked with you about the situation, and you had opportunity to explain that you've asked your manager for work repeatedly, the best case scenario is that your manager would be in trouble... but you'd still be out of a job.

Because when it comes down to it, if a manager has difficulty finding work for someone, then management in general is going to feel that that position isn't necessary.

So regardless of what job you're in, if you find that you have too much time on your hands, and not enough work to keep busy, don't wait for someone to hand you more work. Find productive things to do, or start looking for another job. It's in your own self-interest either way.

-3

Actually my favorite job would be to be paid and then left to let me do what i like. Then in my area of interest i can build open source software, read up on new technology install software and work with it. In fact the guy in japan who wrote ruby was working for a corporate with not much to do so he was able to create ruby. Not being busy is an opportunity. -)

  • 1
    yes my friend, unfortunately its not a option. in fact I was studying when they caught me. I was not watching any random websites. – lambdapool May 6 '16 at 16:06
  • @john I wouldn't recommend your suggestion to work on open source software to somebody new. Even under the best of circumstances it will usually take a year to be fully up to speed on a new job, unless there's not much to the job. Instead, I'd recommend a variation on your theme: Create tools to do tasks currently being done manually, write how-to documents, write/update the software documentation etc..You know, do something more directly related to the job. If you are a veteran then you will have a better feel for how far you can stray from directly work related tasks. – Dunk May 6 '16 at 17:25

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