谈裸辞和开源的体会

2022-08-31 17:33:43 +08:00
 zhaojun1998

谈裸辞和开源的体会

分享下最近几个月裸辞或做开源项目的经历和感悟。

个人情况

我是 98 年,专科学历,学的 Java 。今年六月底从上家公司离职了,前公司是基于一套半低代码平台做外包的小公司,从 18 年毕业后 9 月份入职至今年六月,已经成了公司算"厉害"的人了,前端、后端、运维、售前等各种工作都做过。

不过一直埋着一些心思,一是公司的技术栈太老了( struts2 、spring 3.x 、hibernate 、...),二是我才这个年龄,在公司竟然已经是技术算很好的了,对我来说没有更多的上升空间了,每天就是处理各个项目上的杂事,实在是不甘心。虽说可以自学,但自学和项目实战还是有很大差别的。

也和公司老板谈过离职,说起来可笑,共提了三次离职,前两次都被饼给填下了,最后的导火索是在一个耗了好几年的项目上,每天处于极度的负面情绪中,实在心理防线绷不住了,就毅然的提了离职,说什么也不留下了,直到六月底正式离职。

开源

我还有一个从 19 年底开始写的开源项目,平时因为工作繁忙,有不少问题没改,还有鸽了大半年的需求。就决定离职后休息四个月,前两个月写开源项目,并写出一个捐赠版来维持基本生活。后两个月突击学习刷题,国庆后开始找工作。

项目用时两个月完全重构并正式发版,期间申请了软著,捐赠版也随之一起发售,并提供了较为宽松的授权绑定方式,正式发布后就开始有大量用户使用,也提出了很多问题,修改 bug 修改了一两周。

心得(仅代表个人观点,欢迎指正):

  1. 开源的项目要尽可能减少初始化配置,并提供引导性的设计来避免用户首次使用的成功率,这很重要。
  2. 文档要完善,并及时更新并发现错误,因为可能你文档上你的一个小小的错误,就会错误的额外消耗使用者很多的时间。
  3. 虽然文档要完善,但引用《黑客与画家》里的一句话: "你要明白,用户第一次使用你的软件的时候,不会预先做好功课,他们没有任何准备就开始用了,所以软件使用方式最好能符合用户的直觉,别指望用户去读操作手册"
  4. 要提供程序的自动化程度,包括编码,编译或其他工作,一旦发现有多次重复且繁琐的动作,就应当考虑是否可以自动化处理,人总是会犯错的,自动化可以减少犯错的几率
  5. 开源不易,绝大多数的开源项目都是没有任何收入且长期维护的,这需要很多耐心和坚持。有一次听《开源面对面》里的一个开源作者,对我影响深刻的的是说:小白很多,很多人的开源项目使用者甚至都不是计算机相关领域的,所以也不能对他们要求太多,比如必须使用英文提 issue ;提供完整的错误信息,环境信息,操作步骤等;且这位作者还会去主动使用社工手段找提 issues 的人的联系方式,使用远程操作或远程会议的形式帮使用者解答和处理问题。
  6. 谈谈收入,捐赠版已经发售正好一个月,除去支付平台手续费,服务器费用,净收入只有 7k+,这相对于工作的收入来说很少,而且和正式工作占用的时间差不多,从早上九点起床开始写到晚上九点休息。

原本计划两个月做开源,两个月学习,到今天为止已经做了开源整三个月,计划有点超出预期,但并不后悔,如果再选择一次,还是会选择离职并这么做,甚至会更早的提出离职。

裸辞和生活

说了很多,又好像什么都没说,也没有什么朋友适合说这些事,就当树洞分享分享下自己的经历吧。最后感谢下 v2 ,这是目前为止我最喜欢的论坛了,没有之一,有一种早期互联网的氛围(虽然我这个年龄也谈不上这个词,哈哈)

10904 次点击
所在节点    程序员
98 条回复
zhaojun1998
2022-09-01 10:29:00 +08:00
@chensuiyi


首先不能分发 jar 包了,java 很容易反编译,我是使用了 xjar 来加密 jar 包,并禁止 arthas 等程序以调试模式接入。

然后给用户设置授权码,用户部署后,去后台填写授权码,访问核心功能时根据授权码去授权服务器验证授权(这个请求要注意加密,不能明文传输,防止被抓包),成功后缓存一个记录,缓存期间就不去读取验证服务器了,知道缓存过期再重复上述动作。

注意点是,要保证你的授权服务器高可用,且避免被攻击以后下线,不然对用户来说就无法使用了。
lei2j
2022-09-01 10:34:05 +08:00
开源项目有收入就强过很多人了
WonderCc
2022-09-01 10:38:38 +08:00
佩服大佬,我 99 年的,也想着自己写一个开源项目,向你学习
ccppgo
2022-09-01 10:39:47 +08:00
能有业余收入已经强于 90%人了, 加油楼主
fateNight
2022-09-01 10:39:54 +08:00
突然发现咱两好像 18 年就认识了😀
zhaojun1998
2022-09-01 10:40:25 +08:00
@ma836323493

我还是更喜欢做开发,哈哈哈,做产品需要与很多人沟通,我还是独一些,更喜欢自己一个人做一些事。
zhaojun1998
2022-09-01 10:40:55 +08:00
@fateNight
是么,在哪认识的啊
anonymousar
2022-09-01 10:42:36 +08:00
开源项目有收入并且还不低 真的很强。
linuxsuren
2022-09-01 10:42:47 +08:00
很开心开源面对面能给各位有点启发!
qinze113
2022-09-01 10:43:51 +08:00
给楼主点攒,要向楼主学习
Cloudpods
2022-09-01 10:44:03 +08:00
支持 up
zhaojun1998
2022-09-01 10:45:42 +08:00
@linuxsuren

很棒的节目,对我启发很大。
zhw2590582
2022-09-01 10:53:06 +08:00
这么年轻就这么牛批吗
在 zfile 里看到了 artplayer ,也甚是欣慰
zhaojun1998
2022-09-01 11:03:28 +08:00
@zhw2590582

没想到在这里还能遇到 artplayer 的作者,您的项目非常完善,给了我很大的帮助,非常感谢。
flashBee233
2022-09-01 11:07:35 +08:00
楼主很厉害了,值得学习
OMGZui
2022-09-01 11:15:13 +08:00
厉害了
zhw2590582
2022-09-01 11:15:48 +08:00
@zhaojun1998 感谢捐助,中午可以加个鸡腿了
ZeroDu
2022-09-01 11:22:10 +08:00
zfile 可以
ZeroDu
2022-09-01 11:23:28 +08:00
后面可以,换成 go 重写
zhaojun1998
2022-09-01 11:24:10 +08:00
@ZeroDu

换语言近期就算了,精力不够,Java 也挺好的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/876779

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX