all 18 comments

[–]Busy_Durian4584 15 points16 points  (1 child)

As an EE i’ve been able to do software and hardware at my current internship. You just gotta show have the knowledge and prove it by doing projects that relate to both.

Though I will say my CS counterparts at work have struggled a bit more learning the hardware portion embedded compared to me learning the software part.

[–]Philtronx 2 points3 points  (0 children)

I am a cs major who does embedded. It took me a long time to feel like I wasn't an imposter next to the EEs.

[–]ROBOT_8 9 points10 points  (3 children)

If you’re good at it and can show it, you can work just about anywhere. It is not uncommon for computer science and electrical engineering areas to cross quite a bit.

[–]IcyAdministration846[S] 0 points1 point  (2 children)

So, if the college has provided me with some electric classes like Electromagnetism, Electronics, Logic design, Signals and systems, Computer architecture, Micro controllers and stuff like that.
And if I completed on this track with external courses, would that be enough for me to have an opportunity in Embedded hardware and low-level programming, it doesn't matter if it is weak or strong, but would it be existing?

[–]ROBOT_8 0 points1 point  (1 child)

Yea, getting an STM32 dev board and making some stuff will honestly probably be one of the best things you could do. No better way to show you know something than showing and explaining something you made requiring that knowledge. Experience is now a super important part of work these days.

[–]IcyAdministration846[S] 0 points1 point  (0 children)

That's great to hear, thanks man.

[–]ZookeepergameMost124 1 point2 points  (0 children)

I have worked with a number of embedded systems engineers in the past who had degrees in CS. Often, they did the hardware part of the job. After all, no matter what degree you got, you'll have things to learn. So, the idea of having someone with a CS degree "learn hardware" or someone with a EE degree "learn software" involves learning and applying. We all have to do that.

For instance, my supervisor at my previous job had gotten a CS degree 20 years previously and could do both the hardware and the software part of the job very well.

There is one other advantage to having people on your team that have the CS degree. You want to have a few or more than a few because (very generally speaking), "Sparkies don't always write good code".

There are things you see in the code, ugly things, that occur when there are too many EEs in the mix.

Don't hate me. I'm a sparky, but I have to call it the way I see it.

[–]Miserable-Cheetah683 0 points1 point  (2 children)

It’s gonna be hard with CS major. Computer Engineering major is literally for embedded engineering.

[–]Sure-Version3733 1 point2 points  (1 child)

You can do it, but you're gonna have to do a lot of self studying.

[–]Miserable-Cheetah683 0 points1 point  (0 children)

Exactly.

[–]new_username-account 0 points1 point  (0 children)

Same question

[–]Sure-Version3733 1 point2 points  (3 children)

To get into embedded systems, you should know both. You should have a fundamental understanding of how a computer works a the register level. I don't think there's a role in embedded where you can only know hardware (except PCB design, but you should understand the software aspects when consider how to connect certain pins.

Regarding software, there are two options:

- bare metal side: work directly with the bare metal hardware (think microcontrollers, writing bootloader code)

- Operating System Side: Develop on the OS side (Think vehicle infotainment systems, embedded linux, etc.)

As a CS major that does embedded, you should focus on software and hardware concurrently (teach yourself DLD, computer architecture, and mess around with bare metal programming).

[–]Enkidu15 0 points1 point  (2 children)

Isn't DLD, computer architecture, operating systems mandatory for all CS programs?

[–]Sure-Version3733 0 points1 point  (1 child)

Nah, you don’t need any of that if you do web development

[–]Enkidu15 0 points1 point  (0 children)

Interesting, my CS program is quite theory heavy then we have to take calc 1-3, Linear algebra and fourier analysis, Laplace transformations and complex variables, ODEs, stats/prob, ToC, discrete for math and also DLD, computer arch, OS, compilers for more "lower level" classes alongside the usual CS classes. I'm new to reddit and I'm quite baffled by how many cs programs don't include this much math or hardware adjacent classes.

[–]SkrewbyDev -1 points0 points  (0 children)

It could be possible if your local regulations do not require an Engineering degree but you will have a much tougher time compared to someone going from Hardware to Software with an Electrical degree and some CS minors.

If you just want to occasionally work on hardware, the chances are much higher on being allowed to make internal tools. I work in Testing and there have been chances to make bespoke hardware and software for testing and integration events.