Bunch of free tutorials, hosting sites, organization tools and some student benefits
Table of contents
In this post, I will list some free stuff that you can get on the internet and that might be useful for you.
I will try to organize them in some categories so you can just skip them if you do not care about them. I just want to point out that I am not affiliated with any of these pages, I just find them interesting and helpful.
So let's start
"Education is the most powerful weapon which you can use to change the world." This quote was said by Nelson Mandela and I think we all can agree with it. We are lucky that we are living in a world where education is very accessible to us through the internet.
I will show you some sites that offer education in computer science or in some specific programming language.
Pluralsight is an education company that offers a variety of video training courses for software developers, IT administrators, and creative professionals through its website. It is a subscription-based site which means that you need to pay money to get access to their videos. They also offer a 10-day free trial. I will show you how can you get one month for free. Pluralsight is good because there are beginner, intermediate, and advanced level topics for some programming languages, frameworks, or tools. They also have those videos grouped in categories called paths. Paths combine specific courses and tools into one experience to teach you any given skill from start to finish. Paths are aligned to an individual's knowledge level, to help you and your team develop the right skills in the right order.
To get Pluralsight for free for one month you just need to go to Visual studio benefits and log in with your Microsoft account. If you don't have a Microsoft account, you can easily create one with any email address. Once you are logged in, you should see this:
As you can see, you also get a free subscription for some Microsoft products and also one month of premium subscription to Linkedin learning.
Udemy is an online learning and teaching marketplace with over 155000 courses and 40 million students. There you can learn programming, marketing, data science, and more.
Every once and then, some courses become free so you can claim them on your Udemy account. To do so, you need to obtain a coupon that gives you a 100% discount.
People post those codes on this subreddit. Just get the code and apply it to the course. Then you can start watching that course. Keep in mind that not all courses are good, so sometimes it is not even worth taking a coupon.
The Odin project
Free Code Camp
Free code camp is a non-profit organization that consists of an interactive learning web platform, an online community forum, chat rooms, online publications, and local organizations that intend to make learning programming accessible to anyone. The curriculum is mostly focused on web development but there are also parts of the curriculum focused on Python (data analysis, machine learning, and scientific computing).
Free code camp also has a great YouTube channel where they post various programming tutorial videos.
Free Programming Books
Free Programming Books is a list of over 3,000 free programming books and other free programming resources, maintained collaboratively as a repository on Github. With lists in 29 spoken languages, it has helped countless programmers around the world acquire and improve their programming abilities.
edX is an American massive open online course (MOOC) provider created by Harvard and MIT. It hosts online university-level courses in a wide range of disciplines to a worldwide student body, including some courses at no charge.
You can learn about computer science, data science, business, chemistry, medicine, music, and many other topics. You can enroll in courses for free, access materials for a limited time, and only if you want a certificate at the end, you can pay for it.
I think everybody at least once in their life wanted to create some kind of game. Devga.me is a great starting point. They have a great number of guides, tutorials, free resources, tools and engine recommendations, a YouTube channel, and a Discord community.
If you want to host a personal project, proof of concept, or any non-commercial app, you can do that easily and for free on several web hosting providers.
If you don't have any application to host, then you can create a basic 'Hello world' application written in Java, C#, or any other language you are working with and host it. That way you are getting useful and new experience of putting applications on the server.
'The big three' free tier
(Probably) The three most popular web hosting providers are Amazon, Microsoft, and Google. But they are not just web hosting providers, they offer cloud services. But for now, let's just focus on web hosting. If you want to host a web application, select one of the providers and Google how to do hosting. There are plenty of tutorials explaining step by step how to do that. If you are a web developer, it is good to have some experience with any of the providers because some companies are using cloud services almost on daily basis.
Heroku free tier
Heroku is a cloud platform as a service (PaaS) supporting several programming languages. One of the first cloud platforms, Heroku has been in development since June 2007, when it supported only the Ruby programming language, but now supports Java, Node.js, Scala, Clojure, Python, PHP, and Go out of the box. There is a high chance that you can host any language to Heroku using Docker. They have documentation for every language they support so it should not be hard to have your application up and running.
If you want to host a website, portfolio, or blog you can do it for free and it is very easy.
All you have to do is:
- Create or log in to your GitHub account.
- Create a new repository that is named your_github_username.github.io
- Add index.html with some content and commit that.
- In your browser visit your_github_username.github.io. You should see the content of your index.html.
Being a developer means that most of the day you are sitting in front of a computer. You are using your mind a lot more than your body. This can result in mental exhaustion, stress, and burnout. To prevent or reduce those negative impacts on your mind it is a good idea to organize your days and increase your productivity.
As a developer you get (or take) tasks from issue tracking and project management applications like Jira. But during your workday, you need to do several other things that are not directly connected to your tasks like attend meetings, call or talk with colleagues, review pull requests, onboard new colleagues, etc.
Sometimes you have a lot of tasks like this and they can cause a problem for you. The best idea would be to write them down so you don't need to remember them and then prioritize them. That way you have those tasks in the same place and you resolve them by priority.
Todoist is an application that does that. It allows you to create tasks as a TODO list for every day, set priority on every task, and even sort tasks in projects. When you complete your task just delete it and focus on other tasks.
Evernote is an app designed for note-taking, organizing, task management, and archiving. The app allows users to create notes, which can be text, drawings, photographs, audio, or saved web content. Notes are stored in notebooks and can be tagged, annotated, edited, searched, given attachments, and exported. Evernote is cross-platform, for Android, iOS, macOS, and Microsoft Windows. It is free to use with monthly usage limits and offers paid plans for expanded or lifted limits.
Notion is an application that provides components such as notes, databases, kanban boards, wikis, calendars, and reminders. Users can connect these components to create their own systems for knowledge management, note-taking, data management, project management, among others. These components and systems can be used individually, or in collaboration with others.
Applications like these two are useful for taking notes when learning something new, taking meeting notes, creating a draft version of product documentation, etc.
One thing I am using this kind of app for is to keep track of all tasks I worked on, business logic that was required for each task, and sometimes what programming paradigm I used to complete that tasks. This way, when somebody in the future asks me about some feature I worked on or some bug I fixed, I can easily remember why and how it was done. This is very useful when I work on several tasks or event projects in a short time period. It is easier to write that stuff than try to remember it.
If for whatever reason you need to work on or use the computer in the evening it is a good idea to install f.lux. f.lux is an application that removes blue light from your computer screen during the evening hours. Blue light might give you trouble sleeping. According to some researches, blue light suppresses the body's release of melatonin.
f.lux makes your computer screen look like the room you're in, all the time. When the sun sets, it makes your computer look like your indoor lights. In the morning, it makes things look like sunlight again. Once you install it, you'll need to configure it and then you will forget about it. It will do everything automatically.
If you are a university student and you are 'lucky' that your student email address is accepted to these pages then you can use the benefits they offer for students.
GitHub Student Developer Pack
GitHub student developer pack is probably the biggest and most famous pack of benefits for students. They offer free access to some tools and frameworks, credits for web hosting, resources for learning, etc. I am sure that pack will give you enough material to play with and you can use it to increase your skill level, knowledge and boost your portfolio.
JetBrains IDE licenses
For students, they offer free licenses for every IDE for personal use. If you are Java/Spring developer I would recommend their IntelliJ IDE.
It is also worth mentioning JetBrains Academy. JetBrains Academy is an online platform to learn programming, including such programming languages as Python, Java, and Kotlin. Their resources are great because they teach you language from beginner to advanced level.
LinkedIn Learning is a massive open online course provider. It provides video courses taught by industry experts in software, creative, and business skills. You can get access for free by having a library card. To see if your library is eligible, just Google Linkedin learning. If it is, you just need to get a code for the website and you can start learning.
Namecheap offers free .me domains and to select universities in the US, UK, Canada, and Australia.
However, if you have access to the GitHub student developer pack then you can claim your domain for sure. While you might not be interested in it, it can be a good idea to try a set up a domain with your website just for the experience of doing it.
In this post, I gave you a lot of resources that you can get for free. Pick whatever you like, do whatever you want, and get some experience. After all, investing in your knowledge is never a wrong idea.