Some of you may remember me from a few years back. I disappeared off the board (with an ocassional post or two) due to a busy schedule of college and part time work, exams, work placements, final year projects and more exams. Since that time I have graduated and managed to get myself a job as an embedded s/w engineer - so I now program in C for a living!
Anyway, that reason I'm posting this is because I want to extend my gratitude to the community. Without this board I wouldn't be where I am right now, so in short, thanks. When I was last here I focused on helping other people with their problems and in doing that I learned an enormous amount, which I believe was essential in driving me towards my current career. So I'd like to start giving back again, whenever I can.
But first, I'd like to ask for some advice for myself. I'm currently considering where I want to be in a few years, and I have a few ideas, but first, I need to get skilled up and herein lies my question. At present I only work on s/w but as it is embedded s/w, it requires a good understanding of the h/w underneath. This is great because I'd like to consider myself as more of a systems engineer - I like the idea of a wide skillset that spans h/w and s/w design.But at present it's s/w for me, and I need to consider what areas to improve in.
I'll be taking a training course in C for embedded systems and I'd also like to do an embedded C++ course as well. Working with a variety of OSes is a must (which is something that will definitely come up in my current work) and I'd obviously need to cover a few different assembly language instruction sets, at least to be able to decipher them. I'm also thinking about UML, and where that might fit into s/w design. Does anyone have any good suggestions on what I should add to this list? I'm thinking of stuff like SystemC and SystemVerilog, networking and telecommunications topics (such as knowledge of IPv6). There's a ton of stuff I could pursue in s/w but I'd like to focus on stuff which is relevant to the goal of staying on the embedded side i.e. no Win32 API, but the Linux API is likely. Any advice would be much appreciated.