Thoughts on the IT Industry (IT, Another Reading of the Notes) #
1. In CS, a degree never becomes an advantage by itself (though it still matters). Solid skill and ability do. Keep that clear, or you will drift blindly. Stop pinning your future on the school you attend. Everything—your interests included—you have to chase yourself……
2. Caution! This post is a strongly subjective, stream-of-consciousness note. Some views may be dated (2021), and they do not represent all of my positions. Still, I hope it helps students who are still unclear about their goals. Source video: (https://space.bilibili.com/19658621). I also recommend his C language series—if you have never studied it, or already work but want a deeper understanding, that course can overturn how you think about POP.
3. As my own experience grows, I will keep updating this until it can stand as my full view of the industry rather than a video notebook. My views are purely subjective. No person or organization can offer “purely rational objectivity”—if they could, how would so much history be rewritten? Anyway, I hope this helps you a little while also feeding my urge to share.
A Few Points to Get Clear #
A major is not a career.
What use are contests? Not much.
Industry-collaboration contests (their purpose is to make money)
Does it improve you? Does it eat your time?
If it does not waste time and you can pick up a prize along the way—fine.
What matters is mastering general-purpose skills. Join a lab? Good resources for strong students.
Judge for yourself!!! ACM (if you never did it in high school, college circles form early and are hard to enter—unless you are truly interested from day one and pour in time. That works too. Initiative is what makes stories.)
The purpose of education is not a Nobel Prize; the purpose of sport is not a gold medal.
Do not trust personal anecdotes as judgment:
No one can be copied. People can only shape their own lives.
People can only attend to their own lives.
If GPA becomes something to boast about, what did you learn in college—and how are you different from a high-schooler grinding for the gaokao? Get this straight: learn things, understand things. Someone with a lower GPA may still understand the material far better than you. (This is real.)
Hear fewer stories; hear more reality and methods for analyzing problems. Care less about others’ biographies.
No one can accurately predict the future.
For backend engineers: how important are computer networks and operating systems theory? (For interviews.)
OS theory: understand as deeply as you can; worth serious study. (Deep knowledge of operating systems.)
(The essence behind data structures.)
Textbooks are only references—auxiliary. Read papers; look at breakthrough OSes and the frontier—as the chassis of backend work.
Sophomore / Junior Year: Internships? #
Campus recruiting targets interns (Microsoft, Google). Apply for internships; prefer campus recruiting when possible (because I have little experience). Social recruiting: for people with experience. Real projects are hard: product, designers, users, development process, teamwork…. How many people use the product? How many iterations? (Real work problems and the process of building—that is what “project” and “experience” mean. Entering a company counts as social experience.)
Campus recruiting: a solid base of general technical skills.
& What work do interns usually get? (The stronger your technical foundation, the more central the tasks.)
Big firms vs mid/small firms (you may land a core role; you may face no real screening)
PS: ordinary coding tasks, small modules (collaborative development)—purpose: learn the company’s process
Build real project experience; tech-support style work (assist testing)
Studying Abroad in IT #
Should you go? Depends on finances. The US is too expensive. Japan, Singapore, UK 1.5 years (~500k RMB).
A solid experience—but can you stay and get a green card? Or will you be forced home?
Scholarships and Guaranteed Graduate Admission: Worth It? #
Take them if you can; forget them if you cannot. (The goal is knowledge.)
Guaranteed admission is a probability problem—do not chase it blindly. People who truly need a master’s do not need the guarantee. Why chase it?
Unclear about life goals: “I don’t know what grad school is for—but let’s get the guarantee first???”
Not knowing what you are doing; jealousy; fighting for every slot. People climbing a higher mountain are more likely to keep the option open. People with goals are not trapped by this.
Does a Degree Matter in IT? #
Degrees matter. If ability is extreme, you may not need one (a separate case).
A degree floor (bachelor’s) plus a technical ceiling.
Good jobs come from good companies, not from high degrees. Role and pay are decided by the company, not by the diploma.
On Technical Iteration in IT #
Evolution, natural selection: nothing is absolutely stable; no job is absolutely stable.
Feature phones —› touchphones. Domestic phones all run on Android-based systems.
(Including HarmonyOS—Android-based because Android is open source.)
Gradual evolution applies to technology too. Microsoft TypeScript is based on JavaScript.
So learn general-purpose skills. (Java, Python, Go, C?) Tools only—like competition among species.
All share object-oriented thinking.
(Misconception: what is most common is not necessarily the trend. Few can foresee trends. Popularity ≠ trend.)
Intel IMD; Microsoft and Mac OS scroll wheels differ—differentiation. C#
Species differentiation: Apple computers → Apple → Mac touch → …
All species go extinct or decline. No absolutely stable job or technology. Computer organization, data structures, etc. rarely see breakthroughs in the short term.
On Python #
A language will not get you hired.
Do not expect one language to land a job.
Who should learn it: non-CS majors, accounting, etc.
AI is a discipline; many frameworks are implemented in C++. Python often just scripts. CS covers far more; language is a tool, not the discipline. Big data uses a lot of Java; AI leans on C++; data analysis uses JS. The brain is not language-bound, and language is not a career. “Java backend” or “Golang backend” is about the role. Language decides nothing. Do not obsess over languages, frameworks, libraries—study algorithms underneath, data structures, architecture, solutions, software construction, the art of programming!!! (A rough ranking of programmers from low to high.)
Hyped by ads, bootcamps, kids’ coding…. (Why are diamonds expensive?)
Interpreted language. In 2021, Python was not easy for developers to get hired with. Python web performance lags far behind the languages above, especially for concurrency—not the best choice; performance issues are common. Roles exist but are not many. See this clearly.
How to Keep Up with Technical Iteration #
Watch technology trends (the metaverse?)
Problems AI must solve in coming years; frontend (micro-frontends); follow global conferences
Foreign journals; major tech iterations; training; invest in learning
Collaborate with industry experts; hear different views? Cloud computing (still early)
Use open-source communities—GitHub…. Prefer technologies that fit the trend
(Strong enough English) IELTS 6.0
The gap between exams and real use—study the exam itself.
Technology’s goals: faster, easier, cheaper.
Hardware’s goals: smaller, easier to use.
Can AI Replace Human Work? #
Basically yes—it is entirely possible. Replacement is the trend, including for programmers.
Pursue a more artistic life in an age when AI replaces human work (should people enjoy happiness and creation?). For now AI is stagnating; it cannot yet replace us; it lacks empathy and judgment. — Kai-Fu Lee
Artistic creation rests on individualism (AI painting). Human progress rests on individuality. AI still lacks personal consciousness (as things stand).
The essence of human society is the continuation of civilization. Be neither optimistic nor pessimistic—ground yourself in facts. (Science looks squarely at every person.)
On CS Grad School #
No one climbs a peak they do not know exists. Purpose still comes first. Many take the exam or chase guaranteed admission aimlessly—“get a master’s first,” with no idea what they want.
Undergraduates need the ability to think for themselves—not mere herd-following. Find your own goal; open a window and look outside. Analyze reality yourself. Ask people in the roles you want. Ask the right people to get useful guidance. (What should you do? What will you do??? Professors? Seniors???)
In this world, people without learning ability become teachers.
Decide by career. Only a few Chinese universities offer AI programs; the field here is still relatively weak.
Face facts: we lag other countries.
We now have DeepSeek—but please think carefully: what does that have to do with the path you choose in college?
Non-Herd Criteria #
Does grad school automatically put you on another path? Whether to go, and what kind of person you become, depends on your own situation—not on a collective. We are individuals. We should not become mere parts of a collective. Choosing X does not make you X. Decide from individual logic: have you met the degree floor for the role you want? Learn to choose; do not blindly follow the crowd.
University clubs
Is joining necessary? If you join, with what attitude? Networking? Dating??
Debate, music, American Chemical Society. Often not very useful—depends on the school. Meaningless credit padding helps little. Too time-consuming and damaging to studies? Obviously. Doing everything can leave you good at nothing…. Highly competitive atmospheres lack inclusiveness….
Judge reasonably by your own situation.
When the school’s curriculum conflicts with your goals
Do not grind aimlessly—study on your own. No one discriminates against your former major. No one cares. Major and career are different things. Nobody cares what you majored in before—only whether you can do the work.
Only we obsess over our own ugly pasts; no one else remembers. Many people switch careers and fields.
Foreign Firms, English, Interview Questions, LeetCode Grinding #
Depends on the specific role. Foreign firms are not always better paid—go if you want to.
English: case by case. Floor: IELTS 6.0 as a baseline; aim for it.
Rush algorithms? Become an algorithm engineer—tech has no ceiling. Grinding problems every day will not get you into a big tech firm (saving money does not make you rich). The stupidest approach: grinding only proves you can grind, not that you can work!
(Explain an OS. Multitasking? Resource management? How do you understand device management? What is a process? A thread? Differences? Real applications? Storage management, memory management, file systems? Process synchronization? Communication? Semaphores, message queues, shared memory? Scheduling? FCFS? STN? Round-robin? Priority?) Clearly, grinding problems does not answer these.
(A process is one execution of a program, with its own address space and system resources. A thread is an execution unit inside a process, sharing the process’s space and resources. Uses: multitasking, concurrent processes.)
(Memory management: ensure enough memory for programs; avoid waste.)
(File system: logical structure for storing data; manages storage, reads, writes, and modifications.)
(Process communication: passing information between processes. Synchronization. A key tool against concurrency bugs.)
Prepare answers; do not speak of what you do not understand. Do not believe grinding gets you into big tech. Understand fundamentals. Many open-ended topics; company culture.
AI Majors and ACM #
Join ACM teams if it fits you. Campus recruiting may give a slight plus, but it is not decisive—meet the necessary bar first. (From a job-hunting angle.)
A way to gain experience: are you willing to spend the time? How strong is your learning ability? You cannot have it both ways…. Time is limited; you cannot do everything well. “Participation matters” is nonsense—what matters is whether you should participate. What will spare time go to? Can you win? If not, why waste time? Set goals without neglecting coursework. Guaranteed admission? Raise odds—pick higher-probability paths. Distinguish icing on the cake from putting the cart before the horse.
Blue Bridge Cup: (400 RMB fee) backed by MIIT, heavy funding, hard credentials. The more people compete, the more watered-down—anyone can enter…. Decide by your situation: education or money-making? Do not graduate knowing only contests. Internships do not care which “cup” you won. After years of contests, what did we get—certificates, not notable achievements or great companies. Educators vanish; everyone chases money. When you win, the teacher takes a cut (ordinary schools are places to divide spoils). Many professors drift, waiting for state dividends, telling students X is useful. Excellent teachers do not boss you around all day—you should do what you love and chase your ideals. People should be able to know truth and find reality. If you truly love ACM, do it (assuming core courses are solid). Do not overdose on chicken soup and hype.
On ChatGPT #
Humans always fear what they cannot understand. — Syndra
Language models. Sci-fi novels and films present art that expresses ideas—not facts. Analyze from evidence and concrete logic. History is not myth; sci-fi is not fact. Nothing easily replaces a person. These tools raise efficiency. AI helps people finish tasks more efficiently; it cannot replace the human core. Baristas, mining, ordinary jobs face risk of replacement—of behavior, not of the person. Creation still largely depends on humans. Creation is not imitation; it makes new things. No self-awareness; model views come from humans; there is no creative consciousness.
CS Subfields and Ecosystem Integration #
- Software development: design, programming, maintenance, testing, architecture.
- Networks: build and maintain; operating systems
- Databases: design, development, maintenance—three major areas
- AI / machine learning (exploratory)—databases—software engineering—language models (GPT)
- Embedded systems: cars, appliances
- Network security: protect against unauthorized access
- Virtual reality (VR)
- Information security
- Software testing; after-sales
- Data analysis: extract useful information from large data for decisions; future trends—databases
- Cloud computing / virtualization: abstract compute and storage from physical infrastructure
Interdisciplinary development is messy. Division of labor; a dynamic society; each contributes value.
Studying abroad: decide yourself
- Cognition
- Resolve
Is it good for your development? Balance the two above. Money is secondary.
What Outsourcing Is, and Why Most People Advise Against It #
Hand software development to an outside firm—the company that takes the jobs. Outsourcing firms are exhausting; employees suffer. Cost-saving and flexibility—but communication and coordination problems—fights; control and quality issues; tech, schedule, creativity out of control. IP loss; risks exist; also some legitimate uses.
Should students take side gigs / freelance?
Depends on family hardship. Most people do not need it. Do not copy others’ money-making. Competitive markets; go by need; do not derail your main line of progress.
Career convertibility and pitfalls
In a few years the role may vanish—unemployment.
Niche roles: suppose technology X (or a language). You may bet right and profit—or bet wrong and lose the job overnight. Node.js has led trends in recent years. Mistakes can be fatal. Prefer general, mainstream roles. Do you have the stake to gamble??
- Degree of specificity
- Complete specificity
Degree of specificity: Java, Golang, data structures & algorithms, Linux—all have specificity, but also diversity; they apply across many roles. When something fades, you can pivot.
Complete specificity: iOS, VB (Microsoft)—be careful; single target.
!! WeChat mini programs !! may become mainstream—but stay alert. Is that bet worth it for you?
The less specific a factor is, the more convertible it is from one use to another. Java was not built for one product alone.
Complete specificity’s impact on value swings far exceeds that of moderate specificity.
How I Take Notes—and What I Learned #
Should IT students take notes? How? Useful—depending how. Traditional education’s problem: PPT on stage, knowledge in books. Notes should organize. Notes are not calligraphy practice. Keep them effective and concise. Too much text? Filter fast. Paper is awkward to flip; you may not understand yourself. Two words: make them useful. Prefer the computer; typing is faster than writing. You need not chase every trend—but if a method is more efficient, use it. iPad annotation on PDFs is fine if you have a real need—not if you buy the gadget first.
On required courses: does the instructor follow the textbook? Clarify that; allocate attention. Liberal-arts–style courses: key points, principles of economics—condense. Hear the theme, the claim, the argument, the proof. The best time to take notes and clarify thinking is when the teacher is showing off.
D = define. Definitions are key. What is this lecture’s point? What is its structure? Build the logic and memory clears. Examples matter too. I note to clarify structure and logic—not to copy what the book already has. That is pointless. I once listened to Euler diagrams for twenty or thirty minutes without first fixing the concept—then class is gibberish.
Blogs are for others; notes are for yourself—to organize. Scribble only you can read is fine for notes; do not waste time prettifying. Many people take notes they never reread—meaningless. Writing for others demands more care. The two differ clearly. Write more personal notes and reflections; mark where you must pay attention. Do not record commonplaces. In short: efficient, practical, logical….
A good state is this: notes grow fewer, while learning grows faster.
Quoted from the original author’s dynamic:
Dynamic: New school year. Middle / high school: now you know degrees have a floor, right? Freshman year: settle life, adapt to campus, learn how university works. Not skipping class, not leaving early, turning in homework on time usually means you pass the attendance / participation grade. Study, life, socializing, activities, contests… juggling too many at once ends badly. At the start of freshman year, understanding campus life and taking care of yourself is enough. Sophomore year: a year has passed; campus life and self-care are fine; you know the logic of classes, activities, socializing. Next: career—what to do? Which direction? Which field? Which concrete role? Ignore social activities as much as possible; ignore every contest; ignore strategic training plans; ignore advice from teachers and seniors; ignore “learning roadmaps.” Put energy into the shared technologies of concrete roles—we covered this clearly in the IT FAQ; hope it saves you years. The internet is noisy; this approach avoids many traps. Junior year: you should already be halfway into chasing a career. Associate-degree students: upgrade to bachelor’s if you can. Bachelor’s students: upgrade credentials by career need. A degree floor exists; a high-degree ceiling does not. If the job is cleaning toilets, middle school may suffice—you already meet it, so do not keep climbing for no reason. Climb only when it matters. Some roles require a PhD—then you must. Otherwise wasted effort. Senior year: internships, interviews. Interviews are the best test; nothing else proves employability. Go to big cities; small cities have no real market: Beijing, Shanghai, Guangzhou, Shenzhen, Hangzhou. All five work. If campus recruiting is strong, prefer it; if you are strong, apply on big-tech sites directly. In any case, technical growth is continuous exploration and training—not mere plans and tracking.
On Game Development in China #
Liking games is not the same as having lived game development. A team that loves building games. Rockstar—GTA V, Red Dead; Riot Games—LoL. Born to create games: the hardship and the achievement.
Games are software. Developing games is not just programming. Client/server architecture—not entirely; you need graphics and rendering (engines).
Unity3D; art; visual design; digital media; train inside the engine; build large systems; servers (backend)
Anti-cheat (security engineers); writers; directors; designers…. Many roles
Indie developers: was Bright Memory really one person? To succeed, cooperate—look seriously.
No genius develops in total solitude.
Typing Practice #
Recommended: Typing Club. Practice more. Qwerty Learner—practice daily; progress can be terrifying.
On Implementing Data Structures in Code #
Ways to store and organize data in a computer. The language used to implement them does not matter. Current teaching often uses bad code to implement bad structures—looking at code without understanding principles.
The right structure raises algorithmic efficiency. POP and OOP can both implement them, differently. Do not fixate on language—languages come and go with markets. Understand the bottom.
Cannot finish homework? Usually syntax is not fluent enough. (Nested for, recursion?—that kind of work.)
Commonalities Across Languages; Some Software-Engineering Terms #
Control flow: loops, conditionals (control structures), subroutines (methods in Java)
Basic exercises revolve around if and for. What matters is a feel for which tool to use—needs lots of practice: which statements, how many loop layers. Sketch ideas and structure on paper first; clarity raises efficiency……
Timing, efficiency—practice algorithms
Structured processing
Structured non-local control flow
Some languages provide non-local control flow, allowing flow to leave the current code and enter designated code. Common structured non-local control includes condition handling, exception handling, and continuations.
Exception handling: In programming languages, an exception often refers to a data structure that stores exceptional information. A common mechanism transfers control: raise (throw) an exception to hand off control to a catch handler that runs.
(e.g. array index out of bounds in C)
Continuations: create a global that a future control flow will use—define something ahead of time.
Competition #
The substance of competition. Be first in your own lane; build distinctiveness. Winners are first and second. The happiness you live in—the path parents cleared, the atmosphere they built, the plan they made for you, pride in a good school, or some experimental-class employment track……
Pragmatism and Attitude #
Young people should be pragmatic. Do not think a contest or prize lets you jump a social class. Interview at a foreign firm and nobody cares your contest ranking. One point: can you help the company solve the problem? Must raising education rest only on contests??? That kind of education is chilling. We Chinese love contests, publicity, formalism—surface phenomena, not deep problems. Without chasing depth, we cannot sustain IT. Who you want to be and what you want to do matter more than any contest nonsense. Do not think “if I join X contest, then…” or “as long as I…, I can…???” Kill those fantasies. Climbing up comes from your own effort. Degree short? Take the exam.
You chose a major you dislike, yet keep studying and find joy in it—that is attitude. Why are you at school? Learning feels hard; the gaokao finally ended—why keep studying? The ocean of material looks endless; how can I master it all; I must know everything—and so you get lost.
“Whatever you do—whether you wanted it or not—once you do it, do it well. Whether or not it matches your imagination, try to love it.” — Attitude
Do you love what you truly want to do?
“My heart is entirely in this work.”
Interview #
No Job Is Perfect! I think this is not critical yet—most of us are still interns (as undergrads). Interviews are massed practice and accumulated experience, provided your foundational knowledge is solid.
Walk through your résumé?
Purpose: not a list of achievements and duties—a focused narrative. Why does this role fit you?
The goal is relevance: a clear career aim; distinctive things you did (e.g. cut cache time 20%…) that fit the role.
Clear transition: why leave? (Explain well; how did you keep up with tech while not employed?) Emphasize professional reputation; be strategic.
Layoffs: the company changed strategy.
Stress continuous skill growth. Finish in two or three minutes if possible.