
第44章 中美贸易战和程序员的落幕
第五十二章中美贸易战和程序员的落幕
一、自学成Java程序员:暗夜中编译的第一行代码
1.从机械维修到代码世界
阿南最初的生活,是与扳手和齿轮打交道。他在南宁一家汽车修理厂当学徒,机油沾满工作服的味道,混着金属碰撞的叮当声,构成了他大学毕业后的全部记忆。修理厂的老板老陈是个五大三粗的男人,常拍着阿南的肩膀说:“小伙子,机械这东西比女人靠得住,故障代码看得见摸得着,不像搞那些虚无缥缈的东西。”
但阿南的兴趣却早已转向了那些“虚无缥缈的东西”。大学时,他因为挂科太多没能选上Java课程,却偷偷溜进机房看高年级学长敲代码。那时的他连IDE怎么用都不知道,却记住了黑夜里电脑屏幕上跳动的光标,像是黑洞边缘旋转的星尘。他买了一本《Effective Java》,封面上的抽象图案让他联想到电路板的布线,翻开后却发现连main函数都看不懂。
修理厂的工作间隙,阿南开始在网上搜索Java教程。他买不起新电脑,就用手机拍下图书馆电脑屏幕的教学视频,晚上躲在出租屋的台灯下,用二手诺基亚键盘把代码敲进备忘录,再打印成A4纸贴满墙面。每天收工后,他抱着那本厚重的教材,手指在键盘上按得发白,终于敲出了人生第一行代码:
java
public class HelloWorld {
public static void main(String args){
System.out.println(“Hello, World!“);
}
}
运行结果显示乱码时,他砸了键盘,却又不甘心地拆开机箱,对着主板焊接点骂骂咧咧:“你这破机器,连打印个Hello都要和我作对?”
2.自学路上的至暗时刻
阿南的Java学习之路布满了荆棘。他不知道包(package)和类(class)的区别,不明白多态和继承的真正含义。某天晚上,他在B站找到一个“Java零基础入门”直播课,讲师在屏幕上打出一段代码:
java
class Animal {
void eat(){
System.out.println(“Animal is eating“);
}
}
class Dog extends Animal {
void eat(){
System.out.println(“Dog is eating“);
}
}
Animal a = new Dog();
a.eat();
讲师随口问:“这段代码的输出是什么?”
阿南盯着屏幕,手心冒汗。他把所有关键词都记在了本子上,却完全无法理解“动态绑定”和“编译时多态”的区别。他咬着牙在手机上反复查阅资料,终于在凌晨三点明白,输出是“Dog is eating”。那一刻,他抱着脑袋在床上打滚,像是终于解开了一道困扰他十年的数学题。
但更多时候,他是失败的。有一次,他试图编写一个简单的计算器程序,结果程序运行后直接报错:
java
Exception in thread “main“ java.lang.NullPointerException
他盯着错误信息看了三个小时,最终把电脑合上,跑到天台对着月亮大喊:“你是哪个语法糖有问题?!”后来他才知道,是自己忘记初始化一个变量。
3.曙光初现:第一个项目与转机
阿南的转机来自于一个偶然的机会。他在某个技术论坛上看到有人发帖求帮忙优化一个简单的Java Web项目,对方贴出的代码满是冗余的逻辑和过时的API调用。阿南犹豫了两天,终于在凌晨两点回复了一版优化后的代码。三天后,他收到了汇款单——整整两百元。
这几乎是他一个月修理厂工资的全部。他站在ATM机前,看着屏幕上跳动的数字,眼泪不受控地流了下来。他开始疯狂接单,帮人改代码、写小工具、修复Bug。他的技术能力飞速提升,开始接触Spring框架,研究多线程编程,甚至尝试用MySQl搭建小型数据库系统。他用攒下的钱买了一台二手的戴尔笔记本电脑,终于告别了用手机写代码的日子。
二、中美贸易战的暴风雪与失业
1.风暴的前奏
2019年,阿南已经是一家小互联网公司的全职Java开发工程师。公司虽然不大,但业务蒸蒸日上,阿南也终于有能力租了一间带阳台的小公寓。可就在他满心欢喜地规划未来时,贸易战的阴云开始笼罩。
公司最重要的合作方是家美企,贸易壁垒让订单停滞,资金链断裂。阿南所在的项目组被迫解散,他眼睁睁看着同事们陆续离职,有人去了深圳的游戏公司,有人改行做教育培训,还有人在朋友圈发着“大佬带带,我C++也挺熟”的段子。
2.裁员的最后通知
裁员通知是个周五下午,HR把阿南叫进小会议室,桌上摆着一杯冷掉的星巴克咖啡。她的语气很温和,但话语却像审判的钟声:“公司实在没办法了,你的N+1赔偿已经打到你账户,感谢你三年的付出。”
阿南走出公司大楼时,天突然下起了大雨。他站在路边,望着高楼林立的CBD,突然觉得这座城市的繁华与他再无关系。他回到家,把工牌摘下来扔进垃圾桶,看到工牌上模糊的编号“8032”,脑海中浮现出初入公司时写的第一个功能模块:
java
public class WelcomeMessage {
public static void main(String args){
System.out.println(“Welcome to ABC Tech!“);
}
}
3.迷茫与挣扎
失业后的阿南陷入了前所未有的迷茫。他尝试投递简历,但发现市场上的竞争比想象中激烈。他用“精通Spring全家桶”装饰简历,却总在技术面试中卡壳。某次面试,面试官问他:“谈谈你对微服务架构的理解。”阿南结结巴巴地回答:“就是……把一个服务拆成多个服务?”面试官摇摇头,连测评题都没让他做。
他开始四处碰壁,存款一点点见底。最艰难的时候,他甚至想过把大学买的机械工具拿出来卖掉。一天晚上,他在刷抖音时看到某网约车司机分享的月入过万视频,突然灵光一闪:或许,他是时候换个方向了。
三、跑滴滴的苦日子:车轮上的挣扎
1.第一天的恐惧与适应
阿南买了一辆二手的宝骏730,加入了滴滴平台。第一天出车前,他仔细检查了三次导航是否正常,后备箱里放了瓶矿泉水、一盒口罩和一张便签纸,上面写着:“礼貌待人,微笑服务。”
可现实比他想象的残酷得多。第一单遇到一位醉酒乘客,对方一上车就开始呕吐,车费还没到账就昏睡过去。阿南手足无措,只能将车开到最近的派出所。警察安慰他说:“兄弟,兄弟,刚出来跑车都这样。”当天晚上,阿南只赚了28元,连油钱都不够。
2.身体的极限与心理的崩溃
跑车的日子是纯粹的体力消耗。阿南白天要处理家务,晚上八点才出车。他习惯了凌晨三点的南宁街头,路灯昏黄,雨水顺着挡风玻璃流成一条条泪痕。
最艰难的一天,他连续驾驶十二小时,接了二十三单,到手收入却只有三百零五元。回到家时,他的两条腿早已失去知觉,靠着墙一点点滑到地上。他看着电脑桌上那本《Effective Java》,突然拿起书砸向墙壁,书籍碎裂的瞬间,他突然想起大学时说的那句话:“所有程序员的终极梦想,都是在物理世界的熵增中,找到属于自己的压缩算法。”
3.雨夜的坚持与救赎
某个暴雨夜,阿南载到一位老人。老人戴着老花镜,手里捧着一台老式诺基亚手机,屏幕上显示着“Java SE 11”字样。阿南惊讶地问:“您还懂Java?”老人笑了笑:“我以前也是写代码的,老了才转做硬件设计。”
那一夜,阿南听着雨点敲打车窗,听着老人讲述技术迭代的残酷与人性的温暖,第一次感受到自己的坚持或许还有意义。他开始重新审视自己的生活,决定在跑车的空闲时间里,继续学习新技术,等待下一次转机的可能。