历时180多天,浅谈我对自由职业的初次探索

前言

其实在经历企业裁员失业AI编码工具996无偿加班 这些关键词之前,我从来都没有想过有一天自己会和自由职业 这四个字挂钩,因为在此之前我的职业规划一直都是:去一家自己理想的企业(良好的工作氛围和没有严重的加班文化 ),然后在这家企业稳扎稳打 通过自己的努力做出好的项目产品,给企业创造价值从而实现自我价值。

然而在如今的大环境下我自己也十分的确信,作为第一学历 是专科且没有任何人脉关系的我是无论如何也无法入职到这样一家公司了。

这时候我也开始思考起来了,自己除了和企业签订劳动合同 然后用自己的时间和劳动去换取报酬以外,自己是否还能通过别的合法渠道来赚取收入了?

于是在今年三月初我也正式开始了我个人对自由职业方向的探索

隔行如隔山,除了写代码我还能干什么?

从 20 毕业开始我的第一份工作便是前端开发 这个岗位,当时的前端大环境虽然谈不上有多好,但还是会有很多面试机会的,甚至会有很多hr主动向你打招呼的,所以也给予了我加入这一行业的机会。

在前端的领域里虽然自己永远不是金字塔尖上的那批人,但是五年的前端工作经验也足以让自己对这个行业的发展趋势有更清晰的了解:

  1. 相较于后端,前端的入门难度和学习成本自然会低很多,这也就意味着前端的可替代性会变得更高

  2. AI编码工具和前端框架生态链的发展逐渐成熟稳定,会对很多前端岗位造成影响(原来需要三个人 干的活现在能一个人搞定了)

  3. 简单的内容(门户页面,后台管理系统)似乎 AI+后端也能完成。但APP,工作流OA, 小程序,可视化大屏,低代码,IM聊天,3D这些仍然需要专门的前端才可以的

在基于对整个前端行业的现状有个大概了解之后,以及自己从毕业之后除了前端再也没有任何行业的工作经验

我依旧继续选择了前端 相关的,这时候选择的方向就尤为重要了

普通前端业务开发已经烂大街,在 github上随便搜索各种管理系统的模型也是一堆,门槛不高也就意味着你需要和更多人去竞争

因此我选择了 3D(three.js) 方向的探索

尝试接私活儿

因为开源项目的原因,经常会有人私信问我能否接私活做的内容其实大部分都很简单的,比如:

做一个编辑器项目

做一个人物模型骨骼编辑

做一个简单模型展示和分解

一个自行车部件3D 展示效果

3D包装盒展示和编辑网站

通过简单的沟通后,这些内容我心里基本上都有实现的技术方案了,不过当我真正准备开始实施时却发现困难重重,因为在公司开发一个项目时:

项目经理和会甲方先谈好价格以及验收时间这些

产品经理会将客户的需求描述整理成文档和初步的原型

UI 会将产品的设计图给你

后端会提供数据服务支持

测试会帮你排查项目中的BUG

运维会负责网站域名服务器以及项目发布这些

虽然大部分的需求都只是纯前端的内容,但是你仍然需要身兼多职。因此接私活反而比上班(996)更累并且收入也没有上班来的稳定

所以这条路线也算是彻底失败了

逆向思考:分析私活需求的共同点

在放弃走私活路线之后,我也仔细思考分析了一下这些私活需求的内容

内容基本上都是围绕 3D 模型内容的编辑和展示,并且是那种高度灵活化的拖拽添加

这时候我就在想能否写一个通用性的模版项目在功能方面 可以提供灵活化的模型拖拽添加,内容丰富的模型属性编辑,在项目代码架构设计方面 自己定义一套 three.js 在 Vue/React 项目中的设计模式和代码思路,减少three.js 在目前主流脚手架项目中开发成本。

然后将这套代码以付费 的方式提供给有3D项目开发需求的企业,减少他们的开发成本

于是在这样的思路模式下,我开始去构思这个项目该如何去实现了

three.js官方编辑器的功能完美符合了我的需求

在确认了新的探索方向后,我也参考了很多商业的3D项目,不过这些项目都是很单一化的,和我预期差距太大了,因此我也选择放弃这些内容作为参考

最终我发现three.js 官方编辑器的大部分功能可以和很多私活 的需求产生并集,因此我也决定参照 three.js 官网编辑器的功能去实现自己的项目

耗时一个半月(加班加点),我完成了项目的初版开发

在有了一个现有产品的基础上,去基于这个产品的内容进行,二次实现这整个过程其实不算太难,因为对于一些不好实现或者我认为不好用的功能时,自己可以自由选择取舍。

当时还专门写了一篇文章,分享了一下自己成果和整个开发过程,同时也变相的宣传了一下自己的项目: juejin.cn/post/748791...

项目的界面就是这样的,从整体界面上来看其实和three.js官网编辑器有很多的相似点

无人问津的日子最难熬

在项目的初版做完之后,我在自己的开源项目的线上预览链接里添加一个弹框入口,当项目初次进入时就会有一个弹框,这样就可以让别人知道有这样一个项目的存在了

虽然我知道大部分人(包括我自己)对于付费 的项目都会存在一定的抗拒 ,也提前做好了心理准备,但是项目发布后很长一段时间都没有人来咨询自己,内心还是有一丢丢失落

完成 React 版本的开发

虽然在很长一段时间里没有任何人来咨询或者购买,但我仍然说服自己把 React 版本的开发完成,因为我觉得既然是用作于企业项目二次开发,那一定需要两个版本的才是完美的。

虽然个人对 React 的使用并不是很熟练,但是 React 版本的开发却是非常顺利的,因为three.js相关的逻辑的都是独立抽离封装的模块js,基本上只需要将已有的three.js 代码模块复制过来稍微调整一下就可以在React项目中使用了

终于开始有人咨询了

在完成 React 版本之后的一段时间里,终于开始有人陆续通过添加微信 来向我咨询项目了,但都是简单的问了一下价格 和相关技术栈之后就不了了之了。

这时候我也做了相应的措施,就是将项目放在淘宝上这样一来价格和项目介绍就很清晰了,在添加微信之前就能过滤掉一部分,减少不必要的沟通成本。

同时也在这段时间,不断的测试项目 bug 和优化相关操作体验

第一个购买者

在项目初版发布的一个多月里,没有任何人来购买这时我开始逐渐放弃了项目的更新迭代了,很显然这个方向的探索依旧是失败 的甚至还不如去接私活靠谱,同时自己也已经失业两个月了,我也决定开始重新认真的找工作了。

在我约到第一个面试 的同时,终于有人通过淘宝向我简单咨询了一下项目内容之后,决定购买我的项目了

也正是因为这次购买 才让我知道到自己做的东西是有价值 ,也是我后期不断迭代更新的动力

企业身份的购买者的诉求,我也研究了一下发票该怎么开

在有了第一个购买者之后,后续的一段时间里又陆续有好几个人向我咨询购买的,而且都是以企业项目二开为背景的。

这也使我非常的高兴,因为这验证了我最开始的分析探索方向是正确的,在和他们简单沟通了解后发现作为企业项目 二次开发,我的项目源码售价相对来说是非常便宜的,毕竟对于公司来说这个价格是很容易接受的

同时相对项目本身,我被问到最多的一个问题便是:能否开发票?

于是我也在网上学习了一下个人增值税发票如何开

这里也给大家分享一下,就是下载一个:电子税务局 APP, 具体详细的步骤可以通过豆包 AI一下就知道了

在需求收集的过程中,不断的优化迭代更新

在有了购买者之后,项目肯定也会有一些bug的,为了保证自己的口碑,任何的 bug 反馈自己也是第一时间去修复的,同时也会收集更多的反馈需求,然后添加到项目中去

初版 VS 当前版本

初版

当前版本

从界面对比看,大家可以很清楚的发现初版的左侧可添加的内容只有三种 (模型,几何体,灯光),最终版经历了多次的迭代更新后新增了五个新的模块内容(echarts 图表, 粒子,文本,视频,着色器)

同时也在性能和交互体验上做了很多优化

追求极致的低代码

在平均下来每个月都有购买者 的背景下,虽然没有我预期想的那样理想 但是这次尝试终归不算是失败

我也是开始思考自己的项目的定位方向是什么了,相较于别的产品核心的价值点又在哪里?

于是我决定在低代码的路上越走越远,在参考了一些商业项目的自定义事件功能之后,我也觉得在自己的项目中去实现这个功能了

功能的描述:大概就是给一个模型添加一个交互事件(鼠标单击,鼠标双击,鼠标移入,鼠标移出),然后添加一些执行条件,如果当条件满足之后去执行一些动作类型,并且可以选择动作的目标

效果大概是这样的:比如说我给这个模型添加一个单击事件 ,并且添加一些条件动作 ,然后当鼠标点击这个模型时,就会执行对应的动作(改变颜色,移动位置,旋转)

在实现完这个功能之后,我也确信自己的项目有了一个代表性的功能了

回归正常工作(以打工人身份)

从项目发布至今,平均算下来每个月能有2-3 个购买者支付,很显然这样的收入无法维持正常的生活开销,我也重新选择开始了投简历找工作的循环过程中,大概是花了两个多月 的时间重新入职了一家小公司 ,虽然依旧不稳定 但好在有一个固定的收入,同时新公司做的大部分内容也是和three.js 相关的也符合自己的职业发展方向,虽然自己也不确定能够在这家公司干多久,但就当前成都的大环境而言也只能选择妥协

虽然也回归工作了,但是自己仍然没有放弃对于项目的更新迭代。

后续仍然会考虑集成更多的功能,把性能优化做的更好

回顾这六个月的探索历程,是成功还是失败?

失败? :从整体的结果来讲,我认为是失败的因为这个项目的收入远不足以支撑起自由职业应该有的洒脱,收入的不确定性是造成自己焦虑的主要来源。

成功? :从某些方面来讲或许也算是成功 的了,因为在最初项目代码的设计时就是从减少three.js 在 Vue/React 项目开发成本方面去考虑的,代码的结构设计我个人认为也是非常模块化 清晰简洁的,通过代码注释和项目文档就能快速熟悉项目的,从目前项目购买者的反馈来讲也符合了我的预期

未来的目标方向

虽然目前已经在上班了,但是我也不确定自己是否能在当前公司工作多久,自由职业这个高度理想化的词,目前还不太适合我,或许自己还在等待一个机会。

但在工作的这段时间里,自己还是会将更多的精力时间 投入到做一些更有意义和价值的开源项目中去

结语

虽然这次的探索尝试没有取得很大的成功 也不算是失败,但对我而言却是有诸多收获的,让我明白只 要有需求的地方就一定有市场 捋清供需关系,普通人也能通过自身的方式赚取到资本。

既然都写到这里了,还是分享一下作者个人的商业项目的在线链接吧,也希望大家作为用户的角度去体验一下,给作者多吐槽一下,提提建议😁

three3d-0gte3eg619c78ffd-1301256746.tcloudbaseapp.com/threejs-mod...

相关推荐
江城开朗的豌豆3 小时前
Redux的双面人生:天使还是恶魔?
前端·javascript·react.js
JarvanMo3 小时前
为什么 Google 同时投资 Kotlin Multiplatform 和 Flutter
前端
Hello.Reader3 小时前
Flink 容错从状态后端到 Exactly-Once
前端·javascript·flink
小菜全3 小时前
《前端开发中常用的快捷键大全》
前端
努力往上爬de蜗牛3 小时前
安装npm install vuedraggable@next报错
前端·npm·node.js
YAY_tyy3 小时前
Three.js 开发实战教程(四):相机系统全解析与多视角控制
前端·javascript·3d·教程·three.js
IT_陈寒3 小时前
Redis性能提升30%的秘密:5个被低估的高级命令实战解析
前端·人工智能·后端
excel4 小时前
全面解析 JavaScript 内置 Symbol 方法(含示例)
前端
excel4 小时前
一文搞懂 Vue 的双向绑定
前端