CS is so big, there are so many things to do.<p>How do I find out what I should "specialize" in?<p>I've studied a whole bunch but I just don't know what to do.
Look for chances to demo skills / show knowledge beyond book/classroom skills.<p>What subject areas / classes outside of direct classes were 'interesting'?<p>Figure out ways to apply what have learned to 'non-CS' areas. Perhaps start with finding related 'open source' software that might help with a given area & explore how to customize/change open source software to fit the situation.<p>Talk to prof(s) (cs & non-cs) about topic(s) for independent study and/or something realated to what instructor/professor does. (may/may not be related to above).<p>Look at internships / volunteer opportunities / hobbies to start applying/figuring/trying out how to use/apply/practice what know.<p>Use above experiences to get/broaden connections/learn about opportunies & different releated interests.<p>Document and present the above in some form (web, paper, conference, video, etc). Keep document/site statistics for future suggestions on 'what should I do now'
I would recommend to stay away from AI… everyone and their dog are into the topic right now so you’ll probably face fierce competition in finding a job when the current hype is over.<p>We’re always looking for good students in anything related to systems if this is your thing - OS, distributed systems, compilers, virtualisation, hardware design/codesign, system level security and all sorts of embedded systems topics. Most of the students here in Germany choose to go to industry after graduating (which pays quite a bit better than universities right now in these areas), so we have quite some trouble to find good PhD students…