Civil Engineering is Still a Professional Education! #
In 2020, clutching my college application form, I circled “Civil Engineering” with all my might. Back then, I thought the halo of “Infrastructure Maniac” would be as solid as concrete.
In four years of university, we had to study five or six mechanics courses alone: Mechanics of Materials, Structural Mechanics, Theoretical Mechanics, Soil Mechanics, Hydraulics, and then a bunch of other subjects like concrete, steel structures, timber structures, geological engineering, foundation engineering… all sounding very professional; surveying, drawing, calculation, modeling—I spent countless nights working late.
“You’re from a professional background,” Director Ji said. However, the industry downturn arrived earlier than graduation. Real estate collapses, work stoppages, layoffs, and salary cuts have turned a “civil engineering background” into a shackle in the face of the market.
Why carry a red bucket when fleeing? #
In 2024, I joined a subsidiary of China State Construction Engineering Corporation (CSCEC), a Fortune Global 500 company ranked xxth, as a technician in a level N project department. Every day I looked at blueprints, checked specifications, and prepared documents. I also learned to repair printers, fly drones, and learned a lot else. Overtime? I couldn’t distinguish between work and off-get off work hours. The dormitory was next to the office, and the canteen was nearby; the extreme commuting distance created a kind of illusion.
Harsh conditions? Far from home? Low salary? Too tiring? Yes, I could accept it temporarily, but not forever. I often thought about it, often compared it to what I would be like in 3 or 5 years. The “three general managers and five key personnel” system is no longer viable. If things go well, I might become a department manager, continue working on the construction site, and eventually rise to chief engineer; or I could go to the company (branch office) and continue striving. It sounds alright, but that depends on the company still getting new projects, which is a very real problem. The pie has been divided fairly evenly; what’s the point of a promotion if the responsibilities just keep increasing? The prerequisite is still being able to get promoted.
So, I ran away, carrying a bucket—a red bucket. Rumor has it that if you don’t carry a red bucket, your soul will be trapped on the construction site. It’s like a ritual—leaving with a red bucket signifies a complete farewell to construction site life.
Is Computer Science the Next Civil Engineering? #
Some say: Computer science is the next civil engineering. In terms of abstraction, who can compare to civil engineering?
The impact of AI on the internet industry is unsettling. The real estate market is heavily reliant on macroeconomics and policies; my country’s urbanization rate is approaching 70%; the era of large-scale infrastructure construction is over. AI brings about a revolution in productivity and production relations; some will fall, some will rise. Traditional infrastructure can be paused, but can digital infrastructure slow down? Civil engineering and computer science are fundamentally different.
AI in My Eyes
AI is currently a powerful search engine capable of actively running scripts. It’s fed a lot of data; it’s a powerful tool and assistant. It possesses extraordinary memory but no consciousness whatsoever. Blindly trusting AI is worse than having no AI at all. Everyone is “using AI,” letting it consume resources… Many words come to mind: the origin of consciousness, self-awareness, the chicken-and-egg dilemma. I have a feeling that for AI to break through, it must first achieve a philosophical breakthrough.
I’m going to climb the “scaffolding” of the internet! #
The internet may become saturated, but digitalization never will. Since we have a choice, why worry about gains and losses? Taking off my hard hat, I’m going to climb the “scaffolding” of the internet!
| Core Direction | Learning Modules | Target Abilities |
|---|---|---|
| C++ Fundamentals | Syntax, OOP, Modern C++ (Smart Pointers / Move Semantics / Lambda), Memory Model, RAII | Proficient in using C++ for large-scale project development, mastering memory safety and performance optimization |
| Engineering Fundamentals | Compiler Principles (Linking / Symbol Tables), CMake, gdb, Git | Independently build and debug C++ project environments, proficient in using version control tools |
| Operating Systems | Processes and Threads, Memory Management, Scheduling, System Calls | Understand how operating systems manage hardware resources and be able to debug low-level problems |
| Computer Networks | TCP/IP, HTTP, IO Models (select / poll / epoll / kqueue) | Master network protocol stack principles and be able to develop high-performance network applications |
| Algorithm Structures | Data Structures, Basic Algorithms, Complexity Analysis, Algorithm Design Patterns | Possess the ability to efficiently solve algorithmic problems and be familiar with the underlying implementation of common data structures |
| Concurrent Programming | Multithreading, locks, atomic operations, CAS, condition variables, thread pools, lock-free programming | Able to design high-concurrency programs, avoiding race conditions and deadlocks |
| Network Programming | Socket, epoll, Reactor/Proactor models, coroutines (C++20) | Able to develop network services supporting tens of thousands of concurrent connections (such as Web Servers, RPC frameworks) |
| Architecture Design | Modularization, layered design, decoupling, design patterns, DDD | Able to design scalable and maintainable software architectures, familiar with microservice decomposition principles |
| Project Practice | High-performance servers (such as Nginx principles), Web Servers, distributed middleware | Able to implement complex projects from scratch, familiar with performance optimization and testing methods |
| System Understanding | Linux kernel, system calls, file systems, performance monitoring (strace/perf) | Able to diagnose and optimize performance issues using system tools |
| Cloud Native | Docker, container orchestration (K8s Pod/Service/Ingress), CI/CD Pipeline | Familiar with the cloud-native ecosystem, capable of deploying and managing containerized applications |
“Though the path is near, if you don’t walk, you won’t arrive; though the task is small, if you don’t do it, you won’t succeed."
— Xunzi, “Cultivating Oneself”