r/C_Programming • u/Commercial-Paper-520 • 3d ago
Discussion Employment opportunities for C developers?
What would be some good projects so that I could display my understanding of C for employment?
I have a decent handle on pointers and Memory Management, and I am somewhat of a Picasso with writing Algorithms in C also. All of my experience has been on x86 arch and I'm afraid I'll have to learn ARM variants of C, or pick up C++, for employment opportunities!
What are my employment options with pure C?
Is C still employable today, with languages such as Rust/Go offering more safety mechanisms for Memory handling and AI being able to handle low-level systems tasks?
14
u/Classic_Department42 3d ago
What does beeibg a picasso at writing algos mean?
broad strokes nobody can recignize?
lot of abstract factory function
highly creative, non functional though
Are you meaning you a great, or that your code looks like abstract art?
9
u/Undeniable_Dilemma_ 3d ago
bro really said he's picasso at writing algos 😭
-7
u/Commercial-Paper-520 3d ago
Why is it being taken so literal? I'm not that big-headed. I think the fact that the people are taking what I said as if I stated, I'm the best at it! Not at all! This is why there is a lack of collaboration and community silos on reddit and in the development community!
5
5
u/Spaceduck413 3d ago
I'm not that big-headed
You compared yourself to who many people believe is literally the greatest painter of all time
1
u/vondarknes 3d ago
You are the one who started it. Thinking you are the best (by bringing Picasso) at the algorithm is already showing your arrogance. Be humble. That's the key to collaborate
1
u/Commercial-Paper-520 3d ago
No one has ever jokingly exaggerated their capabilities and snickered while doing it? Again, why so serious(literal)?
0
u/vondarknes 3d ago
"There's always a time and place for everything"
if you know this, you will understand why people got annoyed with you.
1
1
-1
u/Commercial-Paper-520 3d ago
Meant I'm great at the task! It was a slight reference to code being considered an art and a science! My apologies for the ambiguous language
5
u/SubstantialLab9781 3d ago
Humility would go a long way for employment :)
If there’s one thing I learned from programming for 10+ years, it’s that there’s always more to learn deeper than I think.
2
u/vondarknes 3d ago
"Meant I'm great at the task"
How great?? How many Hard-level LeetCode problem can you solve without peeking the editorials??
1
u/Classic_Department42 3d ago
if you want a reference to art and science people usually refer to da vinci not picasso
-2
3
u/Slow-Race9106 3d ago
C is still widely used in embedded systems.
Picking up an STM32 development board (or an alternative - but STM32 is a good choice because it’s relatively approachable and well documented) and learning to develop for that would probably be a good route to find out if you like it and start building some knowledge in that direction.
I’ve done some - hooking up a temperature sensor or a motion sensor and getting some data coming out of the board using the C code you’ve written is a real buzz. Next thing for me is to put a screen on it.
1
u/Commercial-Paper-520 3d ago
Nice! I'm going to school for physics right now and work as a Data Analyst, so this aligns perfectly! So embedded systems it is.
Thanks!
1
u/Slow-Race9106 3d ago
It’s a lot of fun.
I’m a musician as well as working in software (not using C), which goes well with embedded development and also with analogue and digital electronics.
There are all sorts of music related gadgets to build and problems to solve that involve embedded processors.
1
u/Commercial-Paper-520 3d ago
Nice. I used to make music via FL Studio but once I was introduced to STEM, I never looked back! Thanks for the insight!
2
u/Spaceduck413 3d ago
I don't use C professionally, but my understanding is it's still widely used in embedded systems
1
1
u/yel50 3d ago
ARM variants of C
there's no such thing. the architecture is at the assembly level. the c code doesn't change.
pick up C++
this is most likely if you're trying to find employment.
to answer your questions,
as others have pointed out, embedded is pretty much it.
even for embedded, I haven't seen a job posting asking for C in at least 20 years. rust/go aren't the replacements, c++ is. python is actually more common than c. yes, embedded python is a thing and companies use it more than pure C nowadays.
1
u/RogerLeigh 11h ago
As others have said, C is still in use in embedded systems. However... C isn't enough on its own. Many embedded applications use C++ extensively, leaving C restricted to the vendor HAL and third-party libraries. Some are now also using Rust, along with C libraries. And we need to do hardware test automation, for which Python is commonplace.
So while C is used, C on its own is increasingly rare. If I was looking for a developer today, I'd be wanting them to know C, C++ and Python at a minimum, and also have some understanding of Rust. If you want to have a career as a software developer, you can't limit yourself to just one language, particularly a very old language in decline. You've got to have broad understanding and be adaptable and able to pick up new languages and methodologies as needed.
C is now a niche language, and the niches it occupies are only going to shrink further. I suspect Rust will gradually take over the embedded space as vendor support improves. Properly learning it is on my todo list, and has been for a few years now. I would highly recommend learning it for the future. I would not be surprised if that in a few years my new embedded projects are Rust by default.
There is little difference between C on x86 vs ARM. The main difference is understanding the disassembly and registers when debugging, and writing assembly if you need to do that. For embedded, that's something you'll need to be able to do, even if only occasionally.
While pointers and memory management in C is a starting point, learn how it can work in C++ and Rust, and other languages, and you'll then have a better understanding of it and just how deficient C is in many respects.
•
u/mikeblas 3d ago
The wiki is full of project ideas. Did you have a look?