24

I would like to ask how to deal with my current situation. I was hired as a C/C# developer for embedded hardware and user desktop applications.

After a few months working it became clear that there is no need for a software developer at this company. Most of our products don't have any software and because there were major issues with the former external contractor (software dev) the company decided to discontinue every product with software.

I guess they were looking for a hardware developer. That is what I am doing right now, I have a general understanding of hardware development but I am really not qualified nor do I have a electrical engineering background. I told them that I am not an electrical engineer but it was ignored. Fast forward 6 months I am developing 3 new products parallel, there are prototypes and they work. But I know scenarios where the product will catastrophically fail, I told them, and it was ignored. It feels like there was a decision to take out any intelligence out of the product but the requirements never changed.

The company is great in metal processing and anything mechanical, but there is a giant black hole where hardware and software departments should be. There is also no will to invest money into more people or external contractors.

I changed my last job after 2 years because my wife had to move. I am 1 year into this job. If I change this job again it will look like I am a job hopper.

What can I do? I can't tell them they don't need a software developer, as that would make me obsolete. If I continue like this there will be a big product rollout and there is a chance a lot of them will fail. My contract explicitly mentions I am responsible for developing in C/C# and anything software related. Clearly I am doing something different and I don't see how the contract will help me.

6
  • 2
    @iLuvLogix Every employer was free to call me and I wrote them whatever program they wanted to have. There are like 5 tools (small cleanup scripts mostly) internally and people seem to be happy. But since the 3 mayor hardware projects came up, I don't have the capacity to do new ones.
    – Hans Vader
    Sep 6 at 12:10
  • 2
    I see - you maybe want to include that relevant information in your question by editing it.
    – iLuvLogix
    Sep 6 at 12:20
  • 11
    Not an answer, but you might want to talk to a lawyer about this OP. Especially if human life may be at risk here. Many states have strict laws when it comes to unlicensed engineers performing engineering work and simply being an employee of a company may not protect you from liability here in case something bad happens. Are there at least licensed electrical engineers that oversee and review your work? Sep 7 at 12:34
  • 2
    C/C# is not unheard of, but quite unusual. It makes sense with what you say about embedded AND desktop. Quite rare though to fill both positions with one developer. Did they mean C/C++ and/or not know what they're talking about?
    – dlatikay
    Sep 7 at 18:00
  • 1
    Even describing positions as being "C/C++" is dated. Developers who describe themselves as "C/C++ developers" are probably not very good at either. It sounds like the company is not a software company, so it seems they're not really sure what they're looking for.
    – RJFalconer
    Sep 7 at 19:39
73

It is quite simple really... you either carry on doing the job that they are asking you to do, or you find a new job that you want to do.

Your contract is kind of irrelevant here. They can't give you C/C# work if there isn't any of that work to do. It is up to you to decide if you are willing to accept the type of work that they have available, or if you want to move elsewhere.

I would suggest you don't worry about the impression of "job hopping". If you have the desired skills and experience that potential employers are looking for, then you will still get the interviews. And while they may question your short-term positions, you can easily explain this scenario exactly the same way as you just explained it to us. It's unlikely it will hold you back.

Finally a quick comment on the point that you have reported potential problems with the products and they ignore it. Well, that is completely up to them to decide if they take action or not. Just make sure you keep a log of the emails where you report the problems, then you can refer back to them if they try to place the blame on you.

If you are not reporting these issues by email (and instead verbally) then I suggest you start doing it by email from now on. If you need to, bring these past issues back up via email now so you have it on record.

I will also add that if you do decide to continue with this current employer, then arrange a one-on-one meeting with your direct line manager and discuss your concerns directly with them. See if they have any advice for you.

2
  • 7
    "you have the desired skills and experience" - plus some new skills from this fiasco, to put a positive spin on it. Don't claim to be a h/w developer, but as an embedded s/w dev, I can tell you that and h/w understanding at all really bumps you up the queue of potential candidates. Sep 8 at 6:54
  • 3
    Seconded about the job hopping thing. If you put the location of each job in the job's subheader, it will be clear you relocated when taking this one. Then when listing this job on your resume, note what you actually did, and if anyone asks why you left so soon, explain that they hired you for software development then tried to shoehorn you into hardware development and you felt you weren't qualified to tackle this work (that was wildly outside the job description) solo and they refused to hire more qualified personnel.
    – Doktor J
    Sep 8 at 12:53
22

What is it that you would like to do?

Clearly, this role does not allow you to grow as a developer. If you don't have side projects you may get rusty. That becomes a disadvantage when you're interviewing. If you would prefer a development-focused position, you might not want to stick around too long.

On the other hand, the combination of experience with C and hardware development is valued highly by some companies. Even without formal education, you are probably getting valuable experience: If nothing else, it'll help you communicate with electrical engineers.

Don't worry about job-hopping.

A few hops are nothing to worry about. A good offer that turns out to be a bad match explains two switches in a short timespan. At the start of your career, your CV likely lists projects or jobs you've held before graduation and you might switch a little more often, while working out what kind of role you like.

A competent interviewer has seen all that before. At most, you'll have to explain a few switches that they don't understand. Patterns that I would find worrisome are:

  • 10 years post-graduation in the industry, but you've never made it to 2 years at a company. Many 3-6 month stints are particularly worrisome.
  • If you've been a junior or medior for much too long, through too many companies. You're good enough to get hired, but not good enough to get promoted.

I suspect that the definition of job-hopping depends on the role you're interviewing for - I'd expect developers to switch more often, simply because you get more offers. However, suppose my company is looking for a product lead and we pay for a 3-yr growth track (coaching, education, paid study days). Then I prefer a candidate who was promoted internally at least once or twice. Candidates that switch frequently may trade up their titles quickly, but we'd like to benefit from our training effort for a few years.

3
  • 1
    I'm with you. Knowledge of hardware design & implementation is indeed valuable, and it fits in naturally with software development in many applications. If the company is otherwise fine to work for, I would stick around for a while to get the experience. Software experience can be had anywhere, but hardware experience is nowhere near as common. Sep 7 at 13:12
  • 1
    Given how poorly the company has managed this, and it doesn't sound like they have any experienced hardware engineers around, I would worry that the OP is not going to get marketable experience here. At worst the OP may mostly be learning the wrong way to do things in hardware while their software experience becomes stale and harder to market as well. Sep 7 at 20:37
  • 1
    I agree with this answer. Additionally, I think OP should escalate the situation. The management does not see that OP is doing a role different than what they were looking for in the description, it seems they are happy with someone dealing with the software while the company's focus is the hardware. Short story long: OP, ask for a substantial raise of your salary (+20%) and at the same time look for a role fitting you. Job-hopping is not an issue here. When you apply to the new roles, you may or may not give references from your current job (because you are still working there)
    – EarlGrey
    Sep 8 at 8:15
11

On career planning for programmers, the other answers are generally good and sensible. Yes, you should use the management structure in place, but also plan your own career next steps. One note of caution though while you continue your current job, because you mention "catastrophic failure".

Especially since we are talking about physical products, if you think there are safety problems that would endanger people, you need to take extra time to document the risks and escalate. Not just drop an email. This is somewhere physical engineering has stronger professional obligations than programming typically does, but there is also the concept of a principal engineer, licensing and so on, depending on the jurisdiction. Given it is a mechanical and manufacturing company, they should already be more familiar with this than you are, but you might need to find the right people in the company or explain the risks in different language - "physical injury", "electrical outage", and so on.

2
  • 1
    Thisa is really really important advice, please follow it!
    – Alan Dev
    Sep 7 at 14:43
  • The problem here is that the OP is not a licensed electrical engineer so he doesn't necessarily have the requisite expertise to reasonably account for all of the risks. In some states he may actually be in violation of the law by practicing as an engineer in this capacity. Sep 7 at 15:47
4

I would agree with the advice in the existing answers - nothing wrong with looking for a new job.

From personal experience, I would advise you to be very wary of two of things you mentioned:

  1. They want to develop software & hardware
  2. They do not want to invest in software or hardware engineers or training for you.

I have been in a similar situation where products were 'agreed' to by the company and the responsibility for implementing them fell to me. I did not have the requisite skillset for these and there was no budget or appetite for training.

If the products release and they work you may be thanked, if they fail, you will be blamed. This is not a healthy workplace environment at the minute and you should consider this when deciding whether to move on.

0

It's true that job hopping raises questions during the interviews. It's not nearly as bad if you can explain why you changed jobs. Nobody in their right mind will hold it against you that you quit when your wife had to move, or when you got assigned tasks you weren't qualified for.

It will be much worse if you start looking for a new job in two years, and there will be questions about things you are proud of in your latest projects. If at this point you start talking about stuff you have done 3+ years ago, that will be a much bigger red flag than job hopping.

Releasing a product that could catastrophically fail sounds even worse. Of course, that depends on your definition of "catastrophically": if it's something like the users says "OK Google" and nothing happens, that's one thing. For me, "catastrophically" sounds like the product might cause damage or become dangerous to use. If that's the case, I would certainly go beyond just reporting it in an e-mail and keeping a copy to cover yourself in case it backfires. Check out your compliance guidelines: you might have the obligation to report it if the management decides to release such a product, otherwise you might still bear part of the responsibility.

You must log in to answer this question.

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