I'd echo another commenter to optimize for your earnings: pick the one thing out of many that seems to have the highest starting salary, and go for it. That is, if you think you'll be happy with a specialized career...
For myself, I like a lot of different aspects of both software and hardware (but pure software more-so) and I think it's really hard to sell yourself as a generalist in hardware unless you're joining a startup. I successfully advertised myself as a software generalist and that led to a decently paying job after graduation from my CE program where my career trajectory for what I'll be doing in 5 years isn't really fixed. I like FPGAs and embedded RTOSs and radar applications, and I like web apps and game programming and databases, but it scares the crap out of me to think that I'd have a 20-40 year career with a single focus on just one of those (and have to relegate all my alternate interests to side projects, if I can muster the time and energy for them). Some people are born for that, I'm not. Just be sure you know for yourself which you are before making a big decision...
Hi everyone , sorry for hijacking this thread and this might seem some kind of rant to some developers/engineers anyways thanks for reading on :)
The University I'm currently studying in is state university and one of the deemed in my country. I'm studying bachelor in CS (4yrs) course and 2nd year is about to end. This semester we were taught about S/W engineering as a separate subject. I had huge expectations with it because I was primarily interested in different kinds of methodology and norms that real s/w engg followed in the world out there.
Now what happened through out the semester was , we were taught management , micromanagement and how to write beautiful pdfs in non-paid MS Words :|. There was not a single class where we were taught milestones , scrums , agile and software design , documentation , working collaboratively , dividing work , version control , just nothing. Instead focus was solely upon management works like Risk management , how to make RMMI tables , how to make gnatt chart using excel and things like those.
Don't get me wrong , I believe that planning ahead for risks is better step , making gnatt chart might help someone someday , but is this management thing software engineering?
Also I haven't mentioned about what we had to do for semester project in this subject. We have my practical tomorrow , most of students are submitting variations of parking lot software , which comes up 1st on google searches.
What I'm afraid of is , almost 99% of students already have no idea about programming , and alike me , they too had expectations that they might actually get to work on simple , even non-GUI kind of software and learn something better , but everyone is kind of disappointed after this. Is this real software engineering? Are software engineers paid to do this?
Around my third year in mathematics, I had the same realization: I did not know what I wanted to specialize in. After some thought, I understood it to be because I did not know enough about all the various fields to make a solid decision.
Though mathematics and computer engineering are two distinct fields, consider that this may be a similar position to the one you are in.
Thank you very much for your feedback everyone, I really like Computer Architecture(Datapaths, MIPS, ARM design) and Machine Learning. Its really a tough choice because I have also taken a lot of electrical engineering courses, computer science and computer hardware design courses. So...its really a tough decision.
Statistics and machine learning are heavily sought within tech jobs and will be more so (as long as the robot uprising doesn't happen in the next year) in the coming years
For myself, I like a lot of different aspects of both software and hardware (but pure software more-so) and I think it's really hard to sell yourself as a generalist in hardware unless you're joining a startup. I successfully advertised myself as a software generalist and that led to a decently paying job after graduation from my CE program where my career trajectory for what I'll be doing in 5 years isn't really fixed. I like FPGAs and embedded RTOSs and radar applications, and I like web apps and game programming and databases, but it scares the crap out of me to think that I'd have a 20-40 year career with a single focus on just one of those (and have to relegate all my alternate interests to side projects, if I can muster the time and energy for them). Some people are born for that, I'm not. Just be sure you know for yourself which you are before making a big decision...