软件随笔

发布于: 雪球转发:155回复:379喜欢:181

理杏仁今年七岁了,他承载了我当程序员时候的梦——好代码、好产品,让我至今感到快乐,并引以为豪。

2006年我初生牛犊,通过反编译软件跟踪调试了当时.NET下的几乎所有Web组件,研究了一款称之为MagicAjax的开源框架,觉得自己内力大涨,看清了.NET的技术框架本质,还写了自己的一套基于.NET的ajax框架——WediaAjax,基础思路沿用的MagicAjax,但做了大量改良,性能和使用方便程度上达到了我当时认为的最优解。那个时候20岁不到的我,免不了年轻气盛,当时就在博客园上和一大V吵了起来,指责他“误导他人”。这哥们叫什么想不起来了,但人家很快成为了微软的VP,我去了北京谋得了自己的第一份正式工作,我很快发现自己当时对于道德的认知水平之低而感到可笑。

后来去了一家公司,记得程序员里的老大jack当时骂另外一个资深程序员,印象深刻,大意是,“你特么写的什么烂代码?编译器原理看过吗?就敢这样写?”我当时一脸懵逼,只觉得他很牛逼。时至今日我也没有系统看过编译器原理,说实话,蛮期待有机会被jack这样骂。2012年去纽约出差的时候,当时后端用的一个调试软件出了错误,我这个问题报给jack,jack说,“自己看看,不就是一点js问题吗?这都不会吗?”我当时有点委屈,来公司三年多了,我做的东西都是flash集成,从来不涉及到你们后端的这套东西,我本地环境估计启动都是个大问题,更别说调试了。然后我就去看怎么解决问题,自然,想修复没那么容易。过了一会儿,jack给我发了条消息,“我处理掉了,已经上线了,你刷新下。”估计是他嫌我处理的速度太慢了。中午吃饭的时候,jack叫了一下我,心里有些感动。

回北京之前,jack例行公事地请我吃饭,在一家餐厅里,看到菜单时满头雾水,根本不知道是啥,我说,“这样吧,每个系列餐里我选名字最短的那个。”几个同事马上笑了起来,jack看上去很高兴,他说:“好主意。做任何一件事,不管是好是坏,可执行才是基础。”这句话,我后来越想越觉得有道理,终生受益。

回来后过了两年,便开始写理杏仁的雏形,一写便七年。我想理杏仁大概率会做一辈子,而我这人比较胆小,总是担心会出什么事情,于是2020年来武汉,建立了自己的数据清洗平台,2021年找中介把最后一个资格证办了下来,2022年底把图形商标的最后几个证也拿了下来。

2021年初那会认为自己都快走上人生巅峰,结果2022年底跟搭档总结的时候说“到2023年底,争取达到最低每个月xx收入,在武汉不减员不减工资,我们维持一个最低生活保障的情况下,让公司得以续存下去。”特么过了七年,感觉又回到了创业最开始的那段日子,不同的是,没有了当初的那份焦躁,取而代之的是船到桥头自然直的顺应。不过我还是低了头,给员工说,“作为程序员,我是高兴的,写出了自己认可的一个优秀的产品;但作为老板,却是有些不合格的。”

人生时局,蹉跎变化,真的很难说一时好,一时差。好在我们过去赚了一些钱,也没有乱花什么钱,2021年和2022年这两年我们都扛了下来,也还留了一些给未来,如果2021年初扩张太快,估计现在也歇菜了。当初发展熠熠生辉的火球网的同事,却是去了就很难回头了。老大哥说,“人啊,得明白自己几斤几两,该退的时候一定要退。不过,本来就不知道自己怎么上去的,估计很难明白自己什么时候该下。”当时以为听懂了老大哥这句话,后来才发现没懂,因为我重仓买的一只股票赚了4倍多没有出,很快便跌去了75%。

2019年我们花了一整年时间完成了从angluar到vue2的整个升级,这次整个前端框架调整不得不完全重写前端代码;2022年我们投入整个公司的人力花了足足三月完成了从vue2到vue3的升级,我们没做兼容式升级,而是直接匹配最新特性,并做了大量重构和优化;随后又花费了一个月时间用core-js替换了整个网站的lodash,还有node的升级。

重构这事儿,以前打工的时候是最讨厌的,典型的吃力不讨好,因为老板看不到,而花费的时间却是巨大的。给自己打工的时候,心态就完全不一样了,新的项目和工程给搭档去做,因为他们受限制小,可以发挥自己最大的能动力;而我却最喜欢重构,这样可以慢慢把过去软件中的各类毒瘤给一个个清除干净,这有利于公司的长远发展。而很多软件在发展过程中,程序员往往力求责任最小化,输出最大化,这样导致的一个必然结果就是软件越发庞大臃肿。在企业成长过程中,这些都不是问题,毕竟有增量,更多的人以及更多的资源,意味着更大的能力;而当增量消失后,软件自身的维护成本相对值大幅提升,成为公司最为头疼的事儿,执行层往往会给出“不如重做”这种让老板下不了台的建议。想到后来经济学家狠狠批评罗斯福新政,指责他掩盖了问题导致经济失去一次重构的机会;人类社会几次重大变革,也推进了整体向着更高层级的模式发展,反而在整体变革中得以延续的结构却不可避免地走向衰败。它们似乎也是同样的道理。

代码越写就越觉得以前的代码写的烂,也越能看清什么是优秀的代码。第一个层次的人逻辑严密,写出来的东西少有bug;第二个层次的人代码如行云流水,函数不多一个参数也不少一个参数,能在阅读的过程中脑子里形成一幅图;第三个层次的人能看明白代码的趋势,做出最明智的选择。

理杏仁越做越发觉得开源世界的NB,它提供了一个通道可以让想学习的人持续打怪升级,渐渐摆脱自身阶层束缚;它提供了一个竞争的环境,让优秀的头脑能够脱颖而出;它提供了一个合作模式,让互不相识的人一起做一件事情,并避免大家重复造轮子。我想如果社会也按照这个模式去改造,应该是个很好的方向。

2022年,最烦躁的时候请教了下老大哥,老大哥给提了几句建议,最后我跟夫人说,我无条件听从老大哥的,因为他比我聪明太多。

2022年,从来没有对“历史的尘埃对普通人的影响”具有如此深刻的感受,那些过去的人,过去的事儿,不会再回来,但我不会忘记。好在,我还是幸运的。

祝大家新年快乐。

精彩讨论

鱼香基丝2023-01-22 13:01

作为理杏仁的种子用户,我深知一路走来的不容易,物美价廉的理杏仁是人民群众的wind,打破了西方数据软件的高价垄断,给了广大投资者很好的分析工具。

hit_tiger2023-01-22 16:22

写的真好,我做软件也20年了,我非常喜欢重构或者删除自己的代码,每次做完之后,我会仔仔细细看着代码,就像欣赏一件艺术品一样,很享受。

路人隐于街巷2023-01-22 12:18

同是程序员,b_ing哥比我优秀太多了,理杏仁是一款很棒的产品

厦门夹头2023-01-22 13:36

我是上世纪的码农,喜欢这段文字,有共鸣。
对于理工男来说,编程虽然辛苦,但不用与人打交道,不用勾心斗角,深夜里一个人静静编程,在小小的世界,我说了算,真好。

曹大勇2023-01-22 22:46

不会吧,巴菲特连行情走势图都懒得看,称各大行流行的ev/ebitda估值系统是混蛋指标,只一心阅读年报。当年投资中石油只是翻报纸看到中石油广告,再去看了几年年报。如果数据让人赚钱,那数据开发者和服务提供商,不早发财了?十几年前Google还能用的时候就有很不错的大数据选股器,当年雅虎财经的数据服务也很不错,都是免费的。普通投资者能接触到的数据,不是太少而是太多,去掏钱购买数据,个人认为已经输在起跑线上。这和学价值投资,非要加入一个“珠三角巴菲特俱乐部”类似。投资不是缺:软件工具数据书籍老师内幕高人圈子。。而是如何自省成长。

全部讨论

2023-01-22 13:01

作为理杏仁的种子用户,我深知一路走来的不容易,物美价廉的理杏仁是人民群众的wind,打破了西方数据软件的高价垄断,给了广大投资者很好的分析工具。

2023-01-22 16:22

写的真好,我做软件也20年了,我非常喜欢重构或者删除自己的代码,每次做完之后,我会仔仔细细看着代码,就像欣赏一件艺术品一样,很享受。

2023-01-22 12:18

同是程序员,b_ing哥比我优秀太多了,理杏仁是一款很棒的产品

2023-01-22 13:36

我是上世纪的码农,喜欢这段文字,有共鸣。
对于理工男来说,编程虽然辛苦,但不用与人打交道,不用勾心斗角,深夜里一个人静静编程,在小小的世界,我说了算,真好。

从17年开始用的,算是种子用户吗?去年直接买到了25年。感谢楼主开发这么好的产品,新年快乐!

2023-01-22 15:44

经常用理杏仁,说一声感谢~
我刚打赏了这篇帖子¥6.66,也推荐给你。
$上证指数(SH000001)$ $深证成指(SZ399001)$ $创业板指(SZ399006)$

2023-01-22 12:56


打工的时候知道重构的重要,但没有决策权。
老哥自己干,自己决策,能在产品与技术上做出好的决策。开源社区,给整个软件行业带来了一个开放的格局,不至于熵增走向寂灭。

2023-01-22 20:44

没有 app 是一个硬伤

现在已经成为开浏览器的两个页面之一了,感谢优惠,充了三年会员,,同行对比,个公司前后对比,真的能剩下不少时间,尤其是银行业,闭着眼睛都能筛选出来好公司,感谢,希望更多的人使用,少点人赔钱

2023-01-22 13:56

买了2次会员了,虽然只是偶尔使用,算是支持吧。