4 ms·
I'm wondering where I'll be. I did Chem engineering in college, but have been programming since I was 17. Now I've moved to electrical design Engineering sinc
by helpPeople 7y ago
I'm wondering where I'll be.
I did Chem engineering in college, but have been programming since I was 17.
Now I've moved to electrical design Engineering since it seems to be a hybrid of engineering and programming.
So far my job is understanding everything that goes into my complex system. I'm not sure if this or embedded programming is my future. What is more valuable?
- busterarm 7y agoI think there's also a large gap for people who only have a CS education and those with a traditional engineering background. Traditional engineering skills are very undervalued in this industry and I've met very few "engineers" in this field who understand engineering basics like control systems. IMO that's very valuable for building the systems we build -- I can't tell you how many half-baked implementations of some of the parts of PID I've seen kicking around. And I say that as a completely self-taught, college dropout senior developer.
- jedberg 7y agoI think you have a good point. With today's complex distributed systems, control theory should really be emphasized more. I didn't learn it in school, but I definitely studied it when I started being responsible for the uptime of complex systems!
- busterarm 7y agoNot going to lie, it's somewhat validating reading a +1 on this from you. It's usually one of my more unpopular opinions and I work in ops.
- jedberg 7y agoI mean my personal take on it is that if you don't have a most basic understanding of control theory, you won't understand what your monitoring system is telling you nor will you know how to programmatically react to it. In fact, I have a perfect counter example. At reddit, to even out load on our databases, we built a system that would take into account current load on the database when choosing which read slave to select. As it turns out, this doesn't work well, because you overwhelm the slave with the lowest load because the the reaction time is too slow compared to the request time. We had to tweak it to account for this. Had we known control theory, we would not have made this mistake. On the other hand, that mistake didn't cause us that much damage and we were able to devise a solution that ended up being right. :)
- joshvm 7y agoMy experience of embedded is that it encapsulates needing to know everything about more complex systems. You can't make any assumptions about anything, which makes life fun. And often it's something totally unexpected which causes you grief. I do a lot of embedded work without a CS degree. Every board and chip is different, so you learn by doing. But,at the same time a lot of hardware is basically the same. You have some low power cpu and a bunch of standard peripherals. Once you know how most of them work, it's just engineering to figure out what libraries you need. There's lots of work in embedded that's for sure. There's also a huge amount of variety depending how close to the metal you want to be.