30

I really need general consensus between experienced developers on my scenario below.

I have a situation at a small company where the only developer was fired. My position was a field technician and they wanted to move me into a hybrid role as a field tech & full stack developer. This didn't seem official because there was no pay change or paperwork changing my job title or description.

They're now saying that I can become a senior full stack developer by developing a new program and some of the code from the old app to a newer app I'm creating in WPF. Also, migrating some old database they use for quoting & PO's to a newer version that can be tied into their portal/website.

Not only did they not raise my pay, they didn't even officially make a lateral move with paperwork with my position. Not only does this seem sketchy, it seems impossible. I have a diploma in programming & an advanced diploma in electronics engineering. I don't have any experience in either of those fields other than maybe some transferrable skills from manufacturing facilities as a floor worker.

I don't find it possible to go from being a junior to senior level full stack developer in only a couple years (or however long it takes me to code them the 3-4 apps they need me to create). Maybe it will take me 4 years, then it makes sense that I'd be considered a senior level developer (I've read some articles and they mentioned it would take at least 4 years to get this kind of experience in both front- and back-end programming).

Please give me some suggestions as I don't know how to negotiate or understand where I fall on this spectrum.

13
  • 17
    "It seems impossible." Nope. Nothing seems impossible regarding moves within a company. The only question really is: will they let you have the time you need to do the learning that will be needed?
    – David R
    Apr 1 at 22:12
  • 7
    Try, but whatever you do, don't feel responsible for anything if it doesn't work out. They're giving you a job that's hard on its own in addition to your normal job and you don't have any experience, so consider everything a learning excercise but don't work yourself to death. It's their choice to replace an experienced person with half an unexperienced person and they should realize what the result of that is most likely going to be.
    – Erik
    Apr 2 at 6:11
  • 4
    What is your goal ? Do you want a way out of doing something you don't think you will really be able to ? Do you want help to communicate that it will take a long time as you have no priori experience ? A pay rise once your getting some work done in the programming field ? How to manage this stresfull experience ? I don't think it's a good idea to tell you wether it's a good opportunity to go into the developpement field when we don't even know if you're really interested in the field ? Or even going in for better pay.
    – Walfrat
    Apr 2 at 8:49
  • 5
    You will most likely not have the time you need to do both jobs well. This sound like your employer is trying to save money instead of hiring someone new, and it may be that they do not have respect for the amount of work you might have to do. Apr 2 at 11:45
  • 3
    Note that not being offered a pay raise does not preclude negotiating for a pay raise. Companies don't really have an incentive to offer higher pay unless they think it's necessary for retention. This is especially true with a lot of smaller companies, where there are no predefined pay scales. When you have leverage, use it, because a company almost surely will when the situation is reversed.
    – Dan Bryant
    Apr 2 at 14:33

10 Answers 10

72

Since you have no experience besides help desk type roles, I suggest you take this as an opportunity to learn and get experience on your resume.

After 2 years, look for a new job.

It's very difficult for someone that only has help desk experience to land a junior developer position. Most people try to get their foot in the door with a helpdesk job and try to transition. Looks like you got your opportunity.

Get the title change but don't worry about the salary change. Because you have no experience and they're letting you code their apps. This is rare.

8
  • 10
    Yep. The company is obviously cutting corners but this could be a lucky break for OP, with high likelihood of chaos and drama for a little while. "senior full stack" is probably not realistic all at once, but if he can hold down the fort until they realize they should hire someone, it will be a great start just the same.
    – Pete W
    Apr 1 at 22:57
  • 1
    While that might seems fine for OP's career, i'm not sure that professionnaly, be in the mode "I'm gonna make a something really not great then leave with the experience I got" can be considered as a real profesional move. It all depends of OP's goal though.
    – Walfrat
    Apr 2 at 9:03
  • 35
    @Walfrat for better or worse, making something "really not great" is the normal reality of using unsupervised junior developers. That's on the employing company. As is leaving after getting a year or two of experience if you're being badly underpaid. Apr 2 at 10:12
  • 5
    The new job title is important precisely because 2 years later you want to have "full-stack developer, 2 years of experience" on your CV. And it doesn't cost your boss any money, so you should be able to get it. Apr 4 at 14:28
  • Thank you. This was very helpful and aligned with what my Wife was saying. I needed some outside unbiased advice. I figured it was silly to think I was a senior developer because they labelled me that. But with more chats with my manager, he said this was the long term plan. He figured once I'm coached and fixed and developed these apps for them, that I would be very close to a senior level position. What I fear is that they don't give me raises until it's all done or once they have what they wanted, they won't care about my position anymore.
    – Daryl Kopp
    Apr 9 at 15:06
39

You need to understand the dynamic at small companies and decide if this is the road you want to go down.

Don't think of it as "I'm taking on a developer role". You're not, at least not exactly. Small companies demand a far different scope from IT personnel. In a large company, you can be "The SQL Stored Proc" guru, where all you do is develop and optimize a single facet of just one of the elements in a stack. In a small company, that doesn't work. They don't have the staffing amounts where people can specialize like that. Instead, you need to be a generalist - you need to be moderately competent at a dozen different things.

This is why I wouldn't be alarmed with what's being asked of you - and I'd take a lot of advice here with a grain of salt. Because while being asked "Take on both Dev and Tech roles!" at a regular company is a big red flag, at a small company, role-bleed is natural. IT 'devs' at small companies are rarely just 'devs' - they're also typically system admins, devops, and infrastructure all at once.

So I wouldn't call it a red flag. But... should you be okay with it?

Working as a generalist has pros and cons.

Pros:

  • You're unlikely to be bored by doing the same tech element over and over again; you'll get to play with a wide range of technologies and methodologies.
  • You have increased job security. Since you're going to be responsible for two dozen different things, it's difficult to find someone off the street that is competent at those two dozen different things.
  • If you're not sure what area of IT to get deeper into, this will give you a taste of all the different areas.

Cons:

  • You probably won't gain the expertise to be an expert in anything.
  • If there's some facet of your job you find particularly enjoyable, you likely won't be able to do it for long stretches of time.
  • Your work experience might not translate the best to other jobs. Unless a company is looking for a generalist with the same sets of responsibilities, it can be difficult to find a good match of skillsets.
8
  • This is a good answer, and I agree with all the points, but the only concerning thing is the fact those additionally duties typically come with adequate pay increases. Otherwise the guy who had to learn 20 different things never stay long enough to learn 5 of them.
    – Donald
    Apr 2 at 17:07
  • @Donald - sort of. I mean, some places (especially small businesses) you have to push for your own raises. I wouldn't view it as a red flag - more something the OP needs to keep in mind: they're likely going to need to negotiate a larger salary in the coming months. Personally, in OP's shoes, I'd take the job (even without an immediate salary increase.) Then, 6 months later, use the success in the position as a bargaining tool - not only will they be able to point to a (presumably successful) track record, but also have a much stronger BATNA (to leave) since they'd have dev experience.
    – Kevin
    Apr 2 at 17:16
  • Don't get me wrong, it appears the author's career goals align with taking the job, but we both have different experiences so who are we to determine that. I just see a huge increase in duties without a pay raise as a red flag that perhaps something isn't right with the company.
    – Donald
    Apr 2 at 17:19
  • 5
    Agree. My last job at a small business was customer support, software developer, database developer, front and back-end web developer, and info-sec officer. While there was no bump in pay (an annoyance), I was gaining a massive skill-base that I then took elsewhere for double my previous pay.
    – Aaron
    Apr 3 at 8:28
  • 1
    If you're going to be a really good senior developer at some point, you'll need at least some experience in all facets of development, from business-case planning to the support process after the software is released. (A system won't cohere well unless at least someone in the development team has a reasonable understanding of things end-to-end; I would demand this of any developer I hired, or be prepared to train them to some degree on all aspects of the system.) So this sounds like a good opportunity to get exactly that sort of experience.
    – cjs
    Apr 4 at 14:29
18

Not only does this seem sketchy

It is sketchy. You're not ready for this role, they should know this or they're very out of touch with reality. There is a risk that they don't have the money to invest or they need a scapegoat for a failed project.

Of course it could be above board as well, but in that case you should get a payrise and job title change.

You haven't mentioned if your field tech role will be filled, but if that isn't being done then expect yourself to be doing your existing role and the full stack.

3

Sounds like the company wants you to take on a second (demanding) job without a pay rise or promotion. It's up to you if you take it, but to me it sounds like you aren't getting anything out of it.

It also sounds like you aren't qualified, so I would question if the company is completely oblivious about the tech industry, or are they setting you up to fail?

My position was a field technician and they wanted to move me into a hybrid role as a field tech & full stack developer.

What do YOU want?

This is a new position, only take it if you are comfortable with it, but you need to set your terms. Even if you see this as an opportunity to learn and do it without promotion, you should still put your terms in writing.

This is the minimum I would ask for:

  • You will take on this new position as a 12 month trial
  • You will have a temporary new title of x
  • If things don't work out, you revert back to your old position
  • If things do working out, the new position becomes official and you are officially promoted with a new title and a pay rise of no less than x%

They're now saying that I can become a senior full stack developer by developing a new program and some of the code from the old app to a newer app I'm creating in WPF.

This is worrying. I have a feeling they are saying, if you submit and accept this unfair offer, we "might" give you a promotion in a few years, but we wont put this in writing so we can easily back out and not give you anything. - this has happened to me before.

I don't find it possible to go from being a junior to senior level full stack developer in only a couple years

It depends what you mean by "senior level". Do you mean in skill or by title?

In the last few years seniority labels have become bit of joke in the industry. It's possible to get a senior title in 2-4 years.. but in title only. To develop a senior level of skill takes a lot longer.

More importantly, if you are the only developer you wont have experienced colleagues to learn from. It's unlikely 2 years on your own will be enough to develop more than a few basic skills and bad habits.

5
  • "...but to me it sounds like you aren't getting anything out of it." What about the experience of understanding a system and the development process from end to end? I consider that extremely valuable. I've seen plenty of problems arise from specialists doing their own thing without understanding anything going on in the other parts of the system in which their part has to work.
    – cjs
    Apr 4 at 14:30
  • I also said: "Even if you see this as an opportunity to learn and do it without promotion, you should still put your terms in writing"
    – flexi
    Apr 4 at 16:30
  • I understand the importance of experience however, in this situation I strongly disagree. The OP never mentioned they wanted this position.
    – flexi
    Apr 4 at 16:32
  • In this situation, it's not like a new project the company is trying out.. They fired an existing Full-Time employee making a Full-Time salary. Why on earth would the OP take that on for free? Don't let a company take advantage of you and put it down to "it's a good experience". - The experience has no value if the OP isn't getting paid for it.
    – flexi
    Apr 4 at 16:33
  • I've seen it happen before, to myself and others. If you take on extra responsibility without any terms that benefit you, your employer starts expecting it. You become the guy they dump everything on and you'll never get compensated for it. Then in a few years you'll wonder why you seem to do all the work but you're never the one that gets promoted.
    – flexi
    Apr 4 at 16:47
3

Not only did they not raise my pay, they didn't even officially make a lateral move with paperwork with my position.

It seems that they see this as a high-risk move. Perhaps you're filling an "interim" role, or maybe, the company is really not set up for software development and doesn't know what they're doing when it comes to software.

Usually, external consultants get brought in for scenarios like this (not sure why that isn't the case in your company). But if they were to bring in consultants, an alternative opportunity for you would be a liaison for the consultants as someone who knows the work domain and can evaluate whether or not the consultants are implementing the solution correctly. That's potentially a VERY valuable role for you especially if the leadership is clueless. If they implement a solution that works for the company and you were the person that orchestrated their activities-- you certainly can ask for a raise and a title promotion.

On the other hand... you said you're tasked with developing a desktop application + some database work. If the problem it solves is small enough, isn't mission-critical, and doesn't have to integrate with complex external systems or work at massive scales, you have a decent chance of at least implementing something that does the job. Lots of people get started that way. It's not pretty, but it's what you got. If you decide to DIY-it, get some training and start small.

3
  • Hmm... he won't be able to really judge what the consultants do. You typically get something that does everything that you can measure, but difficult-to-assess qualities (maintainability, density of rarely-triggering bugs) tend to be dropped. On the plus side, a liaison is much less at risk themselves because any problems won't be tracked to them but to the consultant(s).
    – toolforger
    Apr 3 at 7:58
  • 2
    When I did systems integration as a consultant in industrial facilities, the most useful information regularly came from certain kinds techs or operators. There's always a hierarchy that ranges from "button-pushers" to people that know the systems forwards and backwards, warts and all. The latter are very valuable and if the employer recognizes that, those folks are instrumental in rolling out something that works the first time out. I think the OP might be able to take on a role like that.
    – teego1967
    Apr 3 at 13:15
  • you might have misread the OP's motives, and the answer might be useful to others with slightly different motives that find this question. So the answer could be improved a bit by making it more general - not that the answer is bad in general, actually I think it's already very good ;-)
    – toolforger
    Apr 4 at 6:28
2

You need the answer to a question. Do you know why they fired the other guy?

Then you need to ask yourself 3 questions:

  1. Do you understand what they're asking you to do?
  2. Are you able to do it, or at least learn how to do it in a reasonable period of time?
  3. Is this the kind of work you want to do?

If the answer to all three is 'Yes,' then go for it. When you can demonstrate you're producing value for the company, you can ask for pay, etc. reflecting that. People who can learn how to do something new are valuable.

Put yourself in the shoes of the folks running the company. If you're solving a problem for them, you're valuable. If you can't add value, then they have to ask why they keep you around.

2

Another way to look at it.

You're being asked to perform a skilled role where you don't have those skills. It won't end well. (Would the boss expect you to fix the brakes on his car?) On the other hand, having some maintenance knowledge makes you a general purpose maintenance bod, increases your knowledge and skills base, gives you flexibility and understanding in new realms.

My recommendation is you talk to your boss and say:

  • You're keen to add another string to your bow, and keen to see the company make use of 'new' technology, but in all honesty you'd be out of your depth creating a system from scratch.
  • An experienced developer with a verifiable track-record could be employed on a temporary basis to do the gnarly build and test.
  • During the build phase you can add your real-world system knowledge to the temp's programming wizardry to create a working system that is truly tailored to the needs of the company.
  • Part of the plan would be for you to be capable of simple maintenance. This would come through your close involvement during the build.
  • Your or your boss would have to be Project Manager. I would suggest your boss. You will see how prototyping, testing and all the other IT admin that seem to get forgotten go together. (Hint: Read some books about that side on the sly.)

There are caveats about do-as-I-do learning from a developer who has 'their' way (eg. leave microscopic and cryptic documentation), but the company will get a system that will work and continue to work. And you will be a much more valuable employee.

1

I am kind of in the same situation, I am a java developer but now my employers/coworkers expect me to do some cobol/batch support work since a senior employee who handled these stuff recently quit and they are struggling to get things going. I have no interest in learning an older/outdated technology like cobol which I never plan on adding to my resume. So I always push back when they jokingly make invites to me to join the meetings for cobol related issues. Also, there is no pay raise for this offer and I am not taking up extra responsibility and let the owners pocket the profit.

In your case, you should decide for yourself if you are willing to spent your time for no monetary gain and probably not much career progress as well with the new responsibility. If not, start looking for a better opportunity somewhere else. If you do choose to stay, try to get a college degree(if you don't have one already) in IT field on the side, so while you wait and gain some experience and ready to move on, the degree will help you get through the door.

1

Since you have no experience as developer - there is no pay raise justified.

Once you've proven some skills, this might be the time to speak about it. And in smaller companies it's not too uncommon, that admins do programmer jobs and that programmers do admin jobs - since the field of expertise is still somehow similar and the skill sets often may overlap.

I mean, to exaggerate a little: you could write a new UHD app for them.

0

Just going to point out that the employer won't be able to terminate you for cause. If they did terminate you based off additional duties they never compensated you for, you would be able to collect UI. At-will employment contracts still involve legal consideration and the employer added additional duties to your JD without offering any renumeration.

You must log in to answer this question.

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