Can you be an EE if...

Thread Starter

spookymulder

Joined Aug 23, 2014
3
Ok. I'm guessing I'll likely be slammed for this and further humiliated of not being a "good student" but here it goes:

I HATE, and I mean ABSOLUTELY HATE programming. If anything I've learned from my Embedded Systems 1 class, it's just that. It isn't for me. My question is simply this:

Am I pretty much screwed as far as even bothering to pursue an EE degree if I hate programming seeing as how that seems to be the going trend for it thus far? Anymore it's more like a sub-set of CS and there is no other branch of EE to be seen anymore unless you want to take on a blue-collar xcel energy job of running wires on poles all day. Analog is... well... pretty much gone from what these people at my university have told me. As you my be able to tell, I'm feeling pretty discouraged and feel as though I've made yet another mistake of a degree choice... and ultimately wasted more of my life "barking up the wrong tree." Anyway, thoughts?
 

MaxHeadRoom

Joined Jul 18, 2013
28,700
Where did/do your interests lie, now and previously?
There are many avenues in electrical engineering, presumably you did have some kind of avenue of interest at one point?
Max.
 

#12

Joined Nov 30, 2010
18,224
Lots of ways to look at this.

The last time I had a wife, I helped her make Fortran run subroutines for a COBOL program. Her boss had a 4 year degree in English and couldn't program a grocery cart to buy milk and eggs, but she got paid more.

About 5 years ago, I met a guy that traveled all over the world, "installing" huge alternators, like, megawatt range. He didn't calculate anything more difficult than whether the concrete pads had been poured correctly but he made more money than I ever dreamed of.

Your world did not end when you decided programing was a PIB.
 

Thread Starter

spookymulder

Joined Aug 23, 2014
3
That's just the thing... the math world is great and isn't nearly as horrible of experience. Lot of people I run into in the program just detest it which... I find kinda odd, but then again I can't stand programming. Anyway, I'm in Calc III now and am dominating in there pretty solid. Interests? Analog is where I explore the most. Vacuum tubes primarily, but I like FETs, opamps, things like that.
It all probably started when I was about 5, and took a VCR apart. off and on 25 years since then, it's been a mental tug of war of this world, and the music world
 

Thread Starter

spookymulder

Joined Aug 23, 2014
3
Well dude, it's all work. Eventually, it just becomes that. A job. Even after getting a job working for a local modular synth builder where I live. Now that job is just doing endless hand assembly. A job I thought was awesome... slowly that too just became another job. It's all just one long continuous job... a job of finding what you want to do for the rest of your life... job of going to school to hopefully have them point you into a direction of what you WANT to do vs NOT want to do. So far I'm not finding a whole lot of success at that... or really life in general for me lately. Just not happy. Feel like I'm running short on anymore options.
 

amilton542

Joined Nov 13, 2010
497
Bingo. Computer programming is my Achilles' heel. However, today's degree is quite well rounded-off, though. I enjoy almost everything about it now. I'm enjoying analogue electronics, semiconductor physics and power engineering at most now. But unless you're extremely lucky, there's no such thing as a dream job. So if I were you, I'd begin to adventure into foreign territory before it's too late.
 

DerStrom8

Joined Feb 20, 2011
2,390
Maybe it will help to determine what exactly it is about programming that you don't like. It may simply be that you have a bad teacher, and s/he has been making things much more difficult than they need to be. Or, perhaps you're working with a processor or IDE that is poorly laid out. I work occasionally at a university as a lab technician, and as a part of that job I interact with a lot of students, many of whom feel the same way you do. Many of them despise microcontrollers because all they've ever had the opportunity to try was, say, the MSP430, and their professor did a VERY poor job of teaching them how it works and how to use it. Trying to program the chip without a solid background may seem like trying to design a space shuttle to fly to Pluto when all you have is a basic understanding of algebra.

On the other hand, programming isn't for everyone. If you try several different types of platforms (MSP430, PIC, ATMEGA, Arduino, etc) and try doing some self-study but still hate it, then it may just not be for you. To be an EE you may not need programming experience, but it is incredibly useful and will widen your job selection in the future. My recommendation would be to keep trying, explore different possibilities, and see if the pieces of the puzzle start falling into place. If you can find one microcontroller that you can understand (with the exception of Arduino--but that's another story) then you will find it easier to understand other types as well. The reason I say "with the exception of the Arduino" is because the Arduino comes with an awful over-simplified IDE that's impossible to learn from. I don't recommend it personally unless all you're doing is a one-off product.

As always, we are here to help you. If you have any specific programming questions, don't hesitate to ask them here on the forums. Just make sure you provide plenty of background to the project, your experience level, and so on. I'm sure there are plenty of members here who would be very happy to help you out.

Regards,
Matt
 

MaxHeadRoom

Joined Jul 18, 2013
28,700
Well dude, it's all work. Eventually, it just becomes that. A job. Even after getting a job working for a local modular synth builder where I live. Now that job is just doing endless hand assembly. A job I thought was awesome... slowly that too just became another job. .
For me it didn't work out that way, as soon as it became a 'Job' I moved on, and in each case it was a move up, I Especially felt sorry for those in the places I visited that were doing mindless tasks every single day.
I don't consider myself particularly brilliant in the occupation I chose of Electrical/Electronics.
But I sincerely think that doing something you love or like to do and learn to do well is reflected in how people view your skills and enthusiasm.
Max.
 

Thread Starter

spookymulder

Joined Aug 23, 2014
3
DerStorm8:
Figures. That's exactly the one she uses too (Arduino). I do not get Arduino. At all. Makes no sense. Oh and the challenge of an INSANELY fast paced educator attempting to fly through pretty much everything there is in C language, these arduino labs, a full independent project with presentation of 10 min a pop, weekly VERY tedious hw assignments, unannounced quizzes, and tests that a class averages 50%. The second "lab" of using that thing (due this Tues) meant using it with some other Processing program and coding all the stuff to make it change led's with mouse clicking. Half-baked explanations is about all we got for most of the instructions. I tired for seriously 10 hours. Googling... looking on arduino's "lovely" website... nothing. I talked to 2 other people of my "crew" in there yesterday... they got nowhere either. Pretty lame teacher for sure. Now it's pretty much like pulling teeth to get me to do any work for this class. I'd rather drudge through a physics lab (one of the PITA long ones too) than do this stuff. I'd honestly be hard pressed to wish this class on my worst enemy. It's really just that bad.
 

elec_mech

Joined Nov 12, 2008
1,500
Welcome to AAC.

Just to add a bit to what DerStrom8 said, programming for a college class is often more difficult than it needs to be and rarely represents exactly what you'll do when programming professionally or for a hobby. I took an "Embedded Systems" course a few years ago when I thought I'd attempt to get a masters, and found it challenging despite having written several programs both professionally and myself over the years. Part it of it was the program we used and the other was the task we were given. I got through it, but I understand your frustration. Just keep in mind college courses aren't an accurate representation of a subject, at least not fully.

Programming is a broad term by the way - are you writing programs for a micrcocontroller, an FPGA, Windows, or something else? What programming language are you using? There is a huge difference between between, say, writing a Windows program vs an FPGA. There is also a difference between writing a microcontroller program in assembly, C, and BASIC.

But back to your original question, no, disliking (or simply not) programming doesn't negate you from getting an EE job. There are so many different EE jobs and specialties, it would be impossible to master them all. By that token, they all don't require programming.

It sounds like you are mostly interested in analog and audio. Whatever your interests are, I'd suggest looking for jobs in that field(s) right now and reading the job descriptions. Which ones sound like something you want to do? Do they require programming? That will help answer your questions.
 

DerStrom8

Joined Feb 20, 2011
2,390
DerStorm8:
Figures. That's exactly the one she uses too (Arduino). I do not get Arduino. At all. Makes no sense. Oh and the challenge of an INSANELY fast paced educator attempting to fly through pretty much everything there is in C language, these arduino labs, a full independent project with presentation of 10 min a pop, weekly VERY tedious hw assignments, unannounced quizzes, and tests that a class averages 50%. The second "lab" of using that thing (due this Tues) meant using it with some other Processing program and coding all the stuff to make it change led's with mouse clicking. Half-baked explanations is about all we got for most of the instructions. I tired for seriously 10 hours. Googling... looking on arduino's "lovely" website... nothing. I talked to 2 other people of my "crew" in there yesterday... they got nowhere either. Pretty lame teacher for sure. Now it's pretty much like pulling teeth to get me to do any work for this class. I'd rather drudge through a physics lab (one of the PITA long ones too) than do this stuff. I'd honestly be hard pressed to wish this class on my worst enemy. It's really just that bad.
After reading that, I know exactly why you say you "HATE programming". You don't hate programming, you hate how your teacher is trying to teach you how to program. I never understood teachers or professors trying to teach someone to program in a single class. Nobody would ever try to teach you to be fluent in a native language in a single class, how would they expect you to learn the entire C language, as well as how the hardware works, AND how the two work together in that short of a time? Learning how to program takes time, patience, and practice. Don't let your class be your only picture of programming. Chances are it's far different from what you would program in real life.

I always hated to see professors trying to teach microcontrollers using Arduino. The Arduino IDE is VERY poorly designed and prevents the user from ever understanding how their code corresponds to what makes the microcontroller tick. I'm not going to go off on a tangent here, but Arduino is an awful platform for learning. Instead I recommend trying the PIC, MSP430 (TI launchpad, for example), or the ATMEGA AVRs for self-study. However, I understand you can't do that for class, so we'll just have to work with what you've got.

One thing I have to keep stressing to my students (well, they're not technically mine, but I have done a lot of tutoring for them) is that university requires more than just sitting in a class and trying to absorb everything the professor is saying. It requires self-study and self-experimentation. Start from the beginning--A simple "Hello, World!" program (flash an LED, for example)--And then move up. From a flashing LED you could try making two LEDs flash alternately, then make them flash in a sequence (think an LED chaser, like the front of Kit from Knight Rider). Then try adding a servo motor and turn it 90 degrees and back again. It's just very important that you start simple, make sure you understand why it does what it does, and then add a bit. That's really the best advice I can give you--It is very easy to be overwhelmed by large, complicated microcontroller projects, but if you start simple and work your way up, you'll see it's just like adding building-blocks. If you know how each individual building block works (one block may be a blinking LED, one may be a turning Servo motor), then you'll see that you can easily put them together and have a blinking LED AND a servo motor. It's much simpler when you know how each building block works, rather than trying to build the entire project at once.

Again, feel free to post questions here on the forum. Just remember to show what you have done so far (including code) so that we know where to start helping you.

Good luck!
Matt
 

Thread Starter

spookymulder

Joined Aug 23, 2014
3
The mantra I had early on was just "get through it and move on." Not unlike my English classes. However, this time there really isn't much of a "get through it" possibility happening here. Nor is this something that will just go away. Like trig, it looks like this stuff just keeps coming back based on the names of some of these classes like: Digital Hardware Design, Embedded II, MATLAB... there is no real escaping this stuff as the EE program, or at least at this university, continues on.
I feel lucky not getting this teacher for Logic Design. That was plenty hard as it was. Later I found out that nearly 1/2 the class I was in was re-taking it with the teacher I had because she was so awful the previous semester and they all failed it due largely to her ungodly workload and extremely difficult exams.
elec_mech: we are to use:
-Code:Blocks
-Arduino Uno
-Processing
All the above in C. And for her class, you better have those mastered by week 1 pretty much. The homework questions, she makes up. The arduino assignments... again... she makes those up. Googling rarely works which... crazy. As deep into the part-mining depths as I have gone, few times have I run into a situation where Google does not help a person to find information. The book? I type symbol for symbol, letter for letter the example code in the book. Never compiles. Consequently I rarely turn to the book. Often it just ends up confusing me further.
Bear in mind this is a freshmen level EE class too. PM if the name of said Univ. or name of the professor is of interest.
 

ISB123

Joined May 21, 2014
1,236
This guy has nice tutorials on programming. If you can't understand what your teacher is doing/teaching then learn at home with the help of internet and books.

You should take it easy don't try programming a Mars rover.
For example take a simple "if" statement and try writing a small program using it and few basic "words".

Something like this:

If you can understand what a simple code like this does then you are off to good start.

Code:
int pot = 2;  //Potentiometer input(wiper) pin.
int led = 13; //LED pin.
int val = 0;  //Value from 0-1023.
        
void setup()
{
  Serial.begin(9600);
  pinMode(led, OUTPUT);
}

void loop()

{
 

  if (val > 510 )
  digitalWrite(led, HIGH);

  if (val < 510 )
  digitalWrite(led, LOW);

    {
    Serial.print(val);
    delay(5);
    }
}
 

Thread Starter

spookymulder

Joined Aug 23, 2014
3
Well, I guess worst comes to worst I'll keep going to class, figure out what the remaining 5 weeks or so of it will entail, then take time learning this stuff on my own without an ungodly amount of busywork to drown in, then pick up the class again more heavily armed with knowledge either next Spring or Fall. It may be too late to take a W on it. Likely if I did she'd boot me out since I wouldn't be officially enrolled in it... may just have to take the D or worse this go round. I'm really not selling myself short here. There's seriously no way I can pass. Not with her lab and Calc III on my hands too... and a job I may have alienated for so long I'm not 100% sure I'm even remembered there haha.
 

DerStrom8

Joined Feb 20, 2011
2,390
Well, I guess worst comes to worst I'll keep going to class, figure out what the remaining 5 weeks or so of it will entail, then take time learning this stuff on my own without an ungodly amount of busywork to drown in, then pick up the class again more heavily armed with knowledge either next Spring or Fall. It may be too late to take a W on it. Likely if I did she'd boot me out since I wouldn't be officially enrolled in it... may just have to take the D or worse this go round. I'm really not selling myself short here. There's seriously no way I can pass. Not with her lab and Calc III on my hands too... and a job I may have alienated for so long I'm not 100% sure I'm even remembered there haha.
Just do the best that you can with the materials at your disposal (including the internet). If you fail, then at least you'll know you tried your hardest, and you'll be ahead of the class if you take it again. Just keep practicing, and try some projects on your own (if you can find spare time). That's really the best thing at this point.

Good luck!
 

Thread Starter

spookymulder

Joined Aug 23, 2014
3
Speaking of said projects, I've actually had one in mind for a while:
Take an old SNES controller and retro it up for USB. I have an emulator on my computer, but keyboarding your way through mario is pretty tough haha. I also have an old controller... anyway I've heard of people doing it. It'd be more fun/educational to DIY that than just buy one.
 

elec_mech

Joined Nov 12, 2008
1,500
They are now using Arduinos to teach a EE class? What is the world coming to? :eek: Matt - it's nice to hear from someone with Arduino experience confirm my suspicions that it is not an easy platform to learn from. If you don't mind, I may PM you on this subject for something I'm doing on the side. I think Arduino's success lies in the fact there are so many examples online that most people can cobble something together without really understanding the code. I've never had a lot of luck with programming in C to begin with mostly because I had a hard time finding any good step-by-step instructions on programming a uC in C when I tried to learn.

OP,

One other piece of advice, especially since you mentioned freshmen - join an EE club at your school. This may be IEEE, a robotic club, a senior design project, etc. The cost is usually minimal, if any, and it looks good on a resume, especially if you start your freshmen year. But more importantly, you'll quickly meet other EE's from freshmen to seniors and can ask them their experiences with the professors, classes they liked, course requirements, etc. I remember taking Calc. III with differentials with an instructor who had difficult MATLAB labs as a requirement. I learned after I struggled with the class and made it out with a C or D that if I had waited to take it the following semester, I would have gotten a different professor who didn't require MATLAB. Networking with other students is invaluable. You might also find other students willing to give you their old lab assignments to learn from for your class.

If you stay in the class, be absolutely sure to fill out the ' professor comment card' at the end of the semester if your school does such a thing. By the end of the semester you're all ready to get the final exam over with and bolt. I went to school to be a Mechanical Engineer and the one and only true EE class I had was taught by a guy that thought all our electronics theory was covered by the Physics courses we took and if we didn't understand something below him, we had to figure it out for ourselves. So many of us gave him a bad score that the University didn't allow him to teach that course anymore, or so I was told. Didn't help us with our grades, but at least we helped other students from suffering the same fate.

Good luck.
 
Top