Welcome to the Afternerd Resources page.
My intention for this page is to be a one-stop shop for all the useful tools, books, software, articles, and websites that I find to be useful for Programmers.
I will make sure to update this list at least once every month with all my latest findings and recommendations.
1. Online Presence
If you think that all you need to reach the maximum potential of your career is to be a rockstar programmer, think again.
Even though being a solid software engineer is necessary, it is not sufficient.
You need to be able to market yourself, showcase your achievements, and get your voice heard.
These days, having a strong online presence is a must. Here are the tools that can help you with that.
To get started online, you need to have a website and a blog and you need to host your website somewhere.
The easiest and most convenient way to get started right away is to use Bluehost.
You will register your domain name, install WordPress, and write your first blog post in less than 30 minutes even it’s your first time ever creating a website. It’s that easy.
You can get started right now for $3.95/month which is less than the price I just paid at Philz Coffee for the Tesora I am drinking right now as I am writing this ☕☕
Digital Ocean is another option that you can explore to host your website especially if you are a hardcore Programmer who wants to have full control over your servers.
This control, of course, comes at the expense of convenience and support provided by Bluehost.
If you want to give Digital Ocean a try, feel free to use my $100 credit that you can use for 2 months after you sign up through my link.
You need an up to date LinkedIn account. Period.
If you don’t have a LinkedIn account, go create one right now.
I get a few emails every single month from recruiters of top-tier tech companies through LinkedIn.
Here is a list of the books that I recommend for Programmers.
Tips for Students
1. You can get your books faster with no shipping fees if you sign up for an Amazon Prime Student account (free for 6 months)
2. Depending on what and how many books you want to get, it might be cheaper to join the Kindle Unlimited program (30 days free trial)
For absolute beginners, I highly recommend “Python Programming: An Introduction to Computer Science” and “Python Crash Course”.
The first book is a nice introduction to the field of Computer Science through Python whereas the second puts more emphasis on a project-based approach to learning Python.
For intermediate and advanced programmers, I totally recommend “Fluent Python”. This is the only book that you need. It’s a huge book though.
Coding Interview Books
For coding interviews, I recommend “Cracking the Coding Interview”. This books is especially useful if you are a Java Programmer since all the solutions are provided are in Java.
Other Amazing Books
The Elements of Computing Systems: Building a Modern Computer from First Principles
Computer Networking: A Top-Down Approach
The Pragmatic Programmer: From Journeyman to Master
Designing Data-Intensive Applications
3. Video Resources
Probably the only video resource online (other than looking at the source code yourself) where you can learn about how Python is actually implemented.
This is definitely not for beginners though!
I personally learned a lot from this 10-hour video course. Philip Guo did an outstanding job!
Algorithms by MIT Open Courseware
If you want to take your programming level to the next level, you need to learn data structures and algorithms.
You can get started right now by watching this full course from MIT open courseware.
Visual Studio Code is an open source editor that can be used with a variety of programming languages.
It is a language-agnostic code editor that you can use for any language.
It is my personal favorite and I use it every single mainly because I am coding in multiple programming languages so I need something that is flexible and versatile.
PyCharm is, by far, the most popular and complete Python IDE that you will ever need.
If you are developing in Python, and Python only, don’t think twice and go get PyCharm.
5. Miscellaneous Resources
Here is a curated list of miscellaneous resource that I personally use or have used in the past.
I am a Premium user of Lastpass and I can’t imagine being secure online without it. Lastpass helps you manage all your passwords across all your devices including mobile.
With Lastpass, you will no longer have weak or easy-to-guess passwords. You will also no longer have the same password for all websites.
Definitely a must if you want to stay safe and secure online.
This is a huge online bank of coding interview questions and answers.
If you want to start practicing for your upcoming coding interview then I highly recommend checking Leetcode out.
If you want to learn how an operating system can be created from scratch, then OSDev is an outstanding resource.
Create an Operating System from Scratch
Another amazing resource on Github if you want to create your own operating system from scratch
Linux weekly news (LWN.net)
This is especially useful if you want to be a linux kernel developer. You will need to subscribe if you want to get the best out of this site.