The C++ jobs I've been approached about are in the music and gaming industries. Both jobs are audio-related. I have a strong background in audio signal analysis and processing, despite my minimal C++ chops.
Sounds cool.
I personally would take the C++ job because I have also some background in image and signal processing. Therefore the topic itself is more interesting than the tool, in this case C++, for implementation. Even if they use Rust I would take the job.
I personally can't see a career in a particular programming language. There are so many programing languages out there. Wouldn't it be better to get expert like knowledge in some specific area. For example becoming an expert in distributed systems for the automotive industry. You would then participate in design and implementation of a distributed system. I think this would narrow down the needed knowledge, however life long learning is still needed.
There are so many languages but C is still out there and so many young people don't wanna touch it. As for the domain knowledge it transfers quite well I think. If u did some c++ for a database how bad does your knowledge decay if you go to the auto industry?
I don't wanna be argumentative very happy to be corrected here I really want feedback on this decision.
Maybe we misunderstood us here a bit :-)
I didn't mean that your C++ skills are decaying when you switch to automotive industry but before that you we're a C++ database developer.
My thought was that instead of learning a particular programming language, become an expert in e.g. database systems.
Maybe I can give you some personal information about stability of C++. Answer: in my opinion it depends on the industry.
We are writing software in C++ for machines which will be used for the next 20 years. In our case, knowing C++ very well is a plus because our systems have to live long. For example some time ago we needed a software developer who has knowledge in C and assembly for the C51 microcontroller architecture for some old human machine interface. Nevertheless we're evaluating Rust for new projects. As you can see in my industry C++ knowledge is very stable but be prepared to learn a new language like Rust.
This, try to learn languages from different areas. You don’t really have to become an expert in a domain either, knowing C++, Java and basic software engineering will get you into a lot of places.
Good luck! Try not to get stuck on extreme details; C++ is a very rich language but most people that work with it have pretty rudimentary knowledge, you’d be surprised.
Thank you! Can u explain further your point on learning a language from different angles? Or in general what is your strategy to remain relevant in tech?
Ah the Brain-Computer-Interface. While in university I worked on such a thing. The EEG acquisition hardware was from g.tec medical engineering with an interface to Matlab. I trained a Neural Network (it was the year 2010) to classify steady state visually evoked potentials.
Maybe I have to elaborate a bit here. Neural Network sounds fancier than it really is. The steady state visually evoked potentials work as I recall in the way that when a person stares at a light source which blinks in a particular frequency then one can measure an EEG signal over the visual cortex which has the same frequency and multiple of it, as the light source.
For example if a person concentrates on a blinking LED with 4Hz then a signal with dominant 4Hz and 8Hz, 12Hz and so on can be measured over the visual cortex. I think in this explanation are some details missing ;-) We used LED sources with different frequencies which represented different actions like left, right, up, down etc.
The Neural Network was trained with the frequency spectrum as input and not with the raw EEG signal. However I think the correct and easier solution was to use a filter bank (comb filter) to determine the frequency of the currently measured EEG signal. But back then I read the first time about Perceptrons, XOR problem and Neural Networks. It was cool and I wanted to try it out. The challenging part back then 2010 was that there was no TensorFlow or Pytorch. I was equipped with Matlab, the Signal Processing Toolbox and my dangerous superficial knowledge about Neural Networks. I implemented backpropagation and gradient descent myself for fun and the output was a matrix which represented the weights of the Neural Network. The "inference engine" was a matrix multiplication. The matrix with the weights multiplied with an input vector and as the activation function I used tanh(). Surprisingly the classification worked very well and it was fun to implement all that stuff. This all sounds like grampa talking about WW2 again :-)