Hello HN,

I'm currently in the second semester of my Bachelor in Computer Science in Germany, but I learned to program pretty early in high school.

I want to decide what I want to specialize in and I hope you can give me some recommendations or new ideas.

I enjoy building optimized software in my free time, working closely with the hardware. For example I worked on an application doing calculations and rendering on the GPU in Rust (I learned almost everything for that on my own. I really like Rust now).

This is also why I dislike web development (impossible to build well optimized web applications). Maybe embedded programming is something for me?

I've also always been fascinated by game development (I made a few small games myself), sadly it's not paid that well, but thinking about a concept, building a game around it (with help from a friend for art) and letting people play it is an amazing feeling. I hope to have enough free time next to my job to keep doing that.

I am also interested in computer graphics in general, for example algorithms like raytracing, raymarching, so I wonder what your thoughts are on working on a game engine or a renderer for movies.

My grades of the first semester were okay (2-3) in math (I am doing a math minor) and good (1) in computer science modules. I really like to learn and come up with algorithms and to prove theorems (I liked analysis and linear algebra). What are your thoughts on going into research?

Maybe AI, machine learning or computer vision are something for me, but from my research it looks like most of the job consists of collecting and cleaning up data and feeding it into an existing learning engine, not actually implementing or improving the engine. Also it sounds to me like "AI" is over-hyped.

So I think that sums up most of what I can tell you about me. What computer science fields did I not see? What jobs would you recommend me to look into?

Thank you for your time.