
Code Braid focuses on more programming videos and e-books
Using money every day
Recently, I have seen many posts about C++ on forums like Zhihu and Niuke, such as:


After looking around, it seems that the only commonality in the C++ field is the use of the C++ language; there is almost no other relevance.
Indeed, fields like quantitative trading, autonomous driving, client-side development, graphics, database development, backend development, and embedded systems all have their own domain knowledge.
So why does it seem that more people are entering the C++ field in 2023?
Perhaps it is because students in the C++ field found it easier to get jobs during last year’s campus recruitment, as C++ is in demand not only in major internet companies but also in emerging industries like electric vehicle manufacturing and chip production, which have seen significant growth in the past two years.
On the other hand, Java students have been affected by the internet winter last year, with many companies cutting jobs and costs, and a large influx of algorithm and non-computer science students entering the field, exacerbating the competition in Java:

So should you choose C++ or Java?
This question has no answer
Everyone’s situation is different. I can only say that those who learn C++ will say C++ is competitive, and those who learn Java will also say Java is competitive; even those focused on algorithms will say the same.
This is the current environment; everyone is competing! Finding a job is not easy!
If there is a direction that is clearly not competitive, then the following year, a large number of people will flock to it until it becomes as competitive as other directions.
Therefore, both Java and C++ are excellent directions. I can only briefly outline their pros and cons:
C++
There are many job opportunities in the C++ field, as performance and latency requirements are typically met with C++, such as in game engines, infrastructure, recommendation engines, and storage. Of course, it can also be used for business applications (yes, I mean Tencent), and there are also C++ client development roles, 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 generally difficult for most people to enter. Thus, the demand for C++ is significantly lower compared to Java or Go.
However, there are also fewer people learning C++ compared to Java, so the competition is relatively less intense. Moreover, if you are proficient in C++, you can also apply to companies that primarily use Java technology stacks, as major companies generally do not restrict language requirements.
For example, a student focused on C++ in my community prepared for less than two months and received an offer for a Java position at Meituan. In such cases, interviewers will explicitly ask if you are willing to switch languages.

Java
The learning curve for Java is relatively lower. It is widely used in internet businesses, banks, and state-owned enterprises, making the demand for Java the highest. Moreover, the Java web technology stack can be used universally, unlike C++, which requires specific domain knowledge for various subfields.
Java is inherently suited for web development, and it can also be used for big data development with tools like Spark.
I suggest that students from less prestigious schools consider pursuing Java, as C++ is primarily sought after by large and medium-sized companies, while Java can provide opportunities in both large firms and smaller companies as a safety net.
Recommendations
Overall, for campus recruits, I have noticed in my community that students from mechanical, electronic, and other engineering backgrounds tend to switch to C++ more often, as they have already studied C/C++ in their original majors, making it easier for them to continue in this direction. They even have an advantage when applying for positions in autonomous driving and embedded systems that relate to their original fields.
In contrast, students with a background in computer science or software tend to pursue Java or Go more frequently, which are currently the most in-demand directions in the internet industry, with companies like Alibaba, Meituan, and Ctrip being major Java employers.
At this point, it is not advisable to consider switching languages; instead, focus on your previous direction and prepare step by step for the autumn recruitment.
Whether it is Java, C++, or Go, for campus recruitment, they are essentially the same. As long as you are willing to accept a language switch, interviewers will not mind (at least in large and medium-sized companies, as they do not expect you to be immediately productive; they value foundational knowledge and coding ability, and do not see language as a significant barrier).
This year, our team is looking to hire, and we actually want to recruit students focused on C++, but there are too few! Therefore, we also consider candidates from Go and Java backgrounds and ask if they are willing to switch languages. If they are, they just need to focus on algorithms and foundational knowledge; if they do not know C++, we generally will not ask C++ related questions.
-END-
-
4 billion QQ numbers, how to deduplicate with 1G memory?
-
The most abstract programming language on the internet: built-in “class” and “clam” features
-
Create an Apple Vision Pro “official website” in one minute? Produce 480 web pages in 8 hours, colleagues are going crazy
-
Win11 and Android join forces?

A dedicated sharing editor
Cutting-edge technology / Regular book giveaways / Content sharing

Business cooperation: dot3721
Long press the left QR code to add

Share it

Like it

See it