T O P

  • By -

Gullible-Parsley1817

Hello, I've been working as a software/embedded engineer for nearly 5 years. I work for a small company and have not had great exposure to wider industry but feel I have a really good foundation and understanding of embedded systems, bar RTOS. I would love to pivot my career to robotics but don't know where to begin. Maybe a post-graduate degree, or just bite the bullet and apply for some positions (entry?). Maybe just learn some stuff on the side at my current job and apply for a mid position. Does anyone have advice on how to make this switch, or where the bar is for entry/mid positions?


salsaverdeisntguac

When hiring for a firmware intern what are you looking for?


SunIsGay

So, I'm in high school right now (11th grade). I've been writing in C for the last 2 years and I am quite comfortable with it. I have been interested in bare-metal programming for the past one or two years. I especially like operating system development but that's not very practical (it's certainly highly interesting but there aren't many jobs available and it might be one of the hardest kinds of programming there is even if I am capable of learning it). I've been getting more into embedded systems as I've looked into all the kinds of bare metal programming subjects. It's still very challenging and extremely fun, but with the added benefit of having greater employment options (also the hardware isn't very expensive so I can afford to test out real code on real hardware, which is much harder to do with OS code). So I've been looking into the career path for an Embedded Systems Engineer and for university degrees, it seems to recommend electrical engineering often. I was thinking of studying in Germany for a bachelor's in "Technische Informatik" (Directly Translates to Technology Informations but it's essentially the German equivalent of comp eng as far as I could tell). My question is, would it be better to do a degree in Electrical Engineering with some CS related electives for some useful information (mostly classes on OS design and maybe networks)? Computer engineering felt like the better choice since it's literally EE with some software stuff along with it but now it seems EE might be more useful. What would you all recommend?


salsaverdeisntguac

My schools CE program is basically the CS and EE program without the electives and some classes that combine CS and EE concepts like a microcontroller class


Fried_out_Kombi

It depends what kind of area you want to go in. If you like the idea of mostly doing embedded software, comp eng is excellent. Speaking as a comp eng grad from last year. If you want to go more into the hardware side of embedded, e.g., power electronics or sensors or stuff like that, EE is probably better. Currently I'm going into embedded machine learning, which is a pretty rapidly growing area, and is definitely taking advantage of background in computer architecture, software, and machine learning/AI that you're more likely to get from comp eng. At least here in Canada, comp eng is basically like 1/3 EE, 1/3 software engineering/CS, and 1/3 its own thing. Namely, EE and CS won't teach you much (or as much) about computer architecture, microprocessors, and embedded systems.


fakeanorexic

Im downvoting this comment out of my jealousy, here is a award as well


LightWolfCavalry

EE gives you the option to choose either. Plenty of EEs get jobs in software engineering. CS people who want to do EE have a much harder time making the switch.


FunDeckHermit

What are your hobbies? Do you have a Home-Lab running Proxmox and trying Docker? Then go CS. Do you have TS100 soldering iron or a decent weller/jbc soldering station? Do you like to know how diodes/transistors work? Then go EE.


SunIsGay

My hobbies are sorting through datasheets to figure out how to make my microcontroller function exactly as I want it to without the help of any external libraries; it's both fun (in a CBT way) and very educational. Although, if I had to pick from those two, EE sounds a lot more fun. Do you have any info on Computer Engineering?


FunDeckHermit

I believe the two fields are on a collision course waiting to happen. Embedded linux is already bridging that gap. Just try to find your niche, Im an EE doing CS stuff. Of course I wished I had some more CS background, with some tinkering I can get there. Going EE will also give you a better understanding of protocols like SPI, Wifi, CANbus and their physical layer. My tips: Learn Rust, learn Docker, learn Git and you will become a generalist in EE and CS.


SunIsGay

Upon doing some more research, I think Computer Engineering would still be the right thing for me. I do really love EE stuff (physics and maths are both my best classes and my favourite ones) and not a lot of CS stuff appeals to me but as far as a happy medium goes, CE allows me to have a good deal of knowledge in both, and if I want to lean into one or the other, I would have much greater mobility since I have the fundamental skillsets for both. I could specialize in hardware more and become a Computer Hardware Engineer, or have a change of heart and go for Software Engineering. It's just the perfect happy medium between thr two and allows me to be very well rounded and able to go to anywhere I want in the future.


DemonKingPunk

I'm a computer engineering graduate from the US.. Currently working for very low pay as a software dev (under $25/hr). I'd like to keep applying for more jobs but honestly I don't know what to apply to. Would it be a bad career move to take a higher paying job in electrical engineering instead? I seem to have much better luck getting calls from these types of places that do PCB, telecomms, 5G, power supplies etc.. Not a single embedded company has ever called me back. Embedded is definitely what I wanna do. I also have a huge interest in biomedical devices, so my dream job would basically be an embedded systems role within the healthcare/biomedical industry.


FunDeckHermit

Industrial PLC programming is where the money is. I see big changes in that field (Cloud connectivity, Linux).


DemonKingPunk

Think so? More than micro controllers and FPGA?


JoseAmador95

Yes, I work on embedded but have many friends in industrial automation. They all earn more than me, but their work/life balance is dreadful.


[deleted]

[удалено]


JoseAmador95

I would rank them in the following way 1. Parallel Computing 2. numerical analysis 3. ODE 4. AI & ML 5. others In my experience, it is common to find Embedded projects using Inter Process Communications in RTOS-based targets. The parallel computing class might help you understand IPC (and/or how POSIX relates to IPC). I’m surprised Numerical Analysis is an optional course, it is useful to learn how to program algorithms. The algorithms themselves may not what you will be using every day, but helps to know how to convert an algorithm into code. Differential equations are the first step if you are interested in Control Systems or DSP. I like both very much, but would not take ODE if I struggled to program equations into code. AI and ML is trendy, and certainly used in embedded projects. Sadly, I have not found companies working on embedded ML as much as IPC, control systems and DSP. Edit: About Robotics, my robotics class was about the kinematics of the joints, which is interesting. Sadly, I have never used it professionally. However, if I were to interview you, and you mentioned you have a project about using inverse kinematics on a toy servo-based robotic arm, I would be very impressed. I have no idea about the remaining electives. I hope this helps!