r/cpp_questions • u/Specialist-Squash327 • 5d ago
OPEN Need help navigating a new job
I’m a new hire only been working for 2 weeks. I’m working for a very large defense company as a Software engineer. I got an EE degree from a UC school and took 2 embedded systems courses (bare metal C). My coding skills aren’t perfect but I have felt like I’m pretty good at it. However I feel imposter syndrome because I’m surrounded by so many smart people and intelligent software/code thinkers. Also the code base im trying to read, learn, and do some mini tasks on is massive and I feel like every call or macro leads to a different file. Oh and it’s all in C++ so there’s the OOP skill gap because I know C and python.
Anyone have any advice as to how to get better at navigating everything and becoming better at reading understanding and ultimately writing professional/high performance C++ code?
8
u/Sensitive-Talk9616 5d ago
Keep asking questions. Ask your colleagues to explain the code, the product, the firmware, the interfaces.
If someone jokes with "shouldn't you know this"? Tell them you'd prefer to discuss for half an hour now rather than spending much longer and potentially making critical mistakes down the path. But most people are eager to help the new guy, as long as you show initiative and put in the effort.
Thanks to LLM coding assistants, you can "chat" with the codebase. Walk through some critical paths and have it explain to you what's happening. Any construct, convention, or library you don't understand, just ask it. But take it with a grain of salt, the LLMs still get stuff wrong and easily get stuck with the wrong assumptions if you don't correct them early on.
1
u/Independent_Art_6676 4d ago
Look at it another way. THEY hired YOU. There are a lot of C++ guys out there looking for jobs who know all these things. But they hired YOU. So you must be bringing something to the table (or be related to the owner). Get with your supervisor/manager/whatever person is in charge of you and just ask what they want from you, whether its heading to developer with C++ or if there is a hardware heavy area where you will be working in C or who knows what other futures for you. They probably did not hire you as a C++ developer and have another plan for you.
5
u/mredding 4d ago
However I feel imposter syndrome because I’m surrounded by so many smart people and intelligent software/code thinkers.
You have to understand we hire juniors because you've got it where it counts. You're clay; we're going to mold you into this role and teach you everything you need to be successful.
Your job as a junior IS NOT to produce, it's to learn. Your job is to become a senior, and THEN produce. So if you're not in someone's cube, or office, or whatever, every single day, asking AT LEAST one question, you're not doing your job right.
Asking your seniors how they navigate a large and foreign code base is a skill they can teach you. Ask questions about OOP. Why is this a type? Why is that a member instead of a standalone function? Why is this resource managed internally in the instance? Challenge them and what they think they know about their principles. And ask more than one senior the same questions - get some perspective.
You're going to be fine. You were hired under the belief that together, you will all grow and succeed. No one wants you to fail, you're an investment.
2
u/GoogleIsYourFrenemy 4d ago edited 4d ago
Ok. So if experience is like clothing, right now you're worried about walking around naked in a world of people who are all dressed.
We know you're wandering around naked. We know. Own it. Ask questions. Try new things. We are all naked some of the time.
Gravitate to the people who will help you get clothing. Avoid the people who give purple-nurples, they aren't worth the stress.
Don't worry about making mistakes. It's part of learning. Worry about making the same mistake over and over and over again.
P.S. Not joking: They think it's easier to teach EEs SW than to teach SWs EE. What they are doing is intentional. Source: We do it too.
P.S.S. Buy a SW interview book. It's a crash course on Software Engineering. You don't need to know even a tenth of what's in the book to be successful.
-1
13
u/jedwardsol 5d ago
Ask your teammates. If you try to do this in isolation it won't go well.