我的编程之路 2023

首先恭祝大家元旦快乐!

现在距离午夜12点还有2个小时。此刻,我正在家中,静静地回忆这一年所做的工作。这一年,我的作品在数量上不多,但其他体验很丰富。

我尝试了做“独立开发者”,去攻海外Google Play市场。另外还换了工作,走上了新的工作岗位。这一年,可以说是异彩纷呈。具体情况且听我慢慢道来。

进入2023年后,首先得到的是来自电子工业出版社的新春礼物:

电子社的新春礼物

这个礼物的由来是22年出版的一本《Go语言从入门到项目实战》,从作者署名顺序上我排第二,所以这是一本多人合著的书,我负责编写基础知识部分。

紧接着,掘金平台也发来了新春礼物:

掘金平台的新春礼物

说起来,到目前为止,我已经在掘金平台上线两门课程了。其中,《Flutter跨平台开发实战》是在2023年完成上线销售的,现在已经有685人加入学习。另一门则是《零基础通关Go语言》,这门课有1096人加入学习。

纵观2023年,由我出版的商业课程似乎只有这一门《Flutter跨平台开发实战》。在这门课中,我介绍了Dart语言的重/难点、Flutter的核心思想,以及三个实战项目。当然,重点是在实战项目。

这三个实战项目都很简单,其中最后一个是Flappy Bird游戏。意在演示Flutter是可以用来做益智休闲类游戏的。

日常工作方面,在升为组长之后,我对管理的工作其实是不太适应的。回想当时的情形,在项目一切顺利的情况下,无论是客户还是公司员工,对工作的积极性和评价都很高。可一旦出现意外情况,我就表现得手忙脚乱,甚至很受客户的要求影响,被牵着鼻子走,这其实是不太对头的。正确地引导客户并管理好相关方是我当时的职责,这方面可以说是经验非常不足的。学的PMP知识在用的时候完全抛到脑后了,还好最终还是在前辈同事的指导帮助下把问题解决掉了。

后来公司没有再分配新项目,虽然领导层一直在努力争取客户。空闲下来的时间,我开始创作《我的编程十年路》连载文章。即从2013年到2022年,这十年来我的事业之路。没想到反响特别好,在博客园、CSDN等平台接连被推荐上首页,阅读量多次创全站最高。看来逛论坛的人们还是更喜欢看这些八卦多一点。

再后来由于我受《一人企业》的影响,觉得做个独立开发者,或者就干脆做技术图书的作者也不错。现在回想起来,当时真是越想越带劲,越想越不满意当时的工作。真是头脑发热,冲动一时,便辞去了工作。其实更好的做法应该是先“苟”着,毕竟23年的就业形势并不那么乐观。

既然说到做独立开发者,那段日子可以说是非常辛苦,却又乐在其中。毕竟是给自己打工,和在公司上班的心情和态度是完全不一样的。

因为我是从事移动端开发,所以独立开发的方向自然是移动端Android产品。据我了解,目前国内的应用市场需要备案,而且如果通过嵌广告的方式来获利,还需要以公司的方式申请开发者账号才行。于是在国内上线产品的路从一开始我就没打算走。

我想的是上线Google Play,然后内嵌Google Admob广告来获利。

最开始做的是一款通过蓝牙定位设备的App。原理就是通过监听蓝牙断连的状态通知,与此同时获取当前手机的经纬度信息,持久化本地存储。然后用户就可以通过地图来找到当初断连时刻的位置了。

这个功能看似简单,但多次帮了我的忙。我经常在早上出门的时候,忘了前一天晚上把车停在哪。多亏了每次手机与车机蓝牙断连的时候,记录了一次位置,才帮我再次找到我的车。

这个功能其实是iOS自带地图App的功能。当然,后来苹果公司的AirTag也有类似的功能。甚至在我开发出这个产品不久,国内的高德地图才提供了类似的功能,所以我认为我一开始的产品方向没有问题。

最大的问题就出在太想快一点见到收益。而一味求快,就会带来动作上的变形。而独立开发者面对的,将是从产品设计到最后的运维各个阶段。而且这些阶段不是只要“参与”就行,而是要做好。在这一点上,我高估了自己的能力,低估了独立开发者的工作难度。可想而知,最后的结果就是几乎每个环节都出了差错。就连最熟手的产品开发也是匆忙中出乱子,只要略微使用起来,就会发现很明显的Bug,最后从Play商店中主动下架了这个App。

凭着强大的内心和慌乱的阵脚,我发现了自己的不足,开始重视每个环节的学习实践,开始做另一个产品。这里就犯了另一个错误,就是选择另起炉灶,没有坚持完善已有的App,没看清市场的需求,对自己的市场分析完全丧失了信心。

可想而知,这一次,也已失败告终。

后来又开始研发小游戏,因为看了些独立开发者的经历,游戏确实比工具类App更有获利的可能,但最后也放弃了。

最后还在上架状态的,是一个时钟App。这个App的功能就是启动之后显示一个数字时钟,用户可以根据喜好,在预设的范围内选取背景色、文字颜色、开关秒针声音、切换12/24小时显示等等。大家都见过iOS 17中的Standby功能吧,就是类似的。只不过这一次我走在了iOS的前面,为Android用户提供了这个功能。可见,我应该对我的市场分析有足够的信心,仅仅是这少数几次预测,我都走得不错。

但实际上,即使是上架之后,日活也很低。我刚刚看了一下,目前只有4台活跃设备,主要来自美国和印度;总共下载只有10+次。当然这些都是自然增量,我没做任何推广。

所以自由职业做独立开发者,要克服的实际困难其实大概率会远超想象。

忙活了这一轮,总共做了3个App,其中只有1个可在商店中下载,时间也来到了6月。

做独立开发者碰壁的我当时开始求职了,另一方面就是当时老婆也辞职了,家里一下子经济断粮,所以我觉得实在不行还是回到上班族的状态比较好。但心有不甘,还是想做自由职业。面试了几家结果都不太好,毕竟我也没准备。自己开发程序用的是Flutter技术栈,面试的都是Android开发。而且面试心态其实很随缘。

我刚才看了一下,准确的时间是5月31日。有个HR主动联系我,要我的简历。于是抱着试一试的心态,就发过去了。没想到面试过程很顺利,也就是我现在所在的公司。

这段自由职业的经历,虽然惨痛,但现在回忆起来,也是很有意思的。首先是来自心理上的,从离职前的信心满满,到遭受打击后的信心丧失。然后是来自身体上的,这三个月我成功地减肥了,我记得是减了8斤。这个数字对于稍胖一些的人来说可能没什么,但是我只有不到110斤的体重,去掉这8斤就回到100斤以下了。也就是婚后难得发的一点福,又都还回去了。

哦,对了。这里落下一个事情没说。

在4月份,再一次收到了电子工业出版社的礼物。当时由于在自由职业,每天的工作强度相当大,几乎每天都要工作14个小时以上,且中午也基本不休。所以无论是颈椎还是眼睛,都非常累。体贴的出版社或许知道了我有需求,于是送来了颈椎按摩仪和一个引以为傲的证书:

电子社的礼物之二

回到常规工作,新入职的公司非常赞,属于国内三桶油之一的外包。虽说是外包,但也比很多互联网公司要正规很多,同事关系非常融洽。曾有段时间,我的工作比较少,于是便成了团队中的“辅助”。对,就相当于游戏中的辅助。虽然人头是0,但助攻很多。虽然没有什么出色的业绩,但是也不用背锅。

哦对了,我的体重又回来了,真的是感谢这份新的工作。早饭午饭超级棒,晚上基本不怎么饿。

我是6月底加入新公司的,从此之后就再也没有创作过任何文章了。这其实源于我对“作品观”发生了一次重塑。

2023年,知名的前辈——陈皓(左耳朵耗子)不幸逝世了。让我惭愧的是,我竟然在他去世(当时是五月份)后,才去了解他的生平,才知道他其实是行业内非常值得尊重的前辈。在翻看他的个人站点时,我发现了这样一段话:

https://coolshell.cn/haoel

是的,就是最后的一点,最戳中我的内心。我想,之前我写过的书已经有4册(算上合著1册,专著3册),但都销量平平。究其原因,虽然已是尽全力输出我对技术的理解,但奈何能力有限,却还总想着快速见效(收益)。作为行业前辈竞如上说,我觉得自己也该反省一下,应当也“沉淀足够的学识”,然后才真正具有出书的资格。

想到这,我便不想再动笔。等能力足够且时间充足的条件下,仍然尽全力写一本书。只是这一次写下的内容,将更有深度,更有价值。

好了,说完了2023,现在让我们看向明天——2024。

接下来的一年,首要任务当然是完成常规工作中的所有任务。其次,我觉得有必要进行人工相关的开发实践了。即使工作中没有用到,我自己也应该多多少少了解甚至动手实践一下了。

这源于前几天我看《十三邀》中对安藤忠雄的访谈,其中靠结尾有一段对人工智能的描述引发了我的思考。

回想计算机诞生后,人类的计算能力在速度上几乎是完败的。而这一次,人工智能带来的则是对很多行业,甚至是创意行业的颠覆。但从另一方面来说,虽然计算机在计算速度上远超人类,但如果不和它拼速度,而是利用这种优势,将其作为工具,去帮助人类完成众多之前难以想象的需求,其前景将是巨大而美好的(当然是不要用技术来做恶)。从历史的发展角度看却是如此。

如今,人工智能也将在某些方面远超人类,而这一次,如果我们再次将其作为工具,而非与其对抗。能否再次创造更加巨大的价值呢,能否造成更深远的影响呢?一切尚未可知,但值得一试。

未来已经到来,现在,距离2024年1月1日零点还有54分钟。我会再次为下一年立下若干Flag,然后在2024年的12月31日完成兑现。当然,今天这篇文章,也是2023年的Flag之一,也是2023年的最后一个Flag。

接下来,我的个人时间会变得更多,我想要把这些多出来的时间跟多用在学习和工作上。多磨练自己的技能,多提升自己的修养。去雕琢每一行代码,去阅读更多好书……

最后,特别感谢最近一段时间来陪我的老同事、老同学,让我拥有重新上路的信心。

2024,重启之年。