我在北京写代码(127)
作者:鲁棒棒
写于:20240730
正文
接下来的我要写的内容,恐怕已经脱离北京了,不过我还是坚持想把我这几年做的事都记录下来,现在大概还剩几个项目,和几个外出求职的事没写,我这个阶段,大概是从 2016 年到 2023 年这段时间,一直在断断续续的自己接项目做,然后也外出工作过一段时间,因为我对北京比较熟悉,也比较有感情,所以我找工作多数去的是北京,但是因为工作辛苦,加上我自己的心态也阴晴不定,出去工作也总是三心二意,做几个月赚点零花钱也就回家呆着继续搞自己的东西了。
不过我没有什么可以拿得出手的项目,我反思了很久,我认为我还是缺乏专注力,缺乏精进的精神,总是三心二意,想搞就搞,不想搞就不搞,接项目也是,有时候我会非常不耐烦,我也不知道为什么,反正就是觉得甲方的人说的都不对,只有我自己才是对的,另外就是遇到自己拿捏不了的项目,我也会有些慌张,不过现在好多了,我觉得我现在应该知道怎么办了,但是还有待实践,近期我正好又读了一些商科的书,我本身不爱读商科的书,觉得充满铜臭,我仔细算了一下,光我退钱给客户的事,就做了五六次,所以我并没有觉得有什么有趣的。
要说有意思的事,大概就是能够按照自己的想法组建一个机构,是比较有意思的,但是我深知自己缺乏领导能力,因为我优柔寡断,不够严肃,同时杀伐决断也不行,比如一个小伙子工作做的不好,让他滚蛋这种话,我是难以开口的,当然这是我的不足,每个人都有自己的不足,我只要在我擅长的地方,能够正常发挥就可以了。我做事有些奇葩的地方在于,我可能不会过多的考虑市场好不好,这个东西是否有前景。
我考虑的是,“这是我亲手打造的美妙的东西” 这就够了,我是有些孤芳自赏的感觉的,我不知道我这种酸腐气息是从何而来的,按照宿命论来说,我上辈子或者上上辈子,可能是周进,范进这样的人,比如把我关到山洞里,让我看一年小说,这种事我觉得我还是能应付的,有时候觉得很搞笑,这也是生活有趣的一面嘛。随着生活进程的不断推进,个人对生活的感触也越来越多。
今天来写一下我接活时期的另一个比较重要的项目吧,这是一个国外客户的项目,是在 “程序员客栈” 上接的,我把 “程序员客栈” 写到帖子里,并不是为它做广告,因为这个平台现在就算去注册了,也难以接到项目了,并且现在的很多项目虽然有,但是都是比较零碎的东西,比如开发一个 win32 的驱动。
你让我去做,可以,我可以花两个月学会了,然后做出来,但是这是给自己做项目的方案,如果给客户做,那么就万万不能如此,客户最多给你一周时间,所以平台上需要的是那种会做 “偏” 项目的人,就像做数学题一样,有人就擅长 “偏题怪题”,如果是一般题,大家都做的半斤八两。同时有一些需求都是转手 N 次的项目了,如果因为贪心而接了这样的项目,工期内做不出来,还有赔款的风险,所以我接下来专心搞点自己的玩意儿,不去跳接活儿的水坑了。
我在程序员客栈混了很长时间,因为那段时间我跟经理的关系不错,经常会给我推荐项目。因为他们也都是有提成拿的,所以经理找到靠谱的开发者,也愿意长期的维护客户关系,后来因为我几次因为家事推掉了几个项目,后来经理就不爱联系我了,再后来我也就逐渐淡出了。因为那段时间我正好要了宝宝,每天都在照顾宝宝,宝宝又爱生病发烧,经常跑医院,住院次数也很多,所以我也就没有继续在这个平台上混了。
我接项目的渠道就是 QQ 群,程序员客栈,还有开源中国的众包平台,然后猪八戒也接触过,但是上面的零工太难打,都是 “套模板” 的项目,主打的就是一个 30 块钱建网站的这种程度的研发。我毕竟做正经研发的,不屑于猪八戒这种平台,觉得很憋屈。总之就是这么回事了,可能有人说我心态不行,有的赚就行了,管那么多干嘛,关键我不是也接不到的嘛,趁现在正好跳出来。我认为世界上总有自己可以做的事情,挑拣能做的去做就行了。
实在没得挑了,自然就得什么都做了,关键还是得历练自己的心态,所有的一切看上去都是后知后觉的。
这个新项目的客户要做一个 “仿真程序”,简单的来说就是 “离散事件模拟程序”,其实也是比较简单的一个事件,让我想想,怎么把这个事儿说的简单一点,好让非科班读者可以弄明白什么是 “离散事件模拟”。
考研的数据结构教材上说,也就是严蔚敏的那本,应该是,我不记得了,我的考研书已经被封印了,等下次我在拿起来的时候可以详细介绍一下。
书上有一个例子,比如去银行排队办业务,一共有三个窗口,银行从上午九点开始办公到下午五点结束办公,假如每个人的业务办理时间是 15 分钟,平均等待时间是 5 分钟,并且新来的客户如果有空余窗口可以直接办理业务,如果没有空闲窗口,那么客户就要选择一个等待队列比较短的窗口进行等待。
以此为条件,来进行事件仿真程序的编写,并且预估银行一天的客流量以及优化方法。
其实这是一个把现实生活中的问题,进行抽象成数学模型的过程,学过数学建模的读者可能会比较熟悉这个问题,一般情况下,对于这种排队问题,排班问题,工厂的生产队列问题,如果不去实际执行一段时间,那么很难知道生产线的效率实况。
所以就需要进行提前模拟,用来指导业务的开展,其实懂一点离散数学,还有概率的知识可以对我们普通人的生活进行一些指导,通过建模你可以买到最便宜的菜,还有最便宜的衣服等。
而这个客户需要做的产品是一个苹果园摘苹果的仿真,项目背景也不复杂,这个客户是新西兰某个大学研究所的,他们现在的课题是帮助当地的苹果园主制作 “摘苹果机器人”,具体来说应该是使用树莓派之类的硬件做的智能小车,具体我也没有看到实体机器人是什么样子。
这个客户是大学的研究员,他们现在刚开始做这个醒目,因为签了大笔合同,同时因为人手不足,所以需要我帮忙写一个仿真程序,能够模拟出多大的苹果园,几个机器人摘果子的效率最高,因为情况并不是特别简单,其中涉及到机器人的行走路线,摘果子的效率,以及摘完果子之后返回路线,果子装车等等的时间因素。
这个事件模拟还算是比较容易写的,难点是客户需要做一个 “动画界面”,通过一些简单的图形模拟果园和机器人,进行整个事件的仿真程序的演示。我估计的是客户应该是要拿给他的甲方去看才对的。
这个项目也不是特别困难,这个客户是一个华人,但是具体不知道牢记是哪里的,目前在新西兰某所大学工作。项目完成后还给我邮寄了苹果和宝宝用的洗发水,我很喜欢这个客户,他应该对我也是比较认可的,但是后来就没有联系过了。
我当时用了 PyQT 写界面和动画,并且调用了一个离散事件模拟的框架来做整个模拟,其实我也是半瓶子醋,因为我并没有选修过 “离散数学” 这门课,同时我也没有机会选修,因为我读的专科院校,不教理论,所以我觉得计算机在专科院校学,有些别扭,因为你要是一点理论也不懂,遇到需要理论的项目就很尴尬了。
所以如果有心还是要给自己补课,但是因为眼界的关系,读专科时,对整个行业,整个计算机领域都不了解,没人告诉你微积分很重要,离散也很重要,同时线性代数也很重要。也没人告诉你,程序设计其实完全没必要把时间花在学习某门 “编程语言” 和 “框架上”。
我现在非常后悔把很多时间花在了 “框架” 上,简单来说,就是没啥用,一点用都没有。后来这个项目还是比较好的完成了,客户还送了礼物给我,这个项目一共拿到了三万多元,做了两个多月,总的来说还是挺好的,我也没加班,只是花了一周入门了离散数学。
大概就是如此了,今天写的有点长了,明天继续吧,晚安!!!