很多刚接触编程的小朋友就很喜欢问一个问题,我什么时候才能自己接单养活我自己或者挣点零花钱。我只能说理想很美好,现实很残酷。我们今天就来讨论一个问题:究竟学到什么程度才能自己去接单,单子的价格和难度都是怎样的,我能不能hold住。
我们先来对开发出来的产品进行分类:
目前市场上的系统大概按面向对象可以分为:C端和B端(包含了面向体系内的G端),C端主要是我们手机上日常使用到的那些软件,如微信、淘宝、记账软件、工作提效软件(番茄钟等),而B端主要是面向企业的,这类软件的核心内容就是将工作流程线上化、电子化、智能化,目的就是降本增效,解放企业用工。
那我们接单大概率接的有下面几类:大学生毕业设计、大学生课程设计、小老板不舍得花钱然后又不懂技术随便抓两个程序员干苦力、团队缺人招不到人随便抓个大学生远程实习打杂、预算低的个人产品。
课设和毕设都很好搞,那就是去网上github、淘宝、闲鱼、PDD、论坛下载别人放在网上的不管开不开源的资料,拿来改吧改吧就可以交了,还能那个优秀,但大学生一般没啥钱,三五百块能肉疼好久,据我所知毕设论文一千块都有一堆人接,我觉得没啥必要,我自己用chatGPT写论文都写了我一个多月,光开chatGPT4就花了我三百多了。
C端的特点就是系统逻辑并不复杂,但一般技术要求比较高,现在的人动不动就想搞个什么短视频小程序,都想自己花个几百块搞一个抖音出来,最好把淘宝所有功能都缝合进去然后最终以小程序的形式呈现出来。我们来细看用到的技术,后端基础的CRUD、数据库、视频存储、直播间等等,涉及的内容我都不是很了解,大概知道就是计算机网络那边的知识,Socket还有WebRTC之类的,还有一些打车软件涉及地图、支付、图形学之类的知识。
B端是在C端的基础上再加上巨复杂的业务逻辑,比如账单呀,扫码支付呀,记账报税,分账,OA打卡定位等等,典型的有CRM、OKR、知识库、多维表格、KPI、IM、低代码等等,用到的技术更复杂,甚至很多引擎,比如表单引擎、规则引擎啥的,单单一个就能干死。
这些只是技术上的粗略分类,我来写一个按前后端运维的分类技能树:
前端Vue技术栈
最简单的前端框架毋庸置疑就是Vue了,按照企业角度后期想要扩张招人也是最好招的还便宜,随便拉个人培训几天就能上手开发了。学完整套Vue到能开发的程度,起码得学完B站的尚硅谷免费的那几门课HTML、CSS、JS、Vue全家桶。这是最基础最基础的,不能再少了。我还没算你会不会用组件库还有写代码顺不顺会不会解决bug。
后端Java技术栈
Java起码得学完到Spring Boot,MySQL起码得学完CRUD,Redis起码得用过才行。
简单项目部署运维
最起码最起码你应该知道怎么把前后端项目和数据库给安装到服务器上,Linux基础你得会吧,怎么买数据库怎么买域名得会吧,安全组端口号起码得会配吧。
架构选型
最低配的就是三层架构打天下了,控制层、业务逻辑层、DAO层,连MVC都不是,最基本的压测纯靠假装有,QPS默认能抗住。
客户如果需要开发APP的话就蒙圈了,还得去学安卓和iOS,学着学着你会发现还有桌面端,还有跨端,然后发现自己不太会页面布局,做的产品太丑,去学配色原理,布局。
别问我为啥知道这么多的,因为这就是我走过的路,我现在基本上软件这不的技术栈都学了一遍,技术栈有:Java、Node.JS、js、ts、Go、C#、C++、KeilC(51单片机)、Rust、Object-c、Kotlin、Swift。