Figure Out What You Want To Do
One thing you should do early on is try to figure out what you want to do and make sure it’s actually what you want to do.
I see so many electrical and computer engineering students making the mistake of not doing this early on. I’ve seen a bunch of students panic at the end when it’s time to graduate and they’re struggling to decide what jobs they should apply for.
Try to figure things out early on and it’ll save you from some heartache later on.
One other thing I’d like to mention is that you should really try to figure out if what you think you want to do is actually what you want to do. Engineering (including software engineering) can be a very vague field to an outsider. This includes engineering students! What you think the field is about is often not the case.
I had a student tell me early on that he wanted to get into nano-robotics. Unfortunately, later on he figured out that nano-robotics in his view didn’t actually exist - you can’t build nano-robots like they do in science fiction. Sure, the research exists somewhere in a small sense, but it’s not an industry yet. Unfortunately, this particular student was already a junior and spent some time believing that the curriculum would prepare him for this career.
That case might be a little extreme, but many people at some point have their expectations drift away from what the real world has to offer. Sometimes it can’t be helped - you might not have the most up to date people to ask or your personal experience has said something else. It doesn’t hurt to make sure that your expectations align with what that particular career path is about.
Honestly I wish I had addressed this a little earlier on and found a good direction to head towards. The usual advice is “work hard and the opportunities will find you”. It’s missing a little context, however, and the more precise advice should be “work hard, work smart and you’ll be able to find something that you can do well in and succeed”.