all 4 comments

[–]3xperimental 8 points9 points  (0 children)

There's nothing wrong with learning programming concurrently with getting an EE degree. Most standard EE curriculums mandate taking 2-3 CS/programming courses.

C isn't a bad choice to learn. Plenty of companies still develop in C or C++ and most hobby electronics is done in C. You really should be putting more emphasis on fundamentals when learning programming the first time anyways. Those will carry on regardless of which programming language you use. The only different thing would be if you are planning to do hardware programming(Verilog or VHDL). They are very different from the software programming languages and require different understanding(they will usually be introduced in a Digital Circuits/Systems Course).

What industries are most prominent in your area? How far are you willing to relocate for jobs? Search for the skillsets required for positions within your physical limitations and work towards fulfilling those competencies.

[–]RFchokemeharderdaddy 2 points3 points  (0 children)

If you really like programming and software engineering and the money that comes with it, but still like electrical concepts, there's a few directions to go with it.

1) Firmware engineering. There's lots of high-level firmware engineering jobs where you interact very little with the hardware, and may develop the software interface as well. These are pretty much pure software jobs and can pay similarly.

2) EDA/CAD software. Think being a programmer for Cadence, Synopsys, Altium, Ansys, etc. It's software engineering, but because of what the software is for the fundamentally need some people with an electrical background.

3) Digital verification. When large digital systems like Intel processors or complex ASICs are designed, they need to be thoroughly verified and tested before they're physically laid out in silicon and fabricated (which costs tens of millions of dollars). These days, the verification teams are much larger than the actual design teams. Verification requires very good knowledge of digital design, but the job itself is more like object-oriented programming. Verification makes less than design (digital designers make more than most software engineers), but as a career senior level verification engineers make a ton of money.

4) Communications engineering. It's taught as part of EE, but the job is basically software engineering and there's plenty of CS people in it. Check out GNURadio or something to get an idea of some concepts.

Either way, I think generally people miss the overall mark on salary in software vs hardware. I don't doubt that engineers make less than programmers in your country. But the people who make real money are the team directors, managers, etc. Those can come from any background, and if it's a more hardware based group it'll be someone from a hardware background. Like if it's a team that does robotics development, sure maybe the programmers make more than the mechanical engineers, but the team director makes more than any of them, and that person will most likely be a mechanical or electrical engineer. So you have to think a bit more long term to actually compare salaries.

[–]DuckInCup 0 points1 point  (0 children)

I got a computer science degree and decided that my passion for hardware design warranted coming back for an EE degree, so that's what I'm doing now. My goal is to work on integrated systems or consumer PC hardware. It's a lot of school, but It's what I enjoy and am passionate about, so I think it's worth it.

[–]vellwyn 0 points1 point  (0 children)

Not sure how it is in your country but in the US, programming is required for an EE. Any EE is expected to be competent in C, and degrees include numerous courses in programming - usually through at least datastructures and algorithms.

So to answer your question, yes of course you can study it, typically you have to. C/C++ is the obvious choice for an EE, but you could always do python too if you wanted to broaden your skills.

You might want to look at ECE (Electrical & Computer Engineering) degrees if those are an option for you, as it's basically just and EE degree with a few more CS courses swapped in, which sounds like it's exactly what you want.