Is It Hard to Find a Job with C++?

Hello everyone.

Recently, many students have been asking me on WeChat when the spring recruitment starts and whether the big companies have begun their spring recruitment.

To clarify, based on last year’s timeline, major companies are expected to start their spring recruitment at the end of February or the beginning of March.

So if you want to apply for the early batch, you only have 1-2 weeks left, and it might not be realistic to do a comprehensive review in this time. Instead, focus on polishing your resume and revisiting high-frequency algorithm questions and commonly asked problems.

Additionally, I recently came across some posts about C++ on various forums, like this one:

Is It Hard to Find a Job with C++?

And another one I saw last year:

Is It Hard to Find a Job with C++?

Is It Hard to Find a Job with C++?

Moreover, among my followers, there are quite a few studying C++ Is It Hard to Find a Job with C++?:

Is It Hard to Find a Job with C++?

So I must encourage everyone Is It Hard to Find a Job with C++?

Is it hard to find a job with C++? Is the competition fierce?

Before discussing this issue, I must reiterate this point:

Whether it’s Java, C++, or Go, for campus recruitment, they are basically the same. As long as you are willing to switch languages, interviewers won’t mind. For example, although our team develops the backend in C++, we also interview candidates from the Java tech stack, and if the interviewee doesn’t know C++, they generally won’t be asked C++ related questions.

So everyone can rest assured~

So what are the application scenarios for C++?

In short, applications that require high performance or execution efficiency, such as game engines, infrastructure, recommendation engines, and storage. Of course, it can also be used for business applications (yes, I’m talking about big companies), and there are also C++ client development projects, mainly using VC, QT, etc.

To be honest, fields like game engines and infrastructure have relatively high barriers to entry, and the number of job openings is limited, making it difficult for the average person to get in. Therefore, the demand for C++ is much lower compared to Java or Go.

However, there are also fewer people learning C++ compared to Java, so relatively speaking, the competition is not as fierce. Moreover, if you are proficient in C++, you can also interview at companies like Alibaba and Meituan that primarily use the Java tech stack. Major companies generally do not restrict languages, and there is a saying that those who aim high will achieve it, while those who aim for the middle will achieve the lower.

If you want to enter a major company, learning C++ is definitely not a problem, so everyone can be assured of that.

Of course, Java is even more versatile, with major companies like Alibaba and Meituan being big consumers of Java, and many small and medium-sized companies also predominantly using Java.

There was a comment similar to mine; I learned C and Java in my freshman and sophomore years, originally heading towards the Java EE direction, but later became interested in some infrastructure, so I went to learn C++.

For a while, I hesitated whether to learn C++. After understanding the industry situation, I found that only Tencent, Baidu, and Alibaba Cloud use C++ among the major companies.

I struggled for a long time but eventually decided to stick with this language. Looking back now, I don’t think I made the wrong choice.

In fact, except for a few special cases, almost all graduates are just blank slates to companies.

Strong companies care more about the fundamentals: whether you are worth training and how fast you can grow.

Therefore, what language we learn in school and what technologies we understand are not the most critical assessment points for companies.

During campus recruitment interviews, questions about C++, Java, and other languages are, in my opinion, to assess whether you have a sufficient depth of understanding of a language.

Through language questions, they assess your fundamentals and whether you have a research-oriented attitude. After all, language is just a stepping stone.

Once you enter a company, you may encounter many other languages. So I believe that what is more important is not which language you choose, but how deeply you have delved into the language you have learned.

However, relatively speaking, C++ is a lower-level language, closer to the machine’s thinking model.

Python, Go, Java, and JavaScript are more abstract and closer to human thinking models.

But in the industry, even though most companies do not use C++ due to its lower level of abstraction, relatively incomplete ecosystem, and higher implementation costs, C++ still holds an unshakable position in the industry.

For us beginners, learning C++ will allow us to delve deeper into pointers, memory models, memory allocation principles (malloc), and the underlying implementation of concurrency models in networking.

The principles of select, poll, and epoll, how they evolved step by step, and what business scenarios each is suitable for.

These may not be as strongly perceived by beginners of other languages as they are for C++ learners.

Now that I am working, I no longer have a lot of time to study C++ in depth.

Looking back, I still feel that my understanding of C++ is quite shallow, and there are many things I haven’t explored further.

However, the process of delving into C++ has brought me many benefits.

So, if you enjoy C++, feel free to learn it; you will definitely gain something, not just for campus recruitment but for your entire career.

Good luck to everyone in the spring recruitment!

Leave a Comment