1

I started work at a company as a contracted software engineer that was brought in to build some software to help the company communicate with their external clients. The people were helpful and sort of friendly (although quiet at times) and I was given everything I needed to complete my jobs. I worked closely with someone who had an in depth knowledge of the existing business systems and we worked well together. The work was enjoyable and they were always extremely pleased with the solutions I provided. Whenever my contract was nearing an end, they would worry I would leave and find something else (particularly the guy I was working closely with). After nearly a year they offered me a permanent position and the package was very generous. It was for quite a senior position in the development environment which would oversee all projects and how the were designed. I jumped at the chance as it gave me the opportunity to advance my skills in managing a team etc. A took a holiday between the end of the contract and beginning as permanent. The team were then told of my position within business structure and almost overnight attitudes changed. The guy I had been working well with barely spoke to me. When he did, he only gave the bare information.

The other day I was moved onto a new project which was modifying an existing piece of software to work with a different system. The work involves a very in depth knowledge of their systems which even after the amount of time I've been there, I have not had to delve into. I politely asked if he could explain how I might even start going about it (the software I need to change is some of the worst code I've ever seen). He explained something really quickly and followed it up with "I don't understand what's so difficult, it's simple." The boss is useless at explaining things as I discovered the details he gave us at the beginning of the project were completely wrong.

Now I appreciate that my job is to help design solutions and work out where the problems are with various bits of software etc, but I don't think I should be expected to work on software that complex without some assistance to help understand the details. I want to learn it, I want to be able to help them by fixing code and making new pieces of software that make life easier for everyone, but I can't I nobody is willing to help. I also am aware that the co worker that was once working closely with me may have an issue with the fact that I now oversee his work. I don't know if I should send an email to my boss or to try and march on for a while before raising anything. I'm obviously now regretting making the jump from contracting to employment and that's rubbing salt in too. How long would you give it before saying this isn't what I signed up for and move on? Does anyone have any advice for me that may have been in a similar position.

  • 2
    What happened when you talked to your manager about the difficulties you're facing? – Philip Kendall Jul 17 '18 at 8:42
  • I haven't yet approached my manager as I did not want to appear as if I wasn't even willing to attempt to solve the problem myself. – envio Jul 17 '18 at 8:54
  • 3
    Is there a chance that your colleagues now know that you're earning a lot more than them or that you may have been employed into a role that someone else was wanting to be promoted into? Either of these could cause a lot a friction. – user44108 Jul 17 '18 at 9:55
  • Let me give you some help with translations: "I don't understand what's so difficult, it's simple." translated to English means "I have no idea how it works. Please go away and don't ask me about things that I should know but don't". – gnasher729 Jul 17 '18 at 10:10
  • 2
    The title of this question may be off, possibly "Change in attitudes from peer to boss"? – cdkMoose Jul 17 '18 at 12:52
8

How long would you give it before saying this isn't what I signed up for and move on?

I'd get rid of the defeatist attitude for a start. It is not uncommon for attitudes to change if you take permanent employment from contracting. The whole work dynamic shifts. You instantly become part of the office politics if any of the day and there can be a lot of jealousy or animosity.

So just like anyone else you buckle down and do the best you can until it settles. You accepted a high position with good pay, partly given because it was probably thought you'd hit the ground running. So you either live up to expectations or you will very much come across as a failure to some people. Some of which may be quite happy to see you fail.

Basically you just keep asking questions until you can make a start, document everything and persevere. Don't let other peoples attitudes dictate your own or impact on your morale (you should have learnt this as a contractor). Eventually they will want to be part of something successful they see happening and will get their heads out of wherever they have them hidden.

5

You may find that the more critical change is from peer to manager/supervisor, not contractor to employee. There may be some resentment from your former peers that you were hired in from the outside to a position above them, especially if they were interested in the position themselves.

As the overseer of all of these projects, you need to put in the effort to learn the new code-base. While it would be nice of them to help, they have their own work to get done and the new responsibility is yours. Part of taking the more senior position is stepping up to take the responsibility that goes with it, which includes finding a way to get them to work with you. Leadership is often more about people skills over the skills you needed as an individual contributor.

4

You don't need anyone to help. The source code is there, and that's enough. Of course it is pretty annoying if people who should be able to help you can't help or won't help. Ask them again. If they say "It's simple" you say "Where's the documentation?" which will most likely shut them up (10% of all cases they have helpful documentation and you don't need to ask, 20% they have something auto-generated and useless, 70% they have no documentation). Don't let them fib you off. If you need to know something, you don't let them go away until you either have the information you need, or a clear statement that the person doesn't know it. And in that case you go to their manager and asks him who knows. (The answer may be "nobody", but that is good for you, because the time you need to find out is now justified).

You will work at places where the only person who knows things has left, and you're on your own. That's part of software development.

The difference between contractor and employee: As a contractor, you go to your manager, you tell them, and that employee will get a major telling off for wasting the time of the very expensive contractor. Because every hour you waste costs the company money. As an employee, you are paid anyway, so some people don't see wasting your time as an expense.

  • good answer especially the middle paragraph – Kilisi Jul 17 '18 at 11:23
  • "The source code is there, and that's enough." - No, really, it isn't. When you have code you don't understand which has a bug in it, it can be practically impossible to tell if something is the cause of the bug, or has a good reason for being there. If you are on your own, it can easily take 10x as long to understand what is going on. – Martin Bonner supports Monica Jul 17 '18 at 13:33
  • exactly as gnasher says "The source code is there, and that's enough". IMO The entire raison d'etre of programming is that nobody can help you. – Fattie Jul 17 '18 at 13:45
  • @MartinBonner - let me put it this way, "You live in a dream world" :-) (1) all code is utter garbage (2) the code mentioned in (1) has, while I was writing this, become totally deprecated utter garbage (3) no previous programmers exist. It has never, ever, been possible to find the person who wrote the deprecated garbage from (1) and (2). I wish I lived in the world you describe, Martin! But I don't. it doesn't exist. – Fattie Jul 17 '18 at 13:47
  • 1
    "The source code is there, and that's enough." - This attitude is directly responsible for 99.8% of the shit code that grown-ups have to spend their careers scraping off the walls. - If your source code was correct, it might be enough, but it is not correct, is it? Your source code has bugs in it. If it was correct I wouldn't be looking at it. – A. I. Breveleri Jul 17 '18 at 17:29
1

Let's look at a hypothetical letter.

"I was working with this contractor guy. Bright, did excellent work, but he wasn't a good cultural fit, being overfriendly and sometimes overbearing. I figured that he's a contractor, I can deal with it. He worked with us about a year, and got the sort of projects a new guy could do well in, and he did.

"Then he got hired full time, and for a senior position that Joe or Katie should have gotten. How's a developer supposed to advance in this company if they hire seniors from outside? His personality differences are now really annoying, since he now manages me, and it doesn't look like he's leaving any time soon. He didn't try to fit in as a contractor, and he's not going to try if he thinks he's the boss. He's not good at managing, either.

"Then he was assigned to work on that part of the code that nobody's understood since Ernie and Madge eloped to California, and seemed to think he was owed an explanation for stuff none of us understands. He's making the money, he's got the position Joe or Katie should have had, so he should be able to figure it out as well as I can if he's that good.

"So, how do I deal with the guy, other than hoping he doesn't like it here and goes away?"

If you're going to manage people, you need to be able to understand how they see things. You're showing no signs of that. You get promoted to a senior position, and you don't know why the people who now report to you change their attitude. You think they should be happy to hold your hand as you look at some bad code. When they don't do what you want you think of bringing your boss in, rather than figuring things out yourself. You even miss the real problem, which is not that you went to permanent status but that you went to management.

This is exactly what you signed up for when you took the job, although not what you expected. Your choices are simple: learn to manage, or find a job that isn't in management. You may find that you don't like being management; it's not for everybody. If you want to give it a try, see if your boss has advice. Perhaps there's training you can get or books or blogs you can read. Try to put yourself in other people's positions and imagine what you'd be thinking if you were them for a start.

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