I have been working for a consulting firm since early last year. I’m a programmer and this is basically my first “adult” programming job I’ve had since graduating and briefly working part time as a coding tutor.
When I started at the firm I expected that I would be on one or more consulting teams and I would be learning/working with new and emerging technologies. Instead I was placed on a development team at a corporate banking client, working remotely with other employees of the bank. The bank has a big problem with turnover so having been there for a year I’m seen as one of the more senior members on my team and have been given more challenging projects to work on more or less independently. I’m responsible for the analysis, the coding and most of the testing.
I was assigned a new feature in early October. I was given a brief description of what the whole feature would do, but it wasn’t immediately clear which parts I’d be responsible for. It was a while before I was able to speak with folks about the requirements for my side so I realized I ended up doing work I didn’t need to. Now I understand the requirements but I spend more time researching than actually writing code.
I meet with my project manager remotely every day for standup and he’s always asking me for percentages of work done or some metrics for completeness and I don’t really know what to tell him so I just throw stuff out there. (“Oh probably another few weeks or so.”) I think for a while there I was just saying I knew what I was doing 1) because I was trying to “fake it until I make it” and hope that I make some breakthrough and figure it all out, 2) because in order to ask folks questions I’d have to understand the problem well enough to have some context for what to ask, 3) because the only two people, senior devs at the bank, who could help me have ten other things assigned to them each (not an exaggeration) and they can both be really flippant and unhelpful when I have reached out to them in the past.
I have so much pressure at the firm to put in a good face for the firm with the client. I have tried within the past year multiple times to get transferred to another role but I just get met with pep talks about how I’m “doing better than I think” and how “they really need me there”. When I express frustration with the bank’s management structure and levels of communication my handlers are like “yeah…some clients are tough!” So it seems like I’m stuck. Unfortunately I cannot afford to simply quit.
But I feel like I’m getting close to just blurting out that I don’t think I can do this at all the next time my project manager at the bank asks me how far along I am, despite supposedly having put work hours towards it. I have so much stress and lingering dread that I will be fired, that it will ruin my career, and that I can’t do anything to change my situation. It’s hard to manufacture enthusiasm for finding other jobs because at the end of the day, even though I’m not getting as much done as I need to, I feel burnt out with stress and don’t want to do anything resembling work. Frequently when off the clock I’ll randomly think about work while doing other stuff and I’ll break down and start crying. It’s bad. Every part of me just wants to be gone from this but I can’t leave and I also can’t make things better. The cracks are beginning to show and I feel like it’s not possible to get the support I need. Should I continue to push through the feeling that failure is inevitable and try to succeed? Or should I go mask off and hasten the end?
Sr Engineer here, 15 years experience
I’ll level with you, I’m all for fake it till you make it, it’s part of our jobs. Imposter syndrome is real and can be a struggle because we are smart, we are capable
However, there’s about a dozen red flags going off around this gig that are largely unrelated to you. A few of them I noticed
- The firm hired a Jr, it’s no secret that you’re a Jr. A common practice from firms is to label them as Srs even though they are not qualified. They do this frequently so they can charge more. Your firm put you in a position that you weren’t ready for. That’s not your fault. (I was labeled a Sr by my second firm after 2 years of experience. I thought it was a compliment. It was not. Looking back I was wildly Jr)
- I don’t see any actual process in the development - not even waterfall. This leads to exactly what you’re feeling - stress, unsure of what work you’re supposed to be doing, unsure of timelines, unsure of who even you report to or who the feature is for.
- No one gathering requirements. It’s true this is a skill I expect my engineers to have. My senior engineers. A Jr fresh out of college I would expect to be teaching them things like requirements gathering - but at the same time I’d put you on a team with a strong PM to help you get started.
- Your firm knows you are struggling and isn’t doing anything to help. This is the biggest red flag. I’ve worked with great firms. I’ve worked with firms like yours. Let me be clear. They are not working with you, they are not helping you. You provide them a service and they honestly don’t care how the project goes - they get their money as long as you stay at that company.
Dude(tte), I hate to tell you, but the best thing is to start searching for something new. I’m not saying within your firm, I’m saying a whole new gig completely. It’s going to feel wrong, like you’re burning a bridge, but from what I read they’re setting you up for failure. Take it as a lesson, know your limits. This is one of those things that we all have learned the hard way. (For example, in every interview I do now I ask “What is your development process like” and “What is your average workload”)
I’d stay there for now, but job hunt behind the scenes. Learn what you can, failure the best teacher is, but move on. It’s not you, your firm set you up for failure.
Let me know if you need any advice, I contracted for my first 8 years and I’ve gone through what you have. Always happy to talk about shitty consulting firms.
Thank you for your insight and words of support 😭. You’re right, I need to make getting out a bigger priority.
Piggybacking on the awesome response you have above here…
I’m classic ol’ middle management for someone just like yourself. My team is comprised of individuals where they’re in their first IT job and/or first professional job. A lot of my job when they come onto my team is to make sure they have the support they need via coaching from my end or connecting them to the right people to help them answer when I can’t. I try to keep the communication line open and stress that they can ask ANY question/there’s no such thing as a stupid question/etc…because everyone has to learn somewhere sometime regardless of seniority.
You need help defining scope and objectives basically to try and right the ship for the customer. If your firm can’t provide you the right support, specifically your direct manager talking to the customer to pull this info out of them, you can try to broach this with the customer’s Project Manager. Let me tell you though that bringing this to the PM is probably going to be an uncomfortable conversation. They’re likely to then going to question what you’ve been doing this entire time and you’ll lose some trust with them in the short term. Based on what you wrote here about breaking down as a result of this pressure, a hail mary pass might be the right answer and just get the lack of progress out there. Then you can hopefully get some structure/plan/goals to build up going forward.
Your manager really SHOULD be the one handling this on your behalf and a good manager can probably pull the requirements out of them w/o making it super obvious that you’ve basically been spinning your wheels. If you feel like your manager can’t/won’t provide that support, bringing it to the PM might force their hand to get involved.
Echoing a lot of other comments here, find something new. Job hunt on the side. It sounds like you’re not going to get the support you actually need so start working on an exit strategy. Having been in your shoes at one point, this reads very much to me like one of those things you’ll learn from and know what questions to ask next time because of how strongly this has impacted you. We all have these kinds of stories or situations and they help shape our gut feeling of what to say and when to say something if it’s off. Happy to help out if there’s a way I can as well!
All spot-on advice above. I don’t work in IT but just wanted to add that I learned that the hard way, many managers are simply not good at their job and know they can pull a bait-and-switch with newer employees. It takes a little bit of experience to feel confident enough to say “That’s not what I agreed to.” In the nursing world they call that someone’s nursing voice.
What helped me and might help you is reassuring yourself that what you’re currently doing is not what was originally discussed, and you are looking for a role doing X. It’s nothing personal toward them, it’s simply “I am looking for this certain role and quality that is not available in this current role.” I personally hated confrontation, so sticking with objective aspects helped make that uncomfortable change.
just wanted to say i agree with all this. i was sweating reading through OP’s story because i’ve been there and had to just get out because it was so demoralizing.
None of this is your fault, this is your company being garbage. Putting you in charge of all these responsibilities with a ~year of experience is a big red flag. Your project manager asking you to estimate your percentage work done is also ridiculous - people can barely get decent estimates with fully-dissected agile pointing, so I’m not sure how a “project manager” thinks that your guesses are useful data. If you’re not getting paid at least 6 figures right now you should hop to another job immediately. It won’t look bad on your resume to hop from your first job after a year and a half.
I personally wouldn’t stay with a company like this even if they paid fairly because the culture is borderline toxic/manipulative. I wouldn’t recommend you stay but the only reason I see in favor of staying is that you’ll learn a lot really quickly - at the expense of your mental, not being paid fairly, and potentially being fired.
Yeah the project manager’s job is to provide percentages to their higher-ups, even if it’s a dumb metric to go by. It’s not your job to provide figures as an entry-level developer.
Thanks for saying so; it’s easy to believe this is just how it’s going to be in any programming job and hearing how unreasonable this is from folks on the outside but in the field is encouraging.
The field of programming is so large that I’d hesitate to call any sort of company culture “the norm”, but I would definitely recommend you stay away from the bottom end companies like these. They’re clearly taking advantage of your inexperience and grinding you up for a quick buck, and they’re in no way indicative of a typical or fair programming position.
There is a kernel of truth in “it’s gonna be like that everywhere” – everywhere in consulting, that is. Consulting is its own special world where appearances can matter as much as results. Given how much the client pays for your time they damn well expect an expert who gives them 100% at all times.
I tried consulting as a developer, coming in with eleven years of experience. I didn’t last a whole year. It just wasn’t for me. Too annoying, too much focused on billable hours and appearances. I felt that I spent most of my time dealing with things entirely tangential to what I was there to do: Make software.
I’ve talked to a number of people about why I quit, from my boss at the consulting company to hiring managers to my new colleagues. All them said the same thing: Most people who leave a job at a consulting company do so because they don’t like consulting. Most often they sign up with their current client but if they don’t have one they like they do like me and take to the open market. Happened a million times before.
Consulting just isn’t for everyone.
My recommendation is to find a nice medium-sized company that you will directly work for as a junior developer. That should cut down on the bullshit to a fair degree and let you gain experience in your actual field, not in dressing sharp for your Zoom calls.
Being honest is never a bad thing, even if the short term effects are unpleasant, tell your manager that the project is overwhelming you , and that you need help.
There are people in your field who’ve already provided excellent advice, so I’ll just add that while it’s looking too late here, never ever be afraid to ask questions of your superiors, regardless of your experience level. Doing so is not a sign of weakness, insufficient schooling or being in over your head; rather, it shows that you are on board with the best possible outcome.
If you’ve been given a different impression by your superiors, you don’t have a “you” problem here, you have a “shitty management” problem. My most recent PM-cum-department-head role was mostly anticipating both client and team needs from standard production communication and proactively removing potential obstacles from those areas, which I don’t see as a boast so much as providing the minimal acceptable level of support (there were still a lot of meetings and rampant political bullshit that ate up hours).
I told my team my expectation was that they were hired because they already were proficient at the job. As such, any sort of terminology or concept misunderstanding was not a reflection of their skills, so questions were preferable to guessing. More importantly, I expected them to grow as time passed, and growth comes from one primary source: mistakes. Which I explained thusly: “I don’t care how many times you fuck up so long as it’s a different fuckup each time.”
You appear to have no support from those theoretically charged with ensuring your success. That could be a lack of reaching out on your part, but as it sounds systemic, I’m inclined to just agree that it’s time for an exit strategy. I’ve found that my lame-duck periods (when I’ve decided to start looking or already given notice) have been when I’ve learned the most rapidly about methodology and motives. Asking “why” when you have little to lose somehow hits differently, and you may be able to get some insights that you’d otherwise be too afraid to ask for – and that may turn out to be relevant in five or 10 years, even in a completely different field.
Remember too. One has to define scope and one has to push back too and resolve the difference between the ask and the doable. Projects always have a triple constraint… Spec, time, money. Plus the 4th unmentioned constraint, risk. The point of project management is to resolve these.
On a personal level you have to know what your willing to do and not willing to do, and the consequences and act accordingly.
There is also the other rule, under promise and over deliver.
Remember too. One has to define scope and one has to push back too and resolve the difference between the ask and the doable. Projects always have a triple costraint… Spec, time, money. Plus the 4th unmentioned constraint, risk. The point of project management us to resolve these.
On a personal level you have to know what your willing to do and not willing to do, and the consequences and act accordingly.
I’ve been meaning to create an account on Beehaw, your post was the final push I needed.
I’m a senior dev, also with 15 years under my belt. It may help with gauging what to do with my 2 cents.
You’ve been put in an impossible position by the firm you are working for. This is definitely not a “fake it till you make it” situation, this is a quick way to burnout. Please listen to the great feedback in this thread: this is not your fault, you’re actually doing a great job by keeping your head above water. But this is not the way to start your career. What you need is an appropriate role where you can grow. This includes mentoring and space for you to make mistakes. I personally don’t think you’ll find that at a consulting firm. They are notorious for dropping their employees in jobs that do not match, counting on you to fix it or cash the checks until the client to drops you. Very few people will dust off and continue, I know I couldn’t.
You deserve better. You deserve a place where you can be open about your abilities. You deserve a place where people have you back, this is very important. Places where this culture exists are definitely around. Your best bet to find this is at companies that have their own software product, they usually will want to invest in their employees’ skills and know how to get you to a next level.
Good luck man. It’ll be a little rough before it gets better, but you’ve got this! Keep us updated.