云端
Para 1
正月初六,我犯了一个原则性问题,把我的生活抛给了一个不可名状的未知数中。虽然它使我的生命分崩离析的概率小到比周围空气爆炸的概率还荒谬,但正像从0到1的“突破”,有这种概率的出现已使我惶惶不可终日了。直到现在,那个未知数还不能被确定……在这每天的思想斗争中,我突然再一次地觉得我的生命,与我所珍视的一切是那么脆弱。我所努力拥有或幸运遇到的一切,都有可能因为我的一个错误而全部爆掉。那可怕的玩意压着我的头,让我跪在地上承认我的错误我的罪,让我不得不珍惜这不确定的每一天。
类似可能随地断线的事情我经过很多次,但哪一次都没有像这一次一样漫长且煎熬。那一回吧,和父亲去爬一座山,山的路径是石头砌好的,是和尚化缘修来的。对于那时的我,无非只相当于爬爬楼梯,哪儿是真去爬山呢?我自然的而然地走在队伍的最前面,把父亲甩在后头。也就是那之后,父亲逢人就说:这小家伙体力好得很,是领头羊呢——每次他这般胡诹的时候,我老早在上边催促了。
又是很自然的,到了山顶。这山不是一座三角锥,而仿佛是从平地上突兀升起的一整块,四周都是悬崖峭壁。站在边上,就有一种不自觉想下跳的趋势。没有了往上的石阶,我说,原路回去吧。父亲却瞄见了前方的道路,怂恿我从那里下山去。显然,那不是属于景区的一条路。与所有景区横竖交叉出来的小路一样,它没有石砌的台阶,有的是黄黄的、被踩实了的土地与四周的杂草。多好的探险呐,父亲推着我。我只知父命不可违,也就去了。
自然的,先前领队的我成了探路的先锋,像只真正的领头羊在石矶间跳跃。这确实是一条下山的路,但也只是向下,全然不知通往何方。土地是实的没错,可上面还有一层沙,踩上去,也就是沙沙、沙沙——沙沙地滑落下去。踩在石头上尚且还好,可一切都太突然了,我右脚一迈,就踩到了一层沙上。又是斜坡,待我意识到时,我的右腿已经被拖拽着走了,幸好人小,两脚大开步时还可以勉强站住。可这样两手挥舞的样子,怎么停得下来?前方是一块突出的巨石和绿葱葱的远景,左边有一棵孤零零的树。大脑还没有思考,整个人就趴在了那小树上。幸好就几秒钟,速度还不快。我死命拽着树不撒手,人望前的石头一探,才发现什么都没了——远景遥不可及,低头便是绝壁。
但当时的我没什么感觉,肾上腺素还没反应过来,就又回到了正确道路上。要说有点变化的,可能就只是多了一些尘土,手没放开过树木而已。父亲趁这功夫终于赶了上来,看见我抓着树干,笑嘻嘻的说我怎么被这难住了。盯着他轻松的样子,我一时竟忘了告诉他我差点就掉下去了、就再也见不到了。想着,为什么爸爸完全不怕会滑倒呢?看了看一旁的小树,我觉得它可撑不住。
到了山下的一户村子里,已是离开景区很远了。山凹凹里没再多岔路,只得沿出村的马路走着。说是马路,其实和下山路差不太多。人已经乏了,但想到之前的事,再走走吧,脚踏实地的感觉真好。
Para 2
也就是那个暑假,我的一位同学离开了。我想她总是没抓住什么东西,不然也不至于呜呜淹死在江水中了。但是我不知道她到底应该抓住些什么,我只知道那天她是一个人从同学家走回来的,走到两村街的小桥上,兀得没了身影。是失足了?还是情愿放弃一切的纵身一跃?我也不知道。我只知道他的父母在她定位信号消失的地方打捞了四天三夜,最后才捞上来一具浮肿的尸体。家委会在班级群里收集善款,有同学质疑:为什么不是他的父母来收?越说越难听……作为班长的我因为管理不当被老师训了一顿。除了少了一个在操场边上独自坐着、若有所思的同学之外,这可能是对我唯二的影响。
死人,总是会有的,但我不想讲死。小时候想不通,现在觉得乏味了。那后来倒在我班级面前的、倒在血泊中的尸体,即使在当天被吓得不轻,没几天也就忘却了。就连寝室里回去要登记,我也觉得是很正常的事。前几年不登记人员的散漫态度,在我眼里才是不正常的存在。
Para 3
小时候,不知道水循环,老师就把水比作一个个水宝宝:它们从大海上出发,攒着一股劲儿,乌泱泱的爬到空中,循着气流飘到了中国大地上空。它们有的钻进干涸的土地里,哺育出美丽的花朵;有的扑进长江母亲的怀抱,成了一朵奔涌的浪花;还有的则化作雪花,落在皑皑的喜马拉雅之巅——或化甘泉、或成冰原,等待人们的发现。我傻傻的望着,望着在水壶里没有半点声响的一块水。我想,这些水宝宝见到我之前,经历了什么呢?如果有一部纪录片可以记录水的一生,那该有有多酷啊!那时候很喜欢看纪录片,我想人们既然可以拍出诸如《动物世界》、《地球脉动》等片子,那么拍一个水宝宝的纪录片,想来也不过分。
可是除了一身顽皮的小孩子以外,谁还会去关注它们呢。况且拍摄难度太大,用动画模拟一下已经是大发慈悲了。只是这样它们就并不是真的存在我水杯里的一滴水,所以我的愿望,很快就从务实的纪录片,转成可以回溯事物经历的超能力了。
Para 4
清明,又爬山。“清明时节雨纷纷"不是假的。雨水把地面浇得湿漉漉的,这次我没再跑在前头,等着父亲慢吞吞的上来,然后抓着他的手说:“你带着我走吧,我怕滑。”父亲还是和之前一样,稳稳当当的,一步一个泥泞。每一顿,都好像把脚扎根在了土地里。
Para 5
我住在一座小城里,很宁静的小城,和书本上说的一模一样。
我很享受这里,觉得外面的人很疯狂,理解不来,但又笃信那是潮流。在宁静的小城里呆着,时常觉得很孤僻。我跳到云上,但还是向往宁静,还是住在小城里。
有人对我说:“我要去地狱里燃烧了。”我是看不得有人去死的,因为看得太多了,那些东西也到底挥之不去……想着祂总得抓住点什么,可我毕竟在云上,即使跳出城外,也找不到方向去寻那一双手。幸好云上大家都是善良的吧,我的身影早已被乌泱泱的队伍盖得没了影。想跟上,却发现是原地转圈,最后也没有人找到祂。直到第二天传来一句:“没事儿了,昨天药效太猛没跳下去,昏了。”
疯狂的人还活在世上,并且活得并不像他们所说的一样——到众叛亲离的地步。毕竟我到现在还没有受到过这种乌泱泱的待遇。
可小城里的人,却真的是越来越少了。没能跟上队伍的我,最终还是要降落的。没地方去,只得落到原本的小城里——和书本上说的,大相径庭。
Para 6
上学了。回家的路上,我低着头说了一堆。我说我以后不能再这么暴躁了,我要改。父亲笑嘻嘻的说:“你暴躁吗?我没感觉到啊。”唉唉,我老是不耐烦的样子,你忘了吗?我说,我现在十分珍惜每一天,因为也许何时就不说再见的结束了,能活到现在也是一个奇迹——他好像在专心开车,所以没有搭理我。
你不觉得我说这些很奇怪吗?我没忍住,问了一句。“不奇怪啊,这说明你不再是象牙塔里的孩子,不再只是听从老师的教诲、一板一眼的考虑书本上的问题。你会思考人、会思考社会,说明你变得成熟了,这很正常。”
via SaroProck (author: https://www.saroprock.com)
This rendering was automatically generated by Frosti Feed and may have formatting issues. For the best experience, please visit: https://www.saroprock.com/blog/cherishing/
Para 1
正月初六,我犯了一个原则性问题,把我的生活抛给了一个不可名状的未知数中。虽然它使我的生命分崩离析的概率小到比周围空气爆炸的概率还荒谬,但正像从0到1的“突破”,有这种概率的出现已使我惶惶不可终日了。直到现在,那个未知数还不能被确定……在这每天的思想斗争中,我突然再一次地觉得我的生命,与我所珍视的一切是那么脆弱。我所努力拥有或幸运遇到的一切,都有可能因为我的一个错误而全部爆掉。那可怕的玩意压着我的头,让我跪在地上承认我的错误我的罪,让我不得不珍惜这不确定的每一天。
类似可能随地断线的事情我经过很多次,但哪一次都没有像这一次一样漫长且煎熬。那一回吧,和父亲去爬一座山,山的路径是石头砌好的,是和尚化缘修来的。对于那时的我,无非只相当于爬爬楼梯,哪儿是真去爬山呢?我自然的而然地走在队伍的最前面,把父亲甩在后头。也就是那之后,父亲逢人就说:这小家伙体力好得很,是领头羊呢——每次他这般胡诹的时候,我老早在上边催促了。
又是很自然的,到了山顶。这山不是一座三角锥,而仿佛是从平地上突兀升起的一整块,四周都是悬崖峭壁。站在边上,就有一种不自觉想下跳的趋势。没有了往上的石阶,我说,原路回去吧。父亲却瞄见了前方的道路,怂恿我从那里下山去。显然,那不是属于景区的一条路。与所有景区横竖交叉出来的小路一样,它没有石砌的台阶,有的是黄黄的、被踩实了的土地与四周的杂草。多好的探险呐,父亲推着我。我只知父命不可违,也就去了。
自然的,先前领队的我成了探路的先锋,像只真正的领头羊在石矶间跳跃。这确实是一条下山的路,但也只是向下,全然不知通往何方。土地是实的没错,可上面还有一层沙,踩上去,也就是沙沙、沙沙——沙沙地滑落下去。踩在石头上尚且还好,可一切都太突然了,我右脚一迈,就踩到了一层沙上。又是斜坡,待我意识到时,我的右腿已经被拖拽着走了,幸好人小,两脚大开步时还可以勉强站住。可这样两手挥舞的样子,怎么停得下来?前方是一块突出的巨石和绿葱葱的远景,左边有一棵孤零零的树。大脑还没有思考,整个人就趴在了那小树上。幸好就几秒钟,速度还不快。我死命拽着树不撒手,人望前的石头一探,才发现什么都没了——远景遥不可及,低头便是绝壁。
但当时的我没什么感觉,肾上腺素还没反应过来,就又回到了正确道路上。要说有点变化的,可能就只是多了一些尘土,手没放开过树木而已。父亲趁这功夫终于赶了上来,看见我抓着树干,笑嘻嘻的说我怎么被这难住了。盯着他轻松的样子,我一时竟忘了告诉他我差点就掉下去了、就再也见不到了。想着,为什么爸爸完全不怕会滑倒呢?看了看一旁的小树,我觉得它可撑不住。
到了山下的一户村子里,已是离开景区很远了。山凹凹里没再多岔路,只得沿出村的马路走着。说是马路,其实和下山路差不太多。人已经乏了,但想到之前的事,再走走吧,脚踏实地的感觉真好。
Para 2
也就是那个暑假,我的一位同学离开了。我想她总是没抓住什么东西,不然也不至于呜呜淹死在江水中了。但是我不知道她到底应该抓住些什么,我只知道那天她是一个人从同学家走回来的,走到两村街的小桥上,兀得没了身影。是失足了?还是情愿放弃一切的纵身一跃?我也不知道。我只知道他的父母在她定位信号消失的地方打捞了四天三夜,最后才捞上来一具浮肿的尸体。家委会在班级群里收集善款,有同学质疑:为什么不是他的父母来收?越说越难听……作为班长的我因为管理不当被老师训了一顿。除了少了一个在操场边上独自坐着、若有所思的同学之外,这可能是对我唯二的影响。
死人,总是会有的,但我不想讲死。小时候想不通,现在觉得乏味了。那后来倒在我班级面前的、倒在血泊中的尸体,即使在当天被吓得不轻,没几天也就忘却了。就连寝室里回去要登记,我也觉得是很正常的事。前几年不登记人员的散漫态度,在我眼里才是不正常的存在。
Para 3
小时候,不知道水循环,老师就把水比作一个个水宝宝:它们从大海上出发,攒着一股劲儿,乌泱泱的爬到空中,循着气流飘到了中国大地上空。它们有的钻进干涸的土地里,哺育出美丽的花朵;有的扑进长江母亲的怀抱,成了一朵奔涌的浪花;还有的则化作雪花,落在皑皑的喜马拉雅之巅——或化甘泉、或成冰原,等待人们的发现。我傻傻的望着,望着在水壶里没有半点声响的一块水。我想,这些水宝宝见到我之前,经历了什么呢?如果有一部纪录片可以记录水的一生,那该有有多酷啊!那时候很喜欢看纪录片,我想人们既然可以拍出诸如《动物世界》、《地球脉动》等片子,那么拍一个水宝宝的纪录片,想来也不过分。
可是除了一身顽皮的小孩子以外,谁还会去关注它们呢。况且拍摄难度太大,用动画模拟一下已经是大发慈悲了。只是这样它们就并不是真的存在我水杯里的一滴水,所以我的愿望,很快就从务实的纪录片,转成可以回溯事物经历的超能力了。
Para 4
清明,又爬山。“清明时节雨纷纷"不是假的。雨水把地面浇得湿漉漉的,这次我没再跑在前头,等着父亲慢吞吞的上来,然后抓着他的手说:“你带着我走吧,我怕滑。”父亲还是和之前一样,稳稳当当的,一步一个泥泞。每一顿,都好像把脚扎根在了土地里。
Para 5
我住在一座小城里,很宁静的小城,和书本上说的一模一样。
我很享受这里,觉得外面的人很疯狂,理解不来,但又笃信那是潮流。在宁静的小城里呆着,时常觉得很孤僻。我跳到云上,但还是向往宁静,还是住在小城里。
有人对我说:“我要去地狱里燃烧了。”我是看不得有人去死的,因为看得太多了,那些东西也到底挥之不去……想着祂总得抓住点什么,可我毕竟在云上,即使跳出城外,也找不到方向去寻那一双手。幸好云上大家都是善良的吧,我的身影早已被乌泱泱的队伍盖得没了影。想跟上,却发现是原地转圈,最后也没有人找到祂。直到第二天传来一句:“没事儿了,昨天药效太猛没跳下去,昏了。”
疯狂的人还活在世上,并且活得并不像他们所说的一样——到众叛亲离的地步。毕竟我到现在还没有受到过这种乌泱泱的待遇。
可小城里的人,却真的是越来越少了。没能跟上队伍的我,最终还是要降落的。没地方去,只得落到原本的小城里——和书本上说的,大相径庭。
Para 6
上学了。回家的路上,我低着头说了一堆。我说我以后不能再这么暴躁了,我要改。父亲笑嘻嘻的说:“你暴躁吗?我没感觉到啊。”唉唉,我老是不耐烦的样子,你忘了吗?我说,我现在十分珍惜每一天,因为也许何时就不说再见的结束了,能活到现在也是一个奇迹——他好像在专心开车,所以没有搭理我。
你不觉得我说这些很奇怪吗?我没忍住,问了一句。“不奇怪啊,这说明你不再是象牙塔里的孩子,不再只是听从老师的教诲、一板一眼的考虑书本上的问题。你会思考人、会思考社会,说明你变得成熟了,这很正常。”
via SaroProck (author: https://www.saroprock.com)
久别重逢的生活碎片
前些日子,和久违的高中同学见面一起吃了个饭。
时间过得很快,转眼间大学也毕竟毕业两年多了。据我所了解的,我那届高中同学,有很多在大学毕业之后没有就业而是选择了继续深造。两年的时间又过去了,不少研究生也已经毕业,参加工作了。
从聊天中得知,有些人在本地找到了一份稳定的工作,虽然收入不高,但是可持续发展。也有正在经历研究生的最后一年时光,正在焦虑论文和就业。有人会羡慕我,没有选择读研而是毕业就参加工作,如今已经工作两年,而他们选择了深造却仍然能找到合适的工作。我想着大概是围城,早早成为社畜的我,也很是羡慕那校园生活。
留在小城市,找一份稳定的工作也许是一个最保守的选择,但也是一个一眼就能看到头的工作。但我并不喜欢这样。作为一个程序员,我希望每天都需要做不同以往有挑战性的事情。但也深知这是一个颠沛流离的职业,终点是一个未知。我现在很好,但是有时候还是会忍不住去想,未来的路到底会通向哪里。
最近生活中也出了些小插曲。
同学开我车子时,磕到马路牙子了。维修花了 800,等了三天。也是长了教训,后面车子还是自己开,要不然万一出了事故不仅伤感情而且花时间也破费。
在火车站停车停了一天,回来发现被开门杀了。回到家开始翻哨兵,看了几百个视频发现了肇事者。果断报警了。后续去事故中队处理,肇事者也认了,最后赔了 500。
看完了?说点什么呢
via 静かな森 (author: Innei)
该渲染由 Shiro API 生成,可能存在排版问题,最佳体验请前往:https://innei.in/notes/186
前些日子,和久违的高中同学见面一起吃了个饭。
时间过得很快,转眼间大学也毕竟毕业两年多了。据我所了解的,我那届高中同学,有很多在大学毕业之后没有就业而是选择了继续深造。两年的时间又过去了,不少研究生也已经毕业,参加工作了。
从聊天中得知,有些人在本地找到了一份稳定的工作,虽然收入不高,但是可持续发展。也有正在经历研究生的最后一年时光,正在焦虑论文和就业。有人会羡慕我,没有选择读研而是毕业就参加工作,如今已经工作两年,而他们选择了深造却仍然能找到合适的工作。我想着大概是围城,早早成为社畜的我,也很是羡慕那校园生活。
留在小城市,找一份稳定的工作也许是一个最保守的选择,但也是一个一眼就能看到头的工作。但我并不喜欢这样。作为一个程序员,我希望每天都需要做不同以往有挑战性的事情。但也深知这是一个颠沛流离的职业,终点是一个未知。我现在很好,但是有时候还是会忍不住去想,未来的路到底会通向哪里。
最近生活中也出了些小插曲。
同学开我车子时,磕到马路牙子了。维修花了 800,等了三天。也是长了教训,后面车子还是自己开,要不然万一出了事故不仅伤感情而且花时间也破费。
在火车站停车停了一天,回来发现被开门杀了。回到家开始翻哨兵,看了几百个视频发现了肇事者。果断报警了。后续去事故中队处理,肇事者也认了,最后赔了 500。
看完了?说点什么呢
via 静かな森 (author: Innei)
当孤独成为生命的影子,我们在荒诞中寻找意义
1928年,一位天才作家出生在美丽的哥伦比亚海滨小镇阿拉卡塔卡,但出生后不久,便被寄养在外祖父家,外祖父天天给他倾诉往事,外祖母则给他讲了非常多的印第安神话故事,也正是这段童年经历,这位天才作家早早就体会到了孤独,也在他的心里埋下了想象与魔幻的种子。1947年,他考入了哥伦比亚大学攻读法律,意外尝试下开始了创作之路。1948年,因哥伦比亚内战爆发,他只能转入卡塔赫纳大学攻读新闻系,不久开始了他漫长的记者生涯,也正是这段人生经历,内心的敏感为他之后的文学创作打下来基础。1967......
READ MORE
via 太隐 (author: Ludwig Wang)
1928年,一位天才作家出生在美丽的哥伦比亚海滨小镇阿拉卡塔卡,但出生后不久,便被寄养在外祖父家,外祖父天天给他倾诉往事,外祖母则给他讲了非常多的印第安神话故事,也正是这段童年经历,这位天才作家早早就体会到了孤独,也在他的心里埋下了想象与魔幻的种子。1947年,他考入了哥伦比亚大学攻读法律,意外尝试下开始了创作之路。1948年,因哥伦比亚内战爆发,他只能转入卡塔赫纳大学攻读新闻系,不久开始了他漫长的记者生涯,也正是这段人生经历,内心的敏感为他之后的文学创作打下来基础。1967......
READ MORE
via 太隐 (author: Ludwig Wang)
新 MacBook 的设置和软件
趁着国补,把手头用了 5 年的 MacBook Air M1 换成了 MacBook Pro 14 寸 M4. 顺便手动重新配置新电脑,在此记录一下每次设置新电脑时我会做的一些设置和必装的软件。
设置
把点按切换成轻点:
我不喜欢用触摸板点按拖动来移动窗口,觉得有点费力,所以我会调整为三指拖移。旧版本的 OS X 可以直接在系统设置中调整,新版本的 macOS 竟然把它归类到辅助功能里了:
把 Control 键和 Caps Lock 键互换。因为我需要频繁使用 Control 键,Caps Lock 的位置是最合适的,这也是 HHKB 的默认布局:
取消 Spotlight 的所有索引,因为我用 Raycast, Spotlight 的索引会浪费计算资源:
软件
● Microsoft Edge: 用了很多年的主力浏览器
● 清歌五笔输入法: 最好用的五笔输入法
● Raycast: 不必多说
● Cursor: 目前主力 IDE, 也是 Cursor 长期的订阅用户
● CleanShotX: 最好用的截图软件,除了截图还有很多好用的小功能(比如 OCR, 录屏)
● 1Password: 密码管理
● Warp: 主力 Terminal Emulator, 已经离不开通过 AI 写复杂的命令
● iStat Menus: 在 Menu bar 显示系统信息,我用来实时看到网络传输速度和内存使用情况
via Randy's Blog
Invalid media:
image
image
image
image
趁着国补,把手头用了 5 年的 MacBook Air M1 换成了 MacBook Pro 14 寸 M4. 顺便手动重新配置新电脑,在此记录一下每次设置新电脑时我会做的一些设置和必装的软件。
设置
把点按切换成轻点:
我不喜欢用触摸板点按拖动来移动窗口,觉得有点费力,所以我会调整为三指拖移。旧版本的 OS X 可以直接在系统设置中调整,新版本的 macOS 竟然把它归类到辅助功能里了:
把 Control 键和 Caps Lock 键互换。因为我需要频繁使用 Control 键,Caps Lock 的位置是最合适的,这也是 HHKB 的默认布局:
取消 Spotlight 的所有索引,因为我用 Raycast, Spotlight 的索引会浪费计算资源:
软件
● Microsoft Edge: 用了很多年的主力浏览器
● 清歌五笔输入法: 最好用的五笔输入法
● Raycast: 不必多说
● Cursor: 目前主力 IDE, 也是 Cursor 长期的订阅用户
● CleanShotX: 最好用的截图软件,除了截图还有很多好用的小功能(比如 OCR, 录屏)
● 1Password: 密码管理
● Warp: 主力 Terminal Emulator, 已经离不开通过 AI 写复杂的命令
● iStat Menus: 在 Menu bar 显示系统信息,我用来实时看到网络传输速度和内存使用情况
via Randy's Blog
Invalid media:
image
image
image
image
「代码艺术家」不会被 AI 取代
最近大量地使用 Cursor 替代了 VS Code, 开始习惯直接在编辑器里告诉 AI 我的需求,让它来代替我写出代码段。
请注意,我用了「代码段」这个词,而不是「代码」,因为我想做一个区分 —— 按照我目前的经验来看,生成式 AI 非常擅长生成一段内聚的代码,而不是一整个应用程序。
在没有 AI 生成代码前,我写代码也是这样的一个流程:
1. 思考整个应用的架构、模块
2. 选择适合的技术栈
3. 开始写代码,设计目录结构、抽象
4. 真正开始实现实现
AI 也许能为第 1 和第 2 点提出建议,但我目前不需要。第 3 点我认为对于稍微复杂一点的生产级应用, AI 还做不到把这一块也做到。可能很多人看到现在 Claude 直接能写出一个全功能的 Todo List 就惊叹 AI 要取代程序员了,我觉得真正写过一个完整的给用户使用的「应用」的朋友对此都会很淡定。
对于我来说,只有在第 4 步(实现) 的阶段才真正能杠杆 AI 的能力。我会尽可能地描述清楚我的需求,让 AI 能理解我要做的任务,让它来生成满足我的抽象的代码,或修改现有的代码。
这里我提到的描述清楚我的需求是用 AI 生成代码中最重要的一点。所谓的「需求」不仅仅是描述这个函数需要做什么事情,还需要包含这个函数应该接收什么参数,返回的是什么数据结构。
例如,我在做的一个应用,其中我需要一个上传文件到 S3 的函数。在这个需求中,如果我单纯告诉 AI它要做什么,那我很有可能得到一个可以实现功能但不适合我调用的函数,因为 AI 没有上下文去确定我可以传哪些参数给它。
![cursor 截图]../../../images/telegram-cloud-photo-size-5-6168067452672523878-y.jpg
在深度和 AI 「结对编程」后,我对于「AI 是否能取代程序员」这个问题有了更深刻的思考。
有了 AI, 我现在写代码花的精力主要是在「设计」上,例如思考这个应用的交互设计,例如整个应用的架构设计。所谓的架构设计,一部分的工作是决定这个系统里要有什么模块,一部分的工作是决定这些模块如何串联在一起。而这些设计工作恰恰是我写代码的时候最喜欢做的,对我来说,写代码就应该是一个设计的过程,设计出优雅、易用、易扩展的接口是一件很有成就感的事。这也是我当初看 Head First Design Patter 这本书时的感受。 如果写软件变成了一个只需要花精力在设计而不是实现上的过程,那么写软件的人就是「代码艺术家」了。我觉得「代码艺术家」是不会被 AI 取代的,因为设计的起点和终点都是人类,AI 可以给你 100 个设计上的答案,但只有人类最终能感知到现实和当下的环境和信息,创造出能触动另一群人类的产品。
如果你从现在开始,开始把 AI 当作是你的员工,就像某一天你突然只需要 $20 一个月就能招无数多愿意帮你打工的人,你很快就会发现,你最终会面临两种局面:
局面1:你将手足无措,你突然发现如果你不是实现函数的那个人,你就不知道你应该做什么了。从前你沾沾自喜的手写快排,手写红黑树突然变得一文不值,无处施展。
局面2:你将如虎添翼,你突然发现你曾经有很多想法没有精力和时间去实现,现在突然有这么多廉价劳动力将不厌其烦地帮你写代码,而你要做的只是设计好整个系统的结构,把具体实现外包给 AI. 然后把产品推出市场,去碰壁,去失败,去成功。显然,AI 不能替代你去碰壁,去失败,去成功,但真正让你变得强大的不是你手写快排有多烂熟于心,而是去碰壁之后学习到的东西。
AI 不会替代「代码艺术家」,因为 AI 是「代码艺术家」的喷射机。
读到这里,可能有人要说,Randy, 你飘了,你开始技术虚无主义了。在这里我要申明,这篇文章我是写给有一定经验的程序员看的。对于没有什么经验的程序员,多写点代码总是好的(至少目前来看)。AI 能力的上限是由用的人的上限决定的。无论是任何行业,充分掌握领域知识后配合 AI 才是最好的做法。
就像下面这个例子,我只要说一句 add tanstack query provider 就能让 AI 帮我把 @tanstack/query 加到我的程序里。我自己会写,但我自己写可能要花一两分钟,但 AI 一下子就好了。
![cursor 截图]../../../images/telegram-cloud-photo-size-5-6165685253356765301-y.jpg
但如果你没有任何代码经验,你连 tanstack query 是什么都不知道,也不知道要放在程序的哪个地方,那用 AI 还是有点困难。
写下这篇文章是因为最近用 Cursor 有感,加上刚好看到 Daniel Nguyen 发了一篇 Software is Art, 有感而发,不吐不快。在此粗浅翻译(非 GPT),作为结尾:
via Randy's Blog
最近大量地使用 Cursor 替代了 VS Code, 开始习惯直接在编辑器里告诉 AI 我的需求,让它来代替我写出代码段。
请注意,我用了「代码段」这个词,而不是「代码」,因为我想做一个区分 —— 按照我目前的经验来看,生成式 AI 非常擅长生成一段内聚的代码,而不是一整个应用程序。
在没有 AI 生成代码前,我写代码也是这样的一个流程:
1. 思考整个应用的架构、模块
2. 选择适合的技术栈
3. 开始写代码,设计目录结构、抽象
4. 真正开始实现实现
AI 也许能为第 1 和第 2 点提出建议,但我目前不需要。第 3 点我认为对于稍微复杂一点的生产级应用, AI 还做不到把这一块也做到。可能很多人看到现在 Claude 直接能写出一个全功能的 Todo List 就惊叹 AI 要取代程序员了,我觉得真正写过一个完整的给用户使用的「应用」的朋友对此都会很淡定。
对于我来说,只有在第 4 步(实现) 的阶段才真正能杠杆 AI 的能力。我会尽可能地描述清楚我的需求,让 AI 能理解我要做的任务,让它来生成满足我的抽象的代码,或修改现有的代码。
这里我提到的描述清楚我的需求是用 AI 生成代码中最重要的一点。所谓的「需求」不仅仅是描述这个函数需要做什么事情,还需要包含这个函数应该接收什么参数,返回的是什么数据结构。
例如,我在做的一个应用,其中我需要一个上传文件到 S3 的函数。在这个需求中,如果我单纯告诉 AI它要做什么,那我很有可能得到一个可以实现功能但不适合我调用的函数,因为 AI 没有上下文去确定我可以传哪些参数给它。
![cursor 截图]../../../images/telegram-cloud-photo-size-5-6168067452672523878-y.jpg
在深度和 AI 「结对编程」后,我对于「AI 是否能取代程序员」这个问题有了更深刻的思考。
有了 AI, 我现在写代码花的精力主要是在「设计」上,例如思考这个应用的交互设计,例如整个应用的架构设计。所谓的架构设计,一部分的工作是决定这个系统里要有什么模块,一部分的工作是决定这些模块如何串联在一起。而这些设计工作恰恰是我写代码的时候最喜欢做的,对我来说,写代码就应该是一个设计的过程,设计出优雅、易用、易扩展的接口是一件很有成就感的事。这也是我当初看 Head First Design Patter 这本书时的感受。 如果写软件变成了一个只需要花精力在设计而不是实现上的过程,那么写软件的人就是「代码艺术家」了。我觉得「代码艺术家」是不会被 AI 取代的,因为设计的起点和终点都是人类,AI 可以给你 100 个设计上的答案,但只有人类最终能感知到现实和当下的环境和信息,创造出能触动另一群人类的产品。
如果你从现在开始,开始把 AI 当作是你的员工,就像某一天你突然只需要 $20 一个月就能招无数多愿意帮你打工的人,你很快就会发现,你最终会面临两种局面:
局面1:你将手足无措,你突然发现如果你不是实现函数的那个人,你就不知道你应该做什么了。从前你沾沾自喜的手写快排,手写红黑树突然变得一文不值,无处施展。
局面2:你将如虎添翼,你突然发现你曾经有很多想法没有精力和时间去实现,现在突然有这么多廉价劳动力将不厌其烦地帮你写代码,而你要做的只是设计好整个系统的结构,把具体实现外包给 AI. 然后把产品推出市场,去碰壁,去失败,去成功。显然,AI 不能替代你去碰壁,去失败,去成功,但真正让你变得强大的不是你手写快排有多烂熟于心,而是去碰壁之后学习到的东西。
AI 不会替代「代码艺术家」,因为 AI 是「代码艺术家」的喷射机。
读到这里,可能有人要说,Randy, 你飘了,你开始技术虚无主义了。在这里我要申明,这篇文章我是写给有一定经验的程序员看的。对于没有什么经验的程序员,多写点代码总是好的(至少目前来看)。AI 能力的上限是由用的人的上限决定的。无论是任何行业,充分掌握领域知识后配合 AI 才是最好的做法。
就像下面这个例子,我只要说一句 add tanstack query provider 就能让 AI 帮我把 @tanstack/query 加到我的程序里。我自己会写,但我自己写可能要花一两分钟,但 AI 一下子就好了。
![cursor 截图]../../../images/telegram-cloud-photo-size-5-6165685253356765301-y.jpg
但如果你没有任何代码经验,你连 tanstack query 是什么都不知道,也不知道要放在程序的哪个地方,那用 AI 还是有点困难。
写下这篇文章是因为最近用 Cursor 有感,加上刚好看到 Daniel Nguyen 发了一篇 Software is Art, 有感而发,不吐不快。在此粗浅翻译(非 GPT),作为结尾:
I realize the reason I like building is not just because I’m a builder.
我意识到我一直喜欢创造点东西的原因不只是因为我就是个创造者.
It’s because software products are how I express my creativity.
而是因为写软件产品是我表达我的创意的一种方式
It’s like a poem to a poet, a song to a songwriter, a painting to a painter…
就像诗人的诗,歌手的歌,画家的画
Software is my art form, my medium of expression.
软件是属于我的一种艺术形式,是我表达(创造力)的媒介。
via Randy's Blog
不上班的第一年
2023 年的 5 月,我离开了微软,开始了自己做产品的旅程。到现在刚好满了一年,这一年发生了不少事情,有些在 2023 年终总结里提到过,这一篇我想更详细地列出在这一年我具体做了什么、对自由职业的思考、对做产品的一些思考等等。
首先是我的产出,这一年我的产出主要是两个产品、一个播客。
两个产品
Notepal
离职后第一个认真做的产品是 Notepal, 这是一个用于把微信读书笔记同步到各个笔记应用的插件。我在这篇文章详细写过这个产品的起源和在做这个产品的时候的一些思考。我在做这个产品的时候完全没有想到,这个只卖 50 块的插件,在这一年帮我付了我一整年的房租。
EpubKit
EpubKit 是另外一个我投入比较多的产品。这是一个把网页转成 ePub 电子书的工具。正式上线不到一个月,收获了几十个付费用户。
一个播客
刚好今年的 5 月份也是我和 GeekPlux 一起做的播客节目《代码之外》 的一周年。起初我们只是玩票性地做闲聊节目,后来因为有了听众来信的栏目,我们慢慢会讲更多职业发展方向的主题,这些主题意外地无形中对很多听众有不少的帮助。后来还邀请我刚工作就很欣赏的前辈勾股作为来信栏目的常驻嘉宾,为节目带来了很多很好的观点。今年在参加一些线下活动时,有些听众会跟我说从节目中得到了启发。从统计数字上看,我们好像的确是做了一件影响力不算小的事:
● 小宇宙订阅数 6000+, 总播放量 11万+
● Bilibili 粉丝 6000+,总播放量 13万+
● YouTube 订阅数 2500+, 总播放量 3万+
在这一年,我对于做产品和生活都有了很多思考。对于不上班这件事,有人羡慕,有人好奇,刚好在这篇总结里,我想跟大家分享不上班的好处和缺点。
不上班的好处
时间自由
不上班的好处对我来说最明显的是时间自由。我是一个喜欢晚睡晚起的人,所以对我来说,准时上班是一件很难的事。不上班可以让我睡到自然醒,有充足的睡眠时间。
认识不同的人
上班的时候基本只能认识职场环境里面的同事朋友,或者在网络上交流的朋友。但是在自己做产品后,我开始认识一些同样是在做产品的朋友,和这些朋友可以聊得更深入。这些人往往对很多事情都有自己独特的思考。我从他们身上学习到非常多。我经常觉得如果我只是和以前一样在公司上班,业余写写博客和开源,我可能很难和这些朋友有共同话题,最多也只是互相点赞之交。
赤裸地直面市场
不上班后只能完全依靠自己赚钱,这代表我需要很赤裸地直面市场。
第一层赤裸,指的是脱离公司,作为一个个体,我可以给消费者提供什么他们认为值得为我付费的价值?
第二层赤裸,指的是一个产品如果脱离大公司本来就有的入口红利,我靠什么给我的产品带来自然流量?
这些都是很难的问题,但一旦开始学习,收获都是巨大的,而且都是属于自己的。在公司里最可怕的地方在于,我们很容易把公司给的平台误以为是自己的能力,很容易把流量看成是理所当然会有的。
也正因为如此,在这个过程中,我可以学习到很多以前不会主动学习的技能。
学习到更多技能
自己做产品的时候,没有公司平台给的入口,首先需要学习的就是如何做 marketing. 也是只有在自己做产品的时候,才会发现要别人发现你的产品是一件多么难的事。回想以前在阿里做业务,我们写一个营销活动页面,只要把入口放到某个栏位,基本不需要担心没有流量。
为了获客,我学会了研究 SEO, 学会了怎么做小红书,读了很多关于 marketing 的书。这让我学习了很多技术之外的知识,我觉得这些知识是终生受用的,而且它们不仅可以在互联网行业受用。
不上班的缺点
没有固定收入
不上班最大的缺点就是没有固定收入,这是很现实的问题。坦率地说,我以前买东西基本不看价格,只要觉得有价值,我就会买。没有固定收入之后,我买东西变得更加谨慎了。比如最近我很想买一台 Studio Display, 换作以前,无需多想,直接下单。但是现在,我会想我要卖多少份软件才能 cover 这台显示器,想想还是算了。
有时候我的朋友说羡慕我不用上班,我就跟他们说我这一年的收入还没有你们一个月赚得多,他们心理也就平衡了🤣。
孤独
可能有些人就是喜欢不用和别人交流,但对我来说,我是喜欢社交的,我在适当的社交中可以获取能量。不上班的时候,大部份的时间都是在家里写代码,看书,在网上和朋友聊天。有时候一整天都不需要开口说一句话。到后来我有点受不了,开始到外面的咖啡厅办公,只要能见到旁边有活人,就能有所缓解这种孤独感。
不确定性
上班有上班的不确定性要面对,不上班也有不上班的不确定性要面对。你无法确定这种生活可以维持多久,你的产品是否能卖得出去,就算卖得出去,它是否能养活自己,这些都是要面对的问题。
这些就是我体会到的不上班的一些优缺点,接下来,我想讲讲这一年在做产品的过程中我的一些思考和感受。
思考和感受
独立开发?
「独立开发」这个词在这一年非常火,用来标签像我这样自己做产品的开发者。其实我一直不称自己为「独立开发者」,因为我根本不想「独立」开发。我想做 scope 更大的事情,只是现在还没有条件。如果可以,我更愿意和两三个志同道合的人一起做产品。就像 61 的谜底科技,像少楠的 flomo.
而且自己做产品这一年,让我深刻地意识到,真正要做「独立」开发是很难的,因为没有人能擅长所有技能。
没有人擅长所有技能
曾经我觉得只要我愿意去学,我就能做好。比如设计。我很注重产品的 UI/UX 设计,但我一直没有经过认真的设计学习和训练。我读了些关于 UI/UX 的书,以为就可以成为一个设计还不错的程序员。后来发现我错了,理论和实践之间原来有一条很大的鸿沟。我虽然知道很多设计和用户体验的理论,但是一旦真正动手做页面,这些理论完全无法转换成实际的设计。
这是因为设计和写代码一样,是需要长期积累的。优秀的设计师可能有审美天赋,但他们一定也是每天都观察大量的设计,在自己的脑中内化了很多设计的模式(我不知道有没有专业的术语来形容),这些积累使他们可以面对一个新的需求的时候,根据自己内化的东西产生新的设计,这是我这种只读过一些理论的人无法做到的。正如会写代码的设计师,可能可以写一点能跑的代码,但缺乏多年的代码实践经验,是不可能像真正的专业程序员一样根据经验做好技术选型和想应该用什么设计模式(design pattern)的。
不过,我还是学会了在看到一些设计的时候,比以往更深入地去思考这个设计,这些元素为什么会这么摆放,颜色是怎么运用的,等等。
人的时间和精力是有限的
Notepal 和 EpubKit 同时做,让我更能体会到人的时间和精力是有限的。把时间放在一个产品 4 小时,那么另外一个产品投入的时间就永远少了 4 小时。而且上下文切换(context switch)是非常耗精力的。比如你正在修产品 A 的 bug, 这时用户报了产品 B 的 bug, 要从产品 A 跳转到产品 B 的开发,是很难一下子切换过来的。
所以不是自己一个人做产品就不需要项目管理,还是得学会充当自己的 manager 管理自己。给项目列好 roadmap, 排好需求优先级。
关于这个问题我还专门请教了图拉鼎,他告诉我要把自己当成不同的角色来用,比如规定上午作为客服,专门处理用户反馈,下午是程序员,专注写代码。这个方法也让我很受用。
自己做产品,同时要充当开发、marketing、客服、产品设计,我觉得这是「独立」开发的最大挑战。
学会专注
开发完 Notepal 后,我曾经陷入了很长时间的 burnout. 眼下赚的钱也不多,但又不知道应该做什么。期间有一些零星的 idea, 开发完后也不了了之。后来开发了第一版 EpubKit, 有了一些用户,之后又 burnout 了,因为开始觉得它做得不好,也很小众,渐渐又想放弃,想做点别的试试。
后来一些朋友「批评」我说我不够专注,我也开始反思,其实自己做的东西不算很糟糕,只是自己太着急,没有把它们都做得极致就失去耐性。经过反思,我决定好好打磨自己现有的产品,才有了现在这一版自己比较满意的 EpubKit.
乔布斯说专注不是指只做最好的,而是对其它也很好的东西 say no.
另外,缺乏专注很有可能会消耗用户对你的信任。
警惕「快速试错」
「快速试错」、「快速验证想法」是很多人做产品的信条,我相信快速验证想法是重要的,但是更重要的是交给用户的这个产品不应该是一个半成品,它最好是一个 Finished software. 也就是说,即使你不再维护这个产品,它还依旧是个可用的软件。
我曾经也「快速试错」,发布了一些产品,最终不再维护,甚至还有几个用户付费了。我对这种「试错」是愧疚的,因为这很有可能伤害支持你的用户。因此我现在反而发布新产品会更加谨慎,要把用户的感受放在第一位。
这篇文章很好地表达了这个观点。
总结
以上就是不上班的一年我对自己的一些思考的总结,希望对读到的朋友有帮助。这一年我其实算是比较幸运的,虽然收入微薄,但做产品也算是能卖出去,能解决很多人的需求。但同时我还是处于迷茫的阶段,认为自己做的产品还是小打小闹,scope 太小。我还是希望将来能做出满足更大众需求的产品,覆盖面能更广。
我的这些观点不一定对,但也能让读者感受到一个程序员脱离公司的其中一种可能性。
via Randy's Blog
Invalid media:
image
image
2023 年的 5 月,我离开了微软,开始了自己做产品的旅程。到现在刚好满了一年,这一年发生了不少事情,有些在 2023 年终总结里提到过,这一篇我想更详细地列出在这一年我具体做了什么、对自由职业的思考、对做产品的一些思考等等。
首先是我的产出,这一年我的产出主要是两个产品、一个播客。
两个产品
Notepal
离职后第一个认真做的产品是 Notepal, 这是一个用于把微信读书笔记同步到各个笔记应用的插件。我在这篇文章详细写过这个产品的起源和在做这个产品的时候的一些思考。我在做这个产品的时候完全没有想到,这个只卖 50 块的插件,在这一年帮我付了我一整年的房租。
EpubKit
EpubKit 是另外一个我投入比较多的产品。这是一个把网页转成 ePub 电子书的工具。正式上线不到一个月,收获了几十个付费用户。
一个播客
刚好今年的 5 月份也是我和 GeekPlux 一起做的播客节目《代码之外》 的一周年。起初我们只是玩票性地做闲聊节目,后来因为有了听众来信的栏目,我们慢慢会讲更多职业发展方向的主题,这些主题意外地无形中对很多听众有不少的帮助。后来还邀请我刚工作就很欣赏的前辈勾股作为来信栏目的常驻嘉宾,为节目带来了很多很好的观点。今年在参加一些线下活动时,有些听众会跟我说从节目中得到了启发。从统计数字上看,我们好像的确是做了一件影响力不算小的事:
● 小宇宙订阅数 6000+, 总播放量 11万+
● Bilibili 粉丝 6000+,总播放量 13万+
● YouTube 订阅数 2500+, 总播放量 3万+
在这一年,我对于做产品和生活都有了很多思考。对于不上班这件事,有人羡慕,有人好奇,刚好在这篇总结里,我想跟大家分享不上班的好处和缺点。
不上班的好处
时间自由
不上班的好处对我来说最明显的是时间自由。我是一个喜欢晚睡晚起的人,所以对我来说,准时上班是一件很难的事。不上班可以让我睡到自然醒,有充足的睡眠时间。
认识不同的人
上班的时候基本只能认识职场环境里面的同事朋友,或者在网络上交流的朋友。但是在自己做产品后,我开始认识一些同样是在做产品的朋友,和这些朋友可以聊得更深入。这些人往往对很多事情都有自己独特的思考。我从他们身上学习到非常多。我经常觉得如果我只是和以前一样在公司上班,业余写写博客和开源,我可能很难和这些朋友有共同话题,最多也只是互相点赞之交。
赤裸地直面市场
不上班后只能完全依靠自己赚钱,这代表我需要很赤裸地直面市场。
第一层赤裸,指的是脱离公司,作为一个个体,我可以给消费者提供什么他们认为值得为我付费的价值?
第二层赤裸,指的是一个产品如果脱离大公司本来就有的入口红利,我靠什么给我的产品带来自然流量?
这些都是很难的问题,但一旦开始学习,收获都是巨大的,而且都是属于自己的。在公司里最可怕的地方在于,我们很容易把公司给的平台误以为是自己的能力,很容易把流量看成是理所当然会有的。
也正因为如此,在这个过程中,我可以学习到很多以前不会主动学习的技能。
学习到更多技能
自己做产品的时候,没有公司平台给的入口,首先需要学习的就是如何做 marketing. 也是只有在自己做产品的时候,才会发现要别人发现你的产品是一件多么难的事。回想以前在阿里做业务,我们写一个营销活动页面,只要把入口放到某个栏位,基本不需要担心没有流量。
为了获客,我学会了研究 SEO, 学会了怎么做小红书,读了很多关于 marketing 的书。这让我学习了很多技术之外的知识,我觉得这些知识是终生受用的,而且它们不仅可以在互联网行业受用。
不上班的缺点
没有固定收入
不上班最大的缺点就是没有固定收入,这是很现实的问题。坦率地说,我以前买东西基本不看价格,只要觉得有价值,我就会买。没有固定收入之后,我买东西变得更加谨慎了。比如最近我很想买一台 Studio Display, 换作以前,无需多想,直接下单。但是现在,我会想我要卖多少份软件才能 cover 这台显示器,想想还是算了。
有时候我的朋友说羡慕我不用上班,我就跟他们说我这一年的收入还没有你们一个月赚得多,他们心理也就平衡了🤣。
孤独
可能有些人就是喜欢不用和别人交流,但对我来说,我是喜欢社交的,我在适当的社交中可以获取能量。不上班的时候,大部份的时间都是在家里写代码,看书,在网上和朋友聊天。有时候一整天都不需要开口说一句话。到后来我有点受不了,开始到外面的咖啡厅办公,只要能见到旁边有活人,就能有所缓解这种孤独感。
不确定性
上班有上班的不确定性要面对,不上班也有不上班的不确定性要面对。你无法确定这种生活可以维持多久,你的产品是否能卖得出去,就算卖得出去,它是否能养活自己,这些都是要面对的问题。
这些就是我体会到的不上班的一些优缺点,接下来,我想讲讲这一年在做产品的过程中我的一些思考和感受。
思考和感受
独立开发?
「独立开发」这个词在这一年非常火,用来标签像我这样自己做产品的开发者。其实我一直不称自己为「独立开发者」,因为我根本不想「独立」开发。我想做 scope 更大的事情,只是现在还没有条件。如果可以,我更愿意和两三个志同道合的人一起做产品。就像 61 的谜底科技,像少楠的 flomo.
而且自己做产品这一年,让我深刻地意识到,真正要做「独立」开发是很难的,因为没有人能擅长所有技能。
没有人擅长所有技能
曾经我觉得只要我愿意去学,我就能做好。比如设计。我很注重产品的 UI/UX 设计,但我一直没有经过认真的设计学习和训练。我读了些关于 UI/UX 的书,以为就可以成为一个设计还不错的程序员。后来发现我错了,理论和实践之间原来有一条很大的鸿沟。我虽然知道很多设计和用户体验的理论,但是一旦真正动手做页面,这些理论完全无法转换成实际的设计。
这是因为设计和写代码一样,是需要长期积累的。优秀的设计师可能有审美天赋,但他们一定也是每天都观察大量的设计,在自己的脑中内化了很多设计的模式(我不知道有没有专业的术语来形容),这些积累使他们可以面对一个新的需求的时候,根据自己内化的东西产生新的设计,这是我这种只读过一些理论的人无法做到的。正如会写代码的设计师,可能可以写一点能跑的代码,但缺乏多年的代码实践经验,是不可能像真正的专业程序员一样根据经验做好技术选型和想应该用什么设计模式(design pattern)的。
不过,我还是学会了在看到一些设计的时候,比以往更深入地去思考这个设计,这些元素为什么会这么摆放,颜色是怎么运用的,等等。
人的时间和精力是有限的
Notepal 和 EpubKit 同时做,让我更能体会到人的时间和精力是有限的。把时间放在一个产品 4 小时,那么另外一个产品投入的时间就永远少了 4 小时。而且上下文切换(context switch)是非常耗精力的。比如你正在修产品 A 的 bug, 这时用户报了产品 B 的 bug, 要从产品 A 跳转到产品 B 的开发,是很难一下子切换过来的。
所以不是自己一个人做产品就不需要项目管理,还是得学会充当自己的 manager 管理自己。给项目列好 roadmap, 排好需求优先级。
关于这个问题我还专门请教了图拉鼎,他告诉我要把自己当成不同的角色来用,比如规定上午作为客服,专门处理用户反馈,下午是程序员,专注写代码。这个方法也让我很受用。
自己做产品,同时要充当开发、marketing、客服、产品设计,我觉得这是「独立」开发的最大挑战。
学会专注
开发完 Notepal 后,我曾经陷入了很长时间的 burnout. 眼下赚的钱也不多,但又不知道应该做什么。期间有一些零星的 idea, 开发完后也不了了之。后来开发了第一版 EpubKit, 有了一些用户,之后又 burnout 了,因为开始觉得它做得不好,也很小众,渐渐又想放弃,想做点别的试试。
后来一些朋友「批评」我说我不够专注,我也开始反思,其实自己做的东西不算很糟糕,只是自己太着急,没有把它们都做得极致就失去耐性。经过反思,我决定好好打磨自己现有的产品,才有了现在这一版自己比较满意的 EpubKit.
乔布斯说专注不是指只做最好的,而是对其它也很好的东西 say no.
另外,缺乏专注很有可能会消耗用户对你的信任。
警惕「快速试错」
「快速试错」、「快速验证想法」是很多人做产品的信条,我相信快速验证想法是重要的,但是更重要的是交给用户的这个产品不应该是一个半成品,它最好是一个 Finished software. 也就是说,即使你不再维护这个产品,它还依旧是个可用的软件。
我曾经也「快速试错」,发布了一些产品,最终不再维护,甚至还有几个用户付费了。我对这种「试错」是愧疚的,因为这很有可能伤害支持你的用户。因此我现在反而发布新产品会更加谨慎,要把用户的感受放在第一位。
这篇文章很好地表达了这个观点。
总结
以上就是不上班的一年我对自己的一些思考的总结,希望对读到的朋友有帮助。这一年我其实算是比较幸运的,虽然收入微薄,但做产品也算是能卖出去,能解决很多人的需求。但同时我还是处于迷茫的阶段,认为自己做的产品还是小打小闹,scope 太小。我还是希望将来能做出满足更大众需求的产品,覆盖面能更广。
我的这些观点不一定对,但也能让读者感受到一个程序员脱离公司的其中一种可能性。
via Randy's Blog
Invalid media:
image
image