编程感想
为什么取这名
本文记录了在coding人生中的一些随想感悟(即兴吐槽),简而言之就是这是写给我自己看的,不是写给你看的。
有时候,越学越觉得自己无知,索性停下来,想想目前走的道路是否还正确。至于为什么取这么土的名字,原本想取名“编程随想”,但又不想和某个知名账号扯上联系,引发过度的联想导致被迫参和那些狗屁倒灶的事情。索性土就土吧,走的再高也不能忘记底层基础。
2022.5.24
软件工程师分为两种:一种充分理解了计算机科学,从而有能力应对充满挑战的创造性工作;另一种仅仅凭着对一些高级工具的熟悉而勉强应付。
这两种人都自称软件工程师,都能在职业生涯早期挣到差不多的工资。然而,随着时间流逝,第一种工程师不断成长,所做的事情将会越来越有意义且更为高薪,不论是有价值的商业工作、突破性的开源项目、技术上的领导力或者高质量的个人贡献。
第一种工程师总是寻求深入学习计算机科学的方法,或是通过传统的方法学习,或是在职业生涯中永无止息地学习;第二种工程师 通常浮于表面,只学习某些特定的工具和技术,而不研究其底层的基本原理,仅仅在技术潮流的风向改变时学习新的技能。
如今,涌入计算机行业的人数激增,然而计算机专业的毕业生数量基本上未曾改变。第二种工程师的供过于求正在开始减少他们的工作机会,使他们无法涉足行业内更加有意义的工作。对你而言,不论正在努力成为第一种工程师,还是只想让自己的职业生涯更加安全,学习计算机科学是唯一可靠的途径。
以上的话来自为什么要学习计算机科学。越看越觉得这话在理,每天重复CRUD的工作的意义在哪里。不是在学这个框架,就是在学另一个框架的路上,学了那么多框架,鼓捣了这么多杂七杂八的系统,意义在哪里?
打个比方,我是个修车的。今天学会了使用榔头,明天熟练使用榔头,后天学会了扳手…看起来每天都在学新东西,践行了“终生学习”的价值观,还能以此自我安慰,但是一辈子就是个修车的。
写完一个系统,过段时间回去看都不知道自己写了些什么,还得去读读自己写的屎山,实在没劲。人是会健忘的,不如做些有质量有价值的东西,而不是流水线商品。
今天看国内的各种网安产品,不是同质化严重,就是喜欢弄个新概念出来忽悠人。什么“攻击面”,诸如此类。本质不就是写个脚本到处搜索相关信息。浮躁!还是浮躁。换个新概念改个包装就想出来圈钱,一点都没有底层的技术积累。究其原因,我分为外因和内因。外因是国内的生活生产节奏太快,没有时间留给思考和真正对技术感兴趣的人。内因是人心浮躁,不管是打工人还是创业者,很少有人去思考为什么这段代码这么写,怎么写更好,而是“能用就行”。再论产品,只抄了国外产品的“形”,没有其思考结晶的“实”。功能都能实现,但没有去思考为什么要去实现这个功能。
想给自己制定一个长期的计划——“review CS”,重学计算机科学。起因也是看了一篇国外的论文,发现了可以基于属性图去做一些事情。而想起学校里的课,大大的误导了我,从而限制了我的想象力,让我很恼火。学校里的数据库课,一讲数据库,就讲关系型的sql,从而产生了误导,不管想做什么,就是mysql一把梭。从来不去想,这世界上还有neo4j等图数据库的存在。
为了打破这种僵化的思维,决定空闲时间学习一些更底层的技术。让自己时刻保持对这个世界的想象力。