← Back to Blog

Five things every IT student must learn before they graduate

BerojgarEngineer ·

If you prefer watching the video:

https://www.youtube.com/watch?v=5WusxO5OOsU

You must have seen lots of videos and blogs posting five books every IT student must read before they graduate. Is my blog an addition to that spam? No. I will tell you why. In this blog, I will not be telling complicated book titles just to sound smart. I will tell you what you will enjoy reading given your BE/BscSIT educational background in Nepal.

I specifically say your educational background in Nepal, because let’s be real. Nepalese students do not read even the assigned textbooks. The private colleges’ libraries contain at most two reference materials. You’re unlikely to find most textbooks even if you wanted to buy them through shops. I have to consider all of these factors while I am writing this blog.

Since I am an ex-support engineer who is working towards being a DevOps engineer, I will be leaning more towards books that help DevOps professionals.

I have found the top skills that DevOps engineers are required to have in Nepal. And thus I have listed the books for those purposes. The books that I list will not just be “books to learn that skill directly”. Instead, they will help you indirectly throughout your career.

Update: Earlier, I was thinking of creating a blog only for books. But as I thought deeper, I think it will be useful to speak in terms of skills instead of books. You do not read a book to read that book. You read books to understand a concept or to learn a skill.

The various skills and concepts in high demand for a DevOps engineer are as follows:

  • Linux command line
  • Distributed Systems(includes Computer Networking)
  • Data Structures and Algorithms
  • Database Systems and Internals

When you learn these four concepts in depth, you learn the pillars of modern Information Technology. Anything that comes above is merely an abstraction or an implementation. And with time, you will have zero difficulty learning them.

If you want to go a little deep, I recommend reading these topics:

  • Operating System Internals
  • Computer Architecture
  • Cryptography and Network Security

I will be recommending only those books that I have read cover to cover. Actually, I have done a lot of reading cover to cover because I am also preparing for government IT jobs, and it is necessary for me personally.

If you want to learn more about government IT jobs in Nepal, read the blogs linked below:

https://berojgarengineer.com/blog/loksewa-computer-engineer-and-it-officer-in-nepal/

https://berojgarengineer.com/blog/roadmap-to-crack-loksewa-computer-engineer-and-it-officer-in-six-months/

I will not only recommend one book. Yes, there will be one book that you need to buy, and I will tell you clearly. But there will be multiple books that you need to keep on your computer as PDFs so that you can check harder topics. I am not sure if reading multiple textbooks for the same subject is efficient for learning. But I love to get different perspectives on one topic.

Linux command line

The IT world is full of Linux. The servers where code runs are almost always Linux. It could be Rocky Linux or Ubuntu server, but it is Linux.

So learning the Linux terminal helps you navigate the infrastructure. Most of the work that I did as a support engineer in a Nepali fintech company revolved around being proficient in using the terminal.

By the way, if you are interested in learning more about my journey, interview preparation tips, and companies list, visit the following blogs:

https://berojgarengineer.com/blog/guide-for-fresher-in-nepalese-it-industry/

Many people online will recommend using the Linux operating system on your daily driver computer. But I do not recommend it. The better way is to install a Virtualization tool, install Linux OS over it, and use it there. Linux OS as a daily driver OS on desktops is not that fun if I am being really honest. Mac is good, though.

Since you have by now learnt the importance of Linux, immediately get this course:

https://trk.udemy.com/QY03zx

Mastering Linux: The Comprehensive Guide by Janis Seeman is the best course that is out there. It has its flaws. It gets boring soon. But it contains value. That is for sure.

Supplement this course with a Linux textbook. I recommend the Evi Nemeth Unix and Linux handbook. National Book Shop, Bhotahity, brought it to Nepal just a year ago.

https://nationalbook.com.np/product/unix-and-linux-system-administration-handbook-nemeth-snyder

I know students love to know the time that they should give to a subject. But I do not want to tell you how much time you should give to this. Give it as much time as it requires. That is all. Because they are the foundations of your IT career. Do not miss them.

Computer Networking

Computer Networking teaches you everything about the Internet. It is important to understand distributed systems, which is what real-world infrastructure looks like these days.

I have gone through multiple books and courses on computer networking. But the only one I liked was Kurose, Ross Computer networking: Top down approach.

If you need to buy that book, you can visit Daraz through my referral. It will not add cost to you; instead, Daraz will give me a commission for each purchase from its own side.

https://s.daraz.com.np/s.Z6UOk?cc

There are not many courses for Computer networking. Most of them are oriented towards CCNA. And CCNA lacks the rigor, in my honest opinion. Except for subnetting, CCNA folks learn nothing deeply. It makes sense as it is a certification for getting entry into IT for non-techs. So it tries its best to introduce IT for non-tech folks.

Operating Systems

I have seen many IT folks recommending Brendan Gregg’s System Performance book for OS+DB+COA fundamentals. But I will not recommend it. It is like a summary book that you should read once your fundamentals are clear.

For operating systems, I will recommend that you get The Dinosaur Book. i.e., Operating Systems Concepts By Abraham Silberschatz, Peter B Galvin, and Greg Gagne.

To supplement it, I recommend Deitle’s Operating System book. Learning OS will be tough for sure. I have read dinosaur books multiple times throughout multiple phases of my life, and I am still confused sometimes.

Note: Do not get the Stallings book for OS if you are reading it for the first time. It is not that good.

Database

This is where the money is these days. The database. Of all the things I mentioned here, if you just learn the database properly, you are all set for IT. My favorite book for databases is something you probably have not even heard of.

It is:

Database Systems: A Practical Approach to Design, Implementation, and Management Book by Carolyn E. Begg and Thomas Connolly

It was available in Ekta book shop located at Thapathali. I bought it 3 years ago. They have stopped bringing new books these days. When I asked why they do it, they said, “Nepalese students do not study textbooks anymore”. And it is true for real. I discuss why it is happening in this blog “On guide books” section.

https://berojgarengineer.com/blog/computer-engineering-bsc-csit-career-guidance-for-plus-two-graduates/

Do not forget to learn the database practically. If I were to start all over again, I would start with either Oracle SQL or PostgreSQL. Oracle SQL is heavily used in the Nepalese IT industry in banking companies, insurance companies, and government companies. So if you learn to administer an Oracle database, you will secure a job for life.

PostgreSQL is finding popularity, but these companies have not matured enough for PostgreSQL database administrators to have a significant role in the company. It is more important from a database developer’s point of view.

Data Structures and Algorithms

The best book purchase I ever made was buying Intro to Java Programming, Comprehensive Version. The 11th edition of this book is available in the National Book Shop, Bhotahity.

Programming comes slowly to me. I had to practice all the exercises in half of that book, then I felt I was ready for data structures and algorithms.

While that book contains topics about data structures and algorithms, and is immensely useful, I supplemented my learning with the Udemy course whose link is given below:

https://trk.udemy.com/L0g31Z

This course is not that popular, and you probably have not heard of the course creator. But this is a very good course. It delivers perfectly on concepts and code. Get that course immediately if you are starting to learn data structures and algorithms.

I have this one book, but I do not think it helped me heavily in learning data structures and algorithms. It is the book by Tenenbaum named “Data Structures Using C/C++”.

Computer Organization and Architecture

I will piss off many students. But the book I highly recommend for learning the fundamentals of COA is “John P. Hayes” COA book.

It is good because it gives a different perspective. It is more practically oriented. It is a very old book, so the practical scenarios shown in this book might not be what is being used presently. Even after all of that, I found this book very enjoyable to read.

Distributed Systems

Distributed systems are how the real-world infrastructure runs these days. Everything is distributed. Before studying distributed systems, one should be proficient with the concepts of:

  • Fundamentals of Computer Networking
  • Fundamentals of Database
  • Fundamentals of Operating Systems
  • Fundamentals of Network Programming if they want to learn by doing. I personally only went the theory route.

I have already suggested all the books for these concepts. Now it is time to learn about the elephant in the room.

I have spent a fortune on learning system design and distributed systems. I have wandered so much that I wasted so much time and money. I bought both of Alex Xu’s books on system design. They were too superficial. Maybe they are really good for interviews, as the book’s name implies. But that is about them.

If I were to suggest only one book to learn distributed systems, it would be: Distributed Systems: Concepts and Design by Coulouris et al.

I know DDIA fanboys closed the tab here. But genuinely feel that DDIA is a surface-level book for someone with an Engineering/CS background. No harm in trying it, though. It is also available in the National Book Shop, Bhotahity.

But this(Coulouris et al’s) book is very tough to read. I am supplementing it with various materials. They are:

  • PK Sinha’s distributed operating system
  • YouTube lectures

I do not watch the YouTube lectures; I just convert the videos to slides using ffmpeg and study from that PDF file. It saves my time. I made this workflow using Claude AI.

Hence, these are the skills that one needs to learn to build the pillars of their IT career. Even more so in the era of Artificial Intelligence doing your work.

It is not enough to be a copy-paste guru if you are to survive in the modern IT world. You need to understand the internals, and for that, these books play a tremendous role.

Buy those books, study from them, and if you want to join our discord for conversation around DevOps, government IT and Computer Engineering jobs, join it as well.

https://discord.gg/hJt3gTQakB