Why Most C++ Positions Require Familiarity with Linux Operating System?

Click on the above“Hardcore Wang”, select“Pin/Star the Official Account”

Get the latest benefits and resources delivered to you

Why Most C++ Positions Require Familiarity with Linux Operating System?

Hello everyone, I am Hardcore Wang.

I previously worked on desktop software development using C++ Qt under Windows, but recently while looking for a new job, I found that many positions require Linux, and very few require Windows. Why is that? Is development under the Linux system becoming the trend? Should I brush up on Linux…

Original answer link:https://www.zhihu.com/question/897552061/answer/47868394134

It made me laugh, how did the questioner become a programmer? Their logic is completely unclear!

C++ is a programming language.

The positions for C++ primarily involve development using the C++ language.

Linux is an operating system.

So what’s the problem with C++ positions requiring knowledge of the Linux system? It’s just a difference in which system the development is done.

Moreover, can someone who has seriously studied computer science not know the Linux system? Did they not attend the operating systems course or what?

If the questioner is looking for a QT position, does it really matter which platform they develop on? It’s just about adjusting interfaces.

However, if it’s a C++ position, then the nature is different, and there are many more aspects involved, so requiring familiarity with the Linux system is perfectly reasonable.

The reason C++ positions generally require familiarity with the Linux operating system is mainly due to the following reasons:

Why is familiarity with Linux required?

  1. The widespread use of Linux in the server domain: Linux is widely adopted in servers and data centers due to its stability, security, and high customizability. Many large internet companies and enterprises use Linux to support their critical business operations, making familiarity with the Linux operating system a basic requirement for C++ developers.
  2. The push from cloud computing and container technologies: With the rise of cloud computing, Linux has become the default operating system option for cloud service providers, and the emergence of container technologies like Docker and Kubernetes has made Linux increasingly important in application deployment and management. These technologies enhance development efficiency and reduce operational costs, making familiarity with Linux an important skill for C++ positions.
  3. The development of the Internet of Things (IoT): The lightweight and low-power characteristics of Linux make it very suitable for running on resource-constrained IoT devices. As IoT devices become more prevalent, the potential for Linux in this field is enormous, which also increases the demand for C++ developers familiar with Linux.
  4. The open-source culture and community support: Linux is an open-source operating system with an active community and abundant resources, providing C++ developers with a wealth of learning materials and technical support. Familiarity with Linux helps better utilize these resources for efficient development and problem-solving.
  5. Performance requirements: In C++ backend/server development, scenarios with strict performance requirements often prioritize C++ development, and the Linux operating system is commonly used for such development due to its performance advantages.

Given the development trends and importance of Linux in various fields, learning the Linux operating system is indeed an inevitable choice. This not only increases your job opportunities but also makes your skills more comprehensive, adapting to more development scenarios.

Learning Suggestions

Actually, when looking for a job, you don’t need to learn too much about Linux. Generally, just familiarize yourself with the system, learn some command operations, program under the Linux system, learn scripting, file I/O, and inter-process communication, and that’s basically it.

Practice hands-on, I recommend purchasing a cloud server and setting up a Linux virtual machine environment locally. You must start from scratch, typing commands to install software and deploy services, familiarize yourself with the entire project launch process, and type each command at least once to understand their functions. Through natural practice, you will become familiar with commonly used Linux commands; if you can’t remember them, it’s okay to refer to documentation.

First learn to use it, then understand it.

If time is limited, you can understand some Linux design concepts through interview questions instead of diving deep into kernel learning. Although mastering it is indeed beneficial, the cost-effectiveness is not high.

Video Resources

1. [Beginner’s Guide, Easy to Understand] Learn Linux in a Week: https://b23.tv/VnbO4ZW

2. [Qianfeng Cloud Computing Linux Tutorial 650 Episodes, Linux System Operations from Beginner to Pro (Quick Start Linux Installation, Essential for Beginners): https://b23.tv/7S7fleR

3. [Crazy God Talks Java] The Most Understandable Linux Tutorial in Real Alibaba Cloud Environment: https://b23.tv/nC4BV39

4. Mastering Vim from Abandonment to Love – Vim Introduction – MOOC: https://www.imooc.com/learn/1129(Good reviews)

5. Linux Learning Path (Learn + Test) – Alibaba Cloud Developer Community: https://developer.aliyun.com/learning/roadmap/linux

More Resources

Because the official account platform does not support external hyperlinks,

students in need can move to this Feishu link to obtain resources for learning: https://g0zjym8ouh4.feishu.cn/wiki/UV7FwBOmVi6HCjktpRqcUP1unAe?from=from_copylink

Why Most C++ Positions Require Familiarity with Linux Operating System?

Why Most C++ Positions Require Familiarity with Linux Operating System?Why Most C++ Positions Require Familiarity with Linux Operating System?Why Most C++ Positions Require Familiarity with Linux Operating System?

—— END ——

If you find it useful, please give afree like

Your support is my greatest motivation, it means a lot to me!!!

Follow the official account and reply“Join Group” to join the technical exchange group

Why Most C++ Positions Require Familiarity with Linux Operating System?

Leave a Comment