During many career talks I attended, I noticed that some questions come back every time: " As a final year student, how can I get an internship? What can I mention in my CV to make it attractive? " 🤔
The problem is that always we start being concerned about internships too late, only some weeks before starting the search operation 💣 Although, finding a good internship needs to be prepared many months before…
The best approach to start working hard since the beginning to avoid any bad surprises:
- Learning Data structures and Algorithms: the most important in the fundamentals that every developer needs to know. Many great books cover this part:
- Learning programming languages: choose one main language + one or more second-level languages:
- The main language will be your primary language for example Java, Golang, JS, Python, DotNet
- As it’s impossible to live with only one language, you need to know more languages that you will use along with the primary one. For example: if you are doing Java mainly, you will need to learn some JS for front-end development and Python for Datascience/AI.
- Learning coding and design best principles: many books and courses are available:
- The Robert C. Martin Clean Code Collection by Robert C. Martin (goodreads.com)
- Release It!: Design and Deploy Production-Ready Software by Michael T. Nygard (goodreads.com)
- TDD, DDD, BDD, UML, Enterprise Patterns, etc..
- Learning networking and databases fundamentals: we always forget to discuss these points, but in real world, these are mandatory…
- Learning Cloud concepts and technologies: Docker + Kubernetes is a must for everyone…
- Learning more: Getting started with one of the most popular cloud providers: for example, Microsoft is regularly offering free vouchers to pass the Azure Fundamentals Certification AZ-900 for free 😁
But, after learning all of this, how to prove to recruiters that you really know what you are mentioning as skills in your CV ? the obvious answer is to pass certifications. They always have been the first proof of knowledge for a given technology or solution. But, this can be costly for students to afford. The other alternative exists and for free 😁 making “PERSONAL PROJECTS” 🤪
Personal projects have been always the best way for learning technologies: when we are following tutorials and guidelines, we are developing personal projects. These projects can have different sizes depending on the context and the covered technologies. But it’s an opportunity to work on real use cases that can cover day-to-day situations; these projects can be covering many areas of knowledge that can be orchestrated. I wanted to make this post to list some examples of projects that can be done by students to cover a good set of technologies and solutions; something that can be considered as interesting assets in a student’s CV.
I will make this README in a Github repository, if you want to contribute, you are welcome 🤗 🙏