I'm facing a major career decision after being laid off in June and applying to hundreds of positions. I've been offered a Software Engineer role at a defense company working with C/C++, RTOS, and embedded Linux, which is very close to my dream job. I applied somewhat casually and was surprised to get an offer, especially since my C++ experience is limited and the interview questions were fairly basic.
The difficult part is that the job would require my family to relocate. My wife would need to leave a good job, and we would be giving up a home and community we really like. I'm worried that I'll move everyone and then be fired within a month because I'm not qualified enough, even though the company knew my experience level when they hired me.
I'm also waiting to hear about a more conventional Software Engineer position using Java. It would be remote and much easier for my family logistically, but the work doesn't seem nearly as interesting. I'm trying to decide whether to focus my preparation on C++ before the defense job starts at the end of September, or pursue the safer Java option if I receive an offer.
Would learning C++ make learning Java easier? Is it realistic to learn both without getting overwhelmed? If you were in this situation, would you take the exciting but risky job or choose the remote position?
5 Answers
C++ and Java have enough in common that learning one will help with the other, especially with general programming concepts, object-oriented design, and problem solving. C++ will also give you a stronger understanding of memory and resource management, while Java handles much of that automatically. You don’t need to master everything before starting; focus on the C++ basics that the role will actually use and trust that the company hired you with your current experience in mind.
It’s also reasonable to take the exciting opportunity instead of rejecting it because of a worst-case scenario. They interviewed you, knew your background, and still made the offer, so they probably expect you to learn on the job rather than arrive as an expert. If the work genuinely interests you, passing on it could leave you wondering what might have happened. Try to compare the actual offer details—training, probation period, relocation support, and job stability—instead of making the decision based only on fear.
The remote Java role is the safer choice: no relocation, no disruption to your wife’s career, and more time together as a family. You could continue building C++ skills and look for another embedded opportunity closer to home later. A dream job is valuable, but it may not be worth giving up a house and situation your family already loves if the risk feels too high.
You may not need to make the whole family move on day one. Some people relocate alone temporarily, travel home regularly, and move their family after they’ve confirmed that the job and location are working out. It’s not ideal, but a trial period can reduce the risk and give your wife time to prepare rather than having to leave her job immediately.
Before deciding, have a serious conversation with your wife about the practical consequences of moving and how much risk your family can comfortably take. If she’s genuinely on board, the relocation is still a major change, but it doesn’t have to be permanent or immediate. You might rent a small place near the job for a few months while your family stays home, giving everyone time to see whether the position is a good fit.
She’s supportive of either choice. A temporary move is possible, although being away from my family during the week would be difficult.

That makes me feel better. I’m probably letting impostor syndrome convince me they expect me to know far more than they actually do.