3 ms·
1. Use your uni time to build up a portfolio as well as your grades. Bonus points for anything that is being used in practice to solve a real problem for someon
by red_admiral 6y ago
1. Use your uni time to build up a portfolio as well as your grades. Bonus points for anything that is being used in practice to solve a real problem for someone other than you, because that's one kind of thing that a business can make money with. If you have time for any side-projects, include them - obviously include any coursework/projects too. I got my first job because of a combination of doing well at uni, and working as a teaching assistant where I got fed up with a complicated excel-and-email-based system for tracking people's engagement and grades, and I wrote a database application with a web UI to make everyone's life easier. Back in those days CGI (common gateway interface) was all the rage and XHTTPREQUEST hadn't been invented yet, but it did the job. The interviewers were impressed that I'd already written "real code" and that set me apart, because one question they're trying to answer is "what will the candidate be able to do" and a good answer is "here's examples of what I've done already".
2. Learn how to build a web-based database front end application properly. This is a kind of bread-and-butter job that's not the most interesting thing in the world on its own, but is fundamental for a lot of things that create business value. There's a whole stack of technology behind this, and it pays to know what's going on "under the hood" of tools like ORMs, "reactive" JS frameworks, dependency injection etc.
3. Spend some serious time on at least one thing that is not CS.
4. On the CS knowledge side, algorithms/data structures and compilers are two things to take seriously to the point where you've achieved mastery, not just passed the class (even with a good grade).
5. Learn and use tools. At a not-too-bad uni I've still seen students in their penultimate year e-mail ZIPs of their code to each other ... version control, continuous integration, unit testing, linting etc are all things that happen in professional software development, but (mayby I'm just being Europe-centric here) especially at some good unis, they think this stuff isn't worth teaching and students can just find it out themselves. Knowing all this stuff is a huge plus in an interview, but even before then, it will make your life easier when you're doing coursework projects.
6. There are situations where an IDE is the right tool for the job and you shouldn't turn your nose up at it. Find one that suits your taste and learn how to use it, things like debugging, "go to declaration" or "find usages".
7. Finally, decide where your personal moral compass lies. Some people want to write AIs for self-targeting missiles, other's don't; same for "ad tech". You want to work in a sector and company that's a good culture fit for you.