I'm a third year Engineering student, and by the end of the third year, there's going to be a lot of activity surrounding internships, placements, etc. While I was confident enough in my interest and programming skills when I first started, that sentiment has slowly eroded over the years what with the rise of ChatGPT, and AI which functions as a full-fledged software engineer. Part of the reason for this erosion is also my curriculum, which I feel is more oriented towards just rote learning and marks, whereas I'd expected a more hands-on, application-oriented approach.
In short, I feel university is not preparing me for the next step.
So, to my question: how do I find my niche in the broad field of Computer Science, and hone my skills, so that I become invaluable? For one, I'm really interested in operating systems, the Linux Kernel, the concept of Embedded Systems, C programming language as a whole, etc.
How do I get started if I want to revamp my learning? How do I become a proper software developer?
Thanks.
Don't worry too much about optimizing for the best company, niche, tech stack, whatever. Focus on getting a breadth of knowledge, learning how businesses operate and how you contribute to their profit centers (great advice here: https://www.kalzumeus.com/2011/10/28/dont-call-yourself-a-pr...), how to work well with people, and various approaches to software design.
Keep an open mind (fight overzealousness in your opinions) and approach your work with a positive attitude and you will see all kinds of opportunities to specialize present themselves. Then, your hardest decision will be which specialization creates the most leverage for you.
Don't get bogged down by AI, mass layoffs, or any of the other doomsaying. If you're made to feel fearful, it's because someone is trying to profit off you.
I am a self-taught developer so take all my advice with a grain of salt ;)