24

I've been working for a small consulting company, hired out to a different company, doing "qualified-but-not-really" projects for two years. My goal is to get into development, but my academic background is shaky, with a technical, but non-CS, bachelor's degree that I finished late.

About six months ago, me and a colleague got assigned to a project doing JS/Node-development for a small client in a different country, doing close-to-the-hardware-stuff. For him (the colleague), this was supposed to be paid work. For me, this was supposed to be training (non-paid, non-scheduled, remote, on top of my already full-time work), with minimal responsibility (or at least that's how I understood it).

The whole thing collapsed horribly. No meetings that led anywhere, the only on-premises guy who had been working on the code was basically out the door, there was no project owner or lead, and no spec, no tickets but the ones I wrote, no QA, no nothing. I didn't have access to the hardware, so I couldn't experiment my way to how the thing worked.

I ended working on this alone, in isolation. Later I found out that my colleague (who is supposed to be an experienced dev) simply told our boss (who were negotiating with the client), that the project is too hard and quit it. I also found out that the client weren't paying for the work my colleague did. I ended up trying to help however I could, but nothing was working. I couldn't even run the code (since I don't have the hardware).

After about four months of trying and failing solo-style, I scheduled a meeting with my boss, and told him (almost through tears) that I'm quitting this project. He first told me that as far as he knew, the project had been frozen for some time (news to me). Then he scolded me, and told me that developers need initiative.

This whole mess has left some kind of scar in me. Months later, I'm still trying to figure out what happened. I can't even figure out whether it's all my fault or not.

Since then, any talks about other dev projects have died down. But I'm still aiming to become a dev.

I have a couple of questions about this:

  1. Is any of this normal? I've been told it's always like this, but I have a hard time believing that.
  2. This is so far my only "real" experience with dev work outside school and personal projects. I feel like I can't present this experience like work experience. Is my career savable? Can I mend things with this employer (the consultancy firm, not the client)? How should I go about presenting this to other employers? Or not present it at all? How do I do damage control on this kind of thing?
1
  • 1
    Comments are not for extended discussion; this conversation has been moved to chat. – Neo Jan 18 at 17:54
69

1: Is any of this normal?

Yes, there are a TON of totally incompetent managers around. Why incompetent manager? Because you can not have your cake and eat it and a manager should manage.

He first told me that as far as he knew, the project had been frozen for some time (news to me). Then he scolded me, and told me that developers need initiative.

So, you trying and failing is not showing initiative? But him, being the person coordinating, either not telling you as developer the project has been frozen OR not even being aware of you working on it, is not a sign of absolute and total incompetence? Wow, what a manager. Or what a setup, where resources work for some time without being accounted for and the people managing the resources do not know that. THAT is what I call incompetence. Beats anything I have seen in 30 years.

I do software for around 30 years, with interruptions. I have have been in leading positions quite often and am. I can not imagine on one side not working with a junior regularly to get status reports (at least monthly), and I can not imagine having resources working on a frozen project. That costs money - you cost money - and that is a sign of someone not being in control of his people, AT ALL. Such a shame of a manager should not talk about initiative.

Is my career savable?

It has not been damaged. I would look for another job, though, because what you told me is that the next manager is a moron.

Can I mend things with this employer (the consultancy firm, not the client)?

Well, I would basically file a complaint about that - because the last thing someone starts better doing is blaming me for them being an idiot. And again, I have serious problems with a manager not telling a resource the project is frozen. Do you WANT to salvage that? Start looking for another job.

How should I go about presenting this to other employers?

Positive. You are a junior developer. No need to talk about the failures. List work experience. You an not go into details ANYWAY due to NDA. Say what the project was about, what was tried, what technologies. Any question about success you either redirect (projects get canned ALL THE TIME) or say you are not allowed to disclose client details.

How do I do damage control on this kind of thing?

As said above. There is no real damage for a junior developer here.

9
  • 8
    Good Answer. I suggest adding a note explaining that this was actually a good experience in the long run. (a) Seeing how not to run a project and company can be more instructive that seeing a smooth-running operation. (b) This experience shows how most software development projects fail because of management troubles rather than technical issues. – Basil Bourque Jan 17 at 5:46
  • 3
    Not part of the answer, but yes - totally. See, the moment you turn from Junior to a higher rank - a lot is about real world experience, and you seriously must experience this (which is why # of projects done and time in profession count to make someone senior) to know how ridiculously stupid some organisations can be and how much off the rails things can go. This definitely put up some experience into the "ok, some orgs are run by monkeys pretending to be smart" category. As I said - beats anything I have seen in 30 years. – TomTom Jan 17 at 10:08
  • I can see things from the manager's POV, though. Your criticism would seem far more valid if user123557 was a resource like a paid staff member. Apparently (s)he was just a freebee, and so management may have viewed as essentially a non-resource, with management's main task was to prevent them from causing trouble, handled by assigning the freebee to a lower staff member. Then that staff member turned out to not be good (quitting because it was "too hard"), so now the need to oversee the almost-crying freebee went from being handled, to an issue needing attention. – TOOGAM Jan 17 at 21:41
  • I doubt he was not paid - if he is paid, he is not a freebie for the company. I did not take it he was a freebie - "I've been working for a small consulting company, hired out to a different company,". Sounds he was offered for free, but still paid. That means loosing money every hour - good as part of a package,VERY bad as a resource working on a frozen project. – TomTom Jan 17 at 21:53
  • 3
    While I would agree that the manager has not performed well here, there is an important lesson to learn here for the OP - 4 months without a checkin with your management is far too long. We do this daily (5 mins) and it's invaluable. – Paddy Jan 18 at 10:58
19

You didn't do anything wrong other than maybe not talking to your manager sooner about the problems you were facing. You haven't ruined anything about your career.

You don't need to do damage control, the project just went sideways. These things happen and it's a failure of management rather than yours. You're just out of college, how can you be held responsible for anything?

6
  • 1
    This answer mentions the only thing you could improve yourself: Give a status update. It's not really the responsibility to give one, it should be asked. But when not asked, give one :) – Martijn Jan 18 at 9:02
  • 1
    He has probably slightly ruined his chances with this employer. BUT that is an employer you'd want to get the hell away from anyway – Hobbamok Jan 18 at 9:55
  • @Martijn Somewhat disagree with the "status update should be asked" part of your comment. I would expect there to be a simple process of a daily (at most weekly) meeting/standup in which a status update is given on things done since previous meeting, currently in progress and planned until next meeting, it's just crazy to assume every needs to always be asked, should just be "normal process". But as the answer says: this is a good lesson for the OP to learn either way. – rkeet Jan 18 at 14:16
  • 1
    @Martijn Status updates are helpful but I'd argue they're not mandatory to the point of making sure they happen if your manager isn't asking for them. If everything is going well, there's generally no need to pop your head up and say so. But as soon as you hit a roadblock or something happens that affects your ability to deliver on time, THAT's when you need to speak up and get things sorted so you can get back on track. – aleppke Jan 18 at 17:26
  • 1
    @aleppke Not that this happened to OP, but you'd probably also want to give a status update when visible progress has been made. This is partly because managers like progress, and like reporting progress to their managers, customers, shareholders, board etc, and partly because once the progress is visible, this is often the point where it becomes clear that what you were asked to do and what was wanted are not quite the same thing. – James_pic Jan 18 at 18:10
9

I ended up trying to help however I could, but nothing was working. I couldn't even run the code

You basically wasted four months of your time since you weren't getting paid. You should only have been working on tasks given to you, not trying to do anything yourself.

Having said that, going on the information provided your manager is partially to blame as well, for not knowing what was happening.

Just move forwards from this and learn what lessons you can from it.

5

Then he scolded me, and told me that developers need initiative.

For someone who didn't pay you, he sure has some nerves.

If you're willing to work for free without any close mentors or without any close supervision, like you were willing to in this case, work on your own project instead.

With your own project, you can control the scope of it. With your own project, you can publish it on github. And it's much easier to have initiative on something that you actually own yourself.

7
  • 2
    I am fairly certain that "unpaid" in this context means the client was not paying for OP's headcount, not that OP was literally working for no money (i.e. the client paid for one engineer, they got one + OP). But agree that, if OP really was working for no money, then they should stop doing that immediately. OTOH, consulting firms are weird and it may be possible to come up with a sensible way to make this work (e.g. if there's a large base salary and some jobs pay extra on top of that?). – Kevin Jan 17 at 6:00
  • @Kevin, I don't know. From what he is saying, it doesn't seem like he's working on anything else. So if he's not working on anything else, why would they pay him? It just sounds to me like he's doing some sort of internship (a very poorly structured one). – Stephan Branczyk Jan 17 at 10:57
  • 3
    @Stephan Branczyk from a european consulting company perspective we do things like that regularly, doing that means we can add some technologies to the CV of a junior developer that can enable us to charge the next client the rate of a developer with experience. So basically the company investing in its resources taking a small cost now for greater profits in a couple of months. – lijat Jan 17 at 11:18
  • @kevin I don't see how a guy with basically zero experience could go 4 months with zero contact with management and still get paid. Even a senior would have at least 1 meeting per business quarter (way more if in an agile system). I'd expect the guy to get fired within 1 month. Maybe 2-3 if that was a probation period and management was too dumb to fire him sooner. I'm not saying it's OP's fault he dropped the ball tho. This is all on management here. – HenryM Jan 17 at 13:43
  • @StephanBranczyk: It's actually fairly common for consulting companies to pay people who are "on the bench" (not assigned to any project) for at least a short period of time, because it's cheaper than constantly firing and re-hiring people every time a contract is signed. The downside is that you have much less control over your career and may get asked to work on technologies which nobody else wants to touch. – Kevin Jan 17 at 20:14
3

I've been working for a small consulting company, hired out to a different company, doing "qualified-but-not-really" projects for two years.

About six months ago, me and a colleague got assigned to a project doing JS/Node-development for a small client in a different country, doing close-to-the-hardware-stuff.

Good news - it's not all been a write off. Depending on how you word it, you now have 6 - 24 months of experience as a professional developer, which will help your resume stand out from others applying for junior developer jobs.

Don't be negative about your awful (soon to be ex) colleagues in your interviews - focus on what you've learned, and how you'd prefer to do things in the future, with the benefit of your current experience.

I feel like I can't present this experience like work experience

Of course you can. It is experience. Someone who's taken some knocks and kept going is worth way more than someone who's never faced a single challenge.

0

Firstly, the good news: your future employers only know the things you tell them about your previous work. Nobody's keeping score. That's why so much weight is put on interviews.

Secondly, software projects fail all the time, often for stupid reasons. It's endemic. It's not usually a stain on any individual career. But it can be traumatic, and I'm sorry that has happened to you here.

I ended working on this alone, in isolation.

You tried to carry the weight of the world on your shoulders, and it was too much.

told me that developers need initiative.

What he meant was "why didn't you come to me earlier?".

If there's one unambiguous lesson from Agile, it's that projects need a regular stream of contact between the developer and those for whom the software is being developed. No project should happen without at least a weekly status report; that can be a few sentences verbally in a meeting, but it needs to be mentioned. That would have provided an opportunity for you to mention that you were not making progress and for them to mention that the project was frozen.

This is their fault, not yours.

How do I do damage control on this kind of thing?

Don't. It's sunk. In fact, other people had forgotten about it. Move on. The best response is to focus on quality delivery of your current work.

0

Other answers have pointed very well how the situation was badly managed, I will just add some advices about these specific points:

Is my career savable? Can I mend things with this employer (the consultancy firm, not the client)?

  • Your career hasn't been damaged as others have said, and you can take the opportunity to learn some things. First, learn to recognize what is salvageable and what isn't. You can't correct bad managment if your situation grants you no power on it. It is usually a red flag that suggests you should move on and change job, most of the time, all you can expect from bad managment is more bad managment. And in the end, the blame may even be put on you. Sometimes people don't deserve things to be mended, do your work conscientiously and that'll pay over time.
  • Also, learn to recognize patterns for bad projects. The fact you had to code for a hardware you didn't have access to is a thing sometimes. But the fact that you weren't provided a suitable test environment for this hardware is a big red flag. With experience you'll be able to ask precisions/ressources straight from the beginning when you see things likely to become a mess.
  • In work, don't take things too personal, sometimes you are between the hammer and the anvil, and your boss easiest solution is to put blame on you not to look like a fool in face of the client. As long as it's just an excuse and your boss doesn't actually scold you or your reputation is publicly damaged, these are things that happen. You shouldn't take all failures as own personal failures.
  • Most of the time, communication is the key. Don't hesitate to ask confirmation in case of doubt or before going all solo work, preferably in written form and keep the answers. This can help you a lot facing managment/clients with bad faith.
0

This is not your fault.

It sounds like you "fell into a hole". That is, your project was unimportant enough, and your role minor enough, that when the project was scrapped, nobody remembered to tell you about it.

That's unacceptably unprofessional behaviour from the part of everyone else involved - not you. In particular, your so-called manager is the primary person responsible for ensuring you have work and are getting through it, and they utterly failed to fulfil that responsibility. A junior team member needs more communication not less, and you didn't get any.

For this sort of thing to happen is quite possible in a large corporate, but in a small consultancy it has me scratching my head. Developer time is an incredibly precious resource, especially so the smaller the company involved - how is your company affording to pay you if you've spent four months working on something that they aren't being paid for? I suspect some sort of billing fraud by your employer.

Your career is absolutely salvageable because you don't really have one yet. That's the advantage of starting from the bottom, there are no expectations; the disadvantage is that there are a lot of people starting from the same place as you. And you at least have some experience to put you slightly ahead.

Whether you want to count this as work experience is entirely up to you. That said, if you do, you are likely to be asked about it - and considering you didn't make much headway during this time, those might be awkward questions. Alternatively you can simply say that those 4 months were part of your "standard" job spec (so if you were writing web apps for 8 months before that, just say that you have 8 + 4 = 12 months' experience writing web apps). The most important thing is that you now have first-hand life experience of "how a dysfunctional company runs" so that if you're ever in the same situation again, you'll recognize it and be able to act to prevent a similar outcome.

I personally would advise finding a new job ASAP (which I appreciate may be difficult at this time), because it seems like your current employer is either incredibly incompetent or is engaged in some shady practices. You other option is to have a meeting with your manager and ask them why the hell they didn't check up on you for so long - and if you don't get a satisfactory answer, feel free to escalate the matter. Just be aware that by doing so you might upset your manager (which honestly doesn't sound like the worst thing in the world - you might end up being reassigned to work under someone who is actually competent)!

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .