Did my manager expect too much, or am I being screwed.
Posted by Morphoopus@reddit | ExperiencedDevs | View on Reddit | 46 comments
I took a contract-to-hire position almost 6 months ago. My manager has decided not to bring me on full time, but has stated that my contract will be renewed. The reasons cited are weighing on me heavily. I want to understand better if this decision was justified, or if I am getting absolutely screwed.
The position is in Austin, Texas. I was making 65/hour as a contract SWE II with no benefits (approx. 115k adjusted). I was hired along with three other developers, all of whom have at least 5 years in the tech stack.
I had 6 YOE in an unrelated tech stack. I was expected to ramp up in the following technologies over the course of the contract while also being highly productive from the first 2-4 weeks onwards:
- Java
- Terraform
- Github CI/CD
- Dependency Injection
- Docker
- Kubernetes
- Google Cloud Platform
- SQL (I mostly had to deal with a no-sql database at my previous job)
- Relational databases
- Bazel
- Unit Testing in java mock objects
- protobuf and GRPC
- Object-Oriented programming (I was in functional programming before. Yes, my first job was in FP).
- Domain-specific industry knowledge.
- Several other things I can't remember.
Most of this technology is new to me. My first job was relatively specialized and didn't or couldn't adopt cloud tech. I was very clear before getting hired what my experience was in. I was clear that I was looking to make a jump.
Around month 5 I talked with my manager, who raised concerns about my performance compared to my coworkers who are
- 5 years experience java
- 25 years experience java
- 20 years experience in various stacks + masters degree
who were hired at the same hourly rate and who he claims (correctly) were producing more than myself. These three engineers are getting full time offers, while I'm the odd man out with my promise of an extension.
My manager never made mention of any of the value I provide with regard to technical opinions around the functional-programming related features of java. This is important because I know some techniques that can make our code more durable against AI shenanigans and also reduce the need for unit testing. I am also aggressively experimenting with AI to a greater extent than the other devs.
I feel that my performance compared to the other engineers has reflected the steep learning curve of the tech I'm dealing with. On one hand, my career jump has forced me to accept lower pay. On the other hand, I feel that the breadth and depth of tech I've been asked to learn reflects near-senior-level responsibility. It feels like I was set up to lose unless I put in lots of unpaid hours to make up for the skill/experience gap (which I have occasionally done).
I don't think I deserve a senior title and pay, but I also don't believe I deserve what appears to be junior level pay. I believe I should be getting at least mid level comp in line with what that means in the Austin market.
Is anything about this situation reasonable?
ExperiencedDevs-ModTeam@reddit
Rule 3: No General Career Advice
This sub is for discussing issues specific to experienced developers.
Any career advice thread must contain questions and/or discussions that notably benefit from the participation of experienced developers. Career advice threads may be removed at the moderators discretion based on response to the thread."
General rule of thumb: If the advice you are giving (or seeking) could apply to a “Senior Chemical Engineer”, it’s not appropriate for this sub.
howdoiwritecode@reddit
I think what you perceive as unreasonable is more misunderstanding the situation.
You were brought on contract to hire alongside 3 others, all with more experience, at the same rate. At the end, the company has to decide: are you worth your pay? Relative to the others, you’re not.
As a contractor, you’re technically self-employed selling your services to one client. This client is realizing they can get more experience and quicker results for the same pay elsewhere in the market. They brought the other guys on because they will pay the increased costs for their deliverables.
Do you think it’s fair to the other guys they have to work with you for the same pay?
Morphoopus@reddit (OP)
Legally, I'm working for another org and I'm on a W-2. Presumably, the contracting firm I'm working for is trimming a lot off the top... If my current employer had provided benefits and market r
It speaks to the weakness of the market that they took these jobs at all. Believe me, they got mega-fucked. But they are being given massive pay increases along with the increase in employment status.
Maert@reddit
You never answered this question.
Fair_Atmosphere_5185@reddit
And they would be taking on the legal risk of a lawsuit if they terminated you. You never when hiring exactly which person is going to have some made up disability they are going to bandy about in your face costing you tens of thousands of dollars to let them go. I've lived through some truly awful people leveraging a diagnosis made by a quack to make things awful for dozens of people.
C2H at least helps alleviate some of that risk
skymallow@reddit
I agree with the others saying it's surprising you were hired along with guys who had more experience than you in the stack, on the same rates.
Without getting into specifics it sounds like they took a punt on you, and maybe you have merits but you're simply not putting out the same output as the more experienced ones. Like yes learning a lot of new technologies are hard, but engineers never get brownie points for hiring.
I have also seen in the industry tons of cases of someone getting hired as a "senior", coming in below expectation, and just never getting promoted.
Ultimately I would say you just have to never assume that a contract will ever get renewed/upgraded.
Just_Deal6122@reddit
Why bring you on full time if they pay you $65/hr with no benefits. Maybe he wanted you full time but was told no because you are cheaper for them as contractor than full time.
Either way, I would be looking for a full time role elsewhere.
Eastern_Interest_908@reddit
Idk what to tell you. Half things you listed is something that every dev should know.
Slow-Bodybuilder-972@reddit
So you agree your co-workers are producing more than you?
That's just how it goes, they provide more value, so they got the jobs. Maybe if they had 4 positions available, you'd have got one, but maybe they only had budget for 3, so the chose the best candidates, it's unfortunate for you, but perfectly reasonable.
Maybe your FP experience brings value, maybe it doesn't, I don't know, but not enough I suppose.
From my point of view, it seems reasonable, unfortunate but reasonable.
sutsuo@reddit
Whether these expectations are reasonable really depends on what level of productivity they expect to get a full-time offer.
That list of technology is a pretty standard level of expectation for an sde2 position though. You listed a lot of stuff, but a lot of it is completely basic in a generic sense. Like it includes some common language (java), cloud templating (terraform), normal dev process stuff (dep injection, unit testing, repository), using cloud services, and databases. Basically every dev job requires that stuff.
I don't want to come off as mean, but I will call out that you made it sound like object oriented programming is new to you, which is a very basic skill honestly. I'm sure you'll pick it up fine if you can do functional, but I expect a new college hire to be strong at object oriented programming already.
Granted you're not going to just beam all the information into your head overnight, and in general dev work tends to have decently high expectations, but it's normal to expect a 5yr dev to have done those things before, using maybe different specific technologies. The transition to a new specific set of technologies shouldn't really take that long to become productive because every technology is kind of the same as all the other ones that solve the same problem.
It honestly sounds like you're not doing bad if they are giving you another contract. It's reasonable that you may not hit their requirements in 6 months if you haven't dealt with certain types of technologies or development before. You probably will in the next 6 months.
Morphoopus@reddit (OP)
The tragedy of being a functional programmer is that you are expected to know OO at a level equal to your expertise in FP, while OO programmers won't ever be tested on their knowledge of FP. For this reason, I would never advise anyone below 5 years experience to take an FP job.
That said, I do 'know' OO, but my strong bias is to apply FP. I do indeed struggle to apply some OO patterns when I know simpler, more useful ways to just do it in FP.
Truthfully, the logical thing to do would be to ditch OO and stick with FP. I tried to do exactly that, but there just aren't any decent jobs for it right now.
sutsuo@reddit
Yeah I agree. I've done some functional programming too and I like it a lot that pretty much everything is object-oriented.
Fearless-Top-3038@reddit
you're fighting an uphill battle with your insistence on FP. You can mix the OO class approach with functional pipeline style programming, but your manager won't appreciate it so much as your raw velocity and cohesion with the project/business. Your choice of technique is not a differentiator, you need to frame your value in terms of outcomes
Morphoopus@reddit (OP)
What I've been trying to argue for is not so much functional style, but for an increase in typesafe programming by favoring certain Java constructs and patterns over others. I'm the only person on the team who can provide these insights. Lately, the senior and I have been having conversations about this stuff. He has adopted more and more of my advice. But it turned out these positive developments happened AFTER he told our manager he was on the fence about me.
It was this revelation, in fact, along with these developments, that got him to provide our manager with his updated opinion that caused my manager to renew instead of terminate. If he hadn't dissed me earlier on, I'd have a full-time offer in hand.
davearneson@reddit
From my perspective, this is mostly an organisational problem, not a personal failure. You were asked to switch stacks, absorb a huge amount of new tech and domain knowledge, and still match the output of people already experienced in the core stack. In any realistic engineering environment, that kind of ramp up takes time and senior support, so the productivity gap they’re pointing to was largely inevitable given how the role was set up.
They also wanted senior-level breadth while treating you like a low-commitment, low-risk resource. Hiring you at the same rate as much more experienced Java engineers. Converting them and keeping you as a contractor, looks like a short-term cost play, not a serious investment in your growth or your FP/AI strengths.
When your manager frames this purely as “your performance,” I don’t buy it. You were competing on an uneven playing field. In racing terms, they put you in a completely new, complex car and expected you to match veteran lap times, then blamed your driving when you didn’t. Your sense that the expectations were unreasonable and the outcome unfair is, in my view, justified.
peligroso@reddit
Judging by this trainwreck of a thread, you have to admit that you are VERY junior for 6yoe. Big red flag.
Morphoopus@reddit (OP)
Umm don't believe what? That I have 6 YOE?
w0m@reddit
6mo trial-to-hire w/ no benefits, with 5 yoe? I'd be job hunting from day ~1.
Morphoopus@reddit (OP)
Between the rigors of trying to rebuild my social life so I can stop being perpetually single, I have been searching... It hasn't been going well. No interviews in the past few months. Granted, I've substantially slowed down on that front.
compubomb@reddit
That is because we're getting close to the end of the year. Once the new year starts everyone will contact you back in droves.
compubomb@reddit
Your manager is playing favoritism games. Find a new gig.
rende@reddit
Price is a result of supply and demand, and to a degree how it may be distorted from a perspective. You clearly feel you have more potential, it is up to you to show that. Do many things, learn fast, but double down on what is working and present that like its your marketing.
liquidpele@reddit
You didn't have the experience they needed and didn't have the experience to pick up the new tech quickly, frankly they really shouldn't have hired you to start with.
Morphoopus@reddit (OP)
This is more complicated than you think. What's so frustrating about my situation is that I have, indeed picked up the new tech quickly. In fact, I'm ahead of the pack a few specific areas. It's just that my performance overrall hasn't been as consistent or fast as engineers more experienced than myself.
We were hired to rescue a project that was about to fail utterly owing to a bad bout with some offshore outsourced contract engineers. Simultaneously, they needed highly experienced devs to save the project, and also wanted to pay next to nothing for those devs. Now, as a result of all of our efforts, including my own, the project is not only doing well, it's also gaining notoriety amongst the executives.
RandyHoward@reddit
You had no experience with some important things that are really limiting your ability to get a job. SQL, relational databases, object oriented programming, and dependency injection are all pretty fundamental to a lot of roles in this field. Hopefully you have learned quickly over the past 6 months.
I can’t pretend to know how your performance was, but I can imagine your peers got their tasks done quicker at minimum. Though I don’t believe you should be looked at the same as the others, reality is that’s what your boss is doing.
I don’t really think you’re being screwed though. Your boss is giving you a chance by extending your contract. They’re saying you’ve got potential, and they’re hoping to see that potential in 6 months. Being screwed would be not renewing your contract at all.
Yes, you’re being underpaid, but you’ve kinda put yourself in that position because you weren’t up to speed on some fundamental stuff. I wouldn’t expect anybody to know everything in the list of stuff you had to learn, but a few of those are fundamental to most roles in the field. You set yourself behind by not learning those fundamentals off the job.
If you think you’ve got those fundamentals down, start looking at other jobs. Even if you accept your contract renewal and can’t accept another job until the renewal is over, interviewing will give you a feel for how much more you need to hone your skills.
But your employer isn’t screwing you. They probably expected too much, but you’re not being screwed either.
originalchronoguy@reddit
People are not going to like to hear this but a contractor is a "hired hand." There is no ramping up. Unlike FTE, they are expected to be delivering. Often as soon as day one. They are hired guns, contracted to produce deliverables.
This was actually a shock to me when I talked to an HR person about it. I was told not to train nor give career mentoring because all of that falls under the realm of W2 employee. In California, and in other states, misclassifying a role (employee vs contractor) can have serious implications.
A contractor can have their contract terminated if they are not delivering. Based on the SoW. No messy legal HR mess. No need for PIP (Performance Improvement Plan). They are expected to already know the technology.
The way HR person explain the nuance to me really open my eyes. When you are hiring a contractor, you have a large wide net of candidates. They either are qualified or not to deliver. So in a way, if the hiring manager is expecting a set of skills, they , as the customer, are entitled to that. And it was described to me -- the contractors should not be learning on company dime. They are suppose to be producing a set of services or product (a widget).
I would be looking for a different job if the project/contract is not a fit.
Morphoopus@reddit (OP)
It sounds like this perspective is influenced by California legal structure?
Also, I was told by the manager that the full time seniors we'd be working with would provide mentorship. We were also mostly treated as regular employees. I was told it was C2C. I was clear about my experience, and I was still compared to the more experienced devs.
originalchronoguy@reddit
It sounds like this perspective is influenced by California legal structure?
Correct, this is based off CA AB5 law that passed in 2019.
theprodigalslouch@reddit
I want to start by saying I very much understand what you’re dealing with. Learning curves can be detrimental to output. I’m going through something similar and it can suck when you’re expected to be outputting from the go.
A couple things to note. Are you asking to be paid similar amounts to your teammates?
While learning curves are a factor, you can only be valued for what you produce. Your manager needs to be sure that you will be able to produce at whatever he/she considers an acceptable level. Best case scenario he/she thinks you have the potential to get there. They don’t think you’re at that level yet. You will also have less negotiating power if you yourself recognize that you are less productive than your peers. In the best outcome, you get there within the next 6 months and have the material needed to negotiate for what your peers are getting. It sounds like your manager is cautious and wants to see you get to the level of your peers before offering you the position.
Morphoopus@reddit (OP)
I am absolutely not expecting to be paid the same as my teammates. In fact, I find it abominable that we were ever paid the same. But I do think my pay should be in line with that of a mid level engineer in the Austin area.
cgoldberg@reddit
Probably not... but it was reasonable to your manager and that's all that matters. If you are unhappy with the situation or compensation, you should polish up the 'ol resume. You're not going to convince your manager he made the wrong decision and really wants to hire you. If you don't think it was justified, you need to accept it... or find something else.
No-Economics-8239@reddit
What are you comparing your expectations against? Are you getting paid to learn these new technologies? Is that worthwhile to you? It sounds like your manager is comparing you against these other devs who already had bigger head starts in these tech stacks? Are they being screwed because they were offered the same initial deal as you?
Asking if you are 'being screwed' is a strange perspective to me. Most of us are 'getting screwed' when you compare corporate profits to employee take home pay. How much would those companies be worth without us? Should we have negotiated better? I have 30 years of experience and am constantly told I have been extremely short-changed in compensation compared to what I 'could' or 'should' have been able to make. Was I? Compared to whom?
Of course, these big corporate profits are a pretty small number of companies compared to how many are out there struggling. Is that fair? Are these other companies being screwed?
If you're asking if you could make better benefits, I have no idea. If you are asking if there are jobs with better benefits out there, then yes, absolutely.
St0xTr4d3r@reddit
What do you consider mid-level comp? Here in Los Angeles most contractors are making $75 per hour, although some with benefits. If that’s in line with your expectations, move to any other metro.
Anyway most MBA’s are taught that a new worker needs 9 months to get up to speed. With a contract involved obviously they won’t budge on pay or permanent status until 12 months.
Morphoopus@reddit (OP)
It's hard to say with the state of our profession being what it is. I think 120 base + healthcare and PTO would be acceptable to me.
friendlytotbot@reddit
I think it’s unfair for them to expect you to at the same level as the other engineers given your background. They should’ve realized you might not be the fit for what they need or want, but there’s a lot of incompetent management out there. Try your best with what you have. Study more of the topics you’re weak on, look for other jobs in the meantime. For what it’s worth, you probably don’t need to be an expert at all of it. Learn what you need to.
phoenix823@reddit
Honestly I'm blown away you got this position to begin with. You don't have any experience with the technology stack or the domain and not only did you get a job, but you managed to extend the contract for six more months. $65 an hour might not be a terrific salary, but you are literally getting paid to learn. Not only that, but they are renewing you so you will have a full year to learn. Expecting mid-level comp to learn a stack virtually from scratch is not reasonable.
But this also is not a permanent situation. If you're able to get your productivity up to the level of the other three developers by the end of your second six-month contract, you very well might get a full-time position. I would be transparent with your manager that is your goal and then work as hard as you can to get up to their level of proficiency.
Calm-Medicine-3992@reddit
Contract-for-hire is just temp work 75% of the time.
AshamedDuck4329@reddit
sounds like they set you up to fail, expecting quick ramp-up in new tech while comparing you to experts. typical. consider leveraging your fp insights more visibly.
Morphoopus@reddit (OP)
Man, I'm trying, but these Java devs just do not care. The manager is an older gentleman and has no concept of that stuff.
tn3tnba@reddit
I made a similar jump and it took me a lot longer than 4 weeks to get really good at a list like this. I was expected to be productive pretty much the first week but had to pick on piece and focus. Like you said, there was simply no way to catch up without a lot of unpaid hours studying. Others may have better ideas.
Is the extension intended as more ramp up time and is the full time offer at much higher pay? Contract pay seems low for someone who is actually good at this whole list
mohamadjb@reddit
Look for another place, and when you do find another and they tell the offer then tell this previous manager if they can top the offer, don't waste more time getting screwed in this place
foo-bar-nlogn-100@reddit
Backend java CDI enterprise stack is always in demand. Think of it as getting paid to learn the stack and getting to read and review source from seniors.
Gemini 3 pro will help u ramp up quick.
SpiderHack@reddit
Reasonable, no, but that is the truth of working in America. You aren't entitled to the Freedom from Want (of basic needs). FDR died before he could push for it. (Look up FDR 4 Freedoms if you are curious).
Them wanting you to onboard with that list of tech in 2 to 4 months would be a big ask, let alone weeks. That indicates that you should never have been hired.
When I moved to contract work, I got full health insurance, 401k (no match for 3 years, but still) and pto, etc. being a contractor for a company.
Regardless, none of any of that matters and you need to move on and keep applying.
throwaway_0x90@reddit
Too subjective, there's no definitive answer. You get whatever you can negotiate and every situation is a unique snowflake.
reboog711@reddit
To answer your question:
You are not getting a full time offer because your performance, experience, and knowledge, is less than others on the team in a similar situation. Yes, that is reasonable.
Contract-to-Perm is never a guarantee.
It does sound like you're getting low pay for a contractor, but you did agree to it. You can decline the contract renewal and look elsewhere. Or take it and look elsewhere. Or take it and continue to learn these new technologies on their dime.
PhillConners@reddit
You know I’m not sure but I will say sometimes it’s less about what you know and more about how you talk to problems.
The job market is so tight right now as well, it could be any number of things. I have hired shit developers because we were desperate for help and let great developers go because we didn’t have the budget…
It’s just a finicky market and anything can happen. But you can always improve at showing off more