The interface stuff is hard to gauge on the surface but don't write it off just yet. Many interfaces require lots of hardware acceleration to work right even though they look simple (for example Photoshop or Lightroom). Video editing software has to use all kinds of tricks to show real time updates usually involving some kind of fast approximations upfront with better and better ones blending in. This is often straight, hardcore programming to get the memory and performance of the rendering at a good place and not really applying PhD level stuff. Often times the topics you touch on will be years ahead of the game stuff. Game graphic techniques are often times things that we've been doing in other software for years and finally possible in a game(eg tone-mapping, HDR, physically based lighting, etc).
Things used by creative people often don't have existing widgets toolkits to draw from and entire new UIs have to be created.
Domain knowledge can be acquired along the way. Not just for games, but in general you never want to be "Just a programmer". You want to be "X that can program" or a "a programmer that knows X". You need enough domain knowledge to be useful to experts.
For cars, I don't didn't mean the car's UI itself but rather that industrial manufacturing uses tons of software with large graphics components. Things like SolidWorks or other kinds of things that analyze the physical shapes of things have a lot of just straight hardcore programming in them.
Edit: as for education, go get some! MIT open courseware has tons of calculus and engineering classes for free. The text books can be found online often times for a few bucks. The digital signal processing course was actually fun.
Then there are interfaces like this:
* http://www.musictech.net/wp-content/uploads/2016/07/Caption-...
Things used by creative people often don't have existing widgets toolkits to draw from and entire new UIs have to be created.
Domain knowledge can be acquired along the way. Not just for games, but in general you never want to be "Just a programmer". You want to be "X that can program" or a "a programmer that knows X". You need enough domain knowledge to be useful to experts.
For cars, I don't didn't mean the car's UI itself but rather that industrial manufacturing uses tons of software with large graphics components. Things like SolidWorks or other kinds of things that analyze the physical shapes of things have a lot of just straight hardcore programming in them.
Edit: as for education, go get some! MIT open courseware has tons of calculus and engineering classes for free. The text books can be found online often times for a few bucks. The digital signal processing course was actually fun.