本来吃老本,在小公司写前端业务逻辑代码,总是兴趣不大。代码写着写着,思维就发散,上网东看看,西逛逛,一天时间很容易流失。
后来闲了一段时光,写了一小段时间的轮子后,发现又开始重拾对编程的兴趣。连番茄工作法都不需要,所谓兴趣就是最好的老师,加班都能自觉主动,完成后也很有成就感。
感觉码农这条路要坚持走下去,有两点必不可少。
一是自我价值的认同。(虽然老板每次都说代码好,业务向更重要,但业内人人都能写的基础逻辑脚本,人员随时可以被替代,项目随时可能被舍弃,自己完全不觉得有什么好的)
二是代码的累积效应。不能一个项目写完了,历史代码就扔掉。(虽然这很难,在团队协作里,不可能总能随心所欲用上自己喜欢的技术,技术偏向总要有取舍。)
1
zzzzzzggggggg 2021-03-23 14:37:32 +08:00 1
因为造轮子的最终受益者是你,决策者也是你;写业务逻辑是为公司写的,老板是受益者和决策者,你只是老板的笔而已。
这两者差异巨大 |
2
weizhen199 2021-03-23 14:42:26 +08:00 1
黄脸婆和小秘咯
|
3
Variazioni 2021-03-23 14:47:16 +08:00 3
写业务的 curd 是帮别人养孩子。。造轮子是养自己孩子。。。
|
4
BarZu 2021-03-23 14:48:12 +08:00 3
因为造轮子可以让你一年积累两年的工作经验,写业务只会让你十年积累一年的工作经验
|
5
arthas2234 2021-03-23 14:51:03 +08:00
写业务代码,很多都是重复性的东西,增删改查。。。
造轮子是富有挑战性的东西。但是最好想想再放在项目上去,搞不好会被人骂。。。 |
6
ppgs8903 2021-03-23 14:53:19 +08:00
造了升值加薪答辩有的说、你总不能在晋升的时候说自己一直 crud 没点技术创新把。
|
7
timethinker 2021-03-23 15:18:36 +08:00 5
CRUD 也是有讲究的,你看,实际上就两种操作,一种是修改,一种是查询。
简单的 CRUD 从前端到后端甚至数据库字段都完全一致,就是面向数据库编程,Service 都不需要。 复杂一点的,把这两种操作当成两套代码来写: 修改操作多以动词命名,会精炼出业务的实际需要的操作列表,把他们全部放在 Service 里面,每一个方法就是一个事务,或者使用门面模式封装独立的命令执行(命令模式)。 查询操作完全取决于你的消费方需要什么样的数据,把查询的逻辑处理全部放到 Repository 里面,返回 View 或者 DTO 啥的,只专注于如何批量查询并组合成需要的数据,可以是 SQL,可以是 HTTP 请求。很多人喜欢把查询也放到 Service 中,但实际上两者的关注点是不一样的。 读写分离以后好处是显而易见的,查询和修改都可以单独进行优化,最重要的是更加清晰可读。 当然以上只是一种方法,从技术上来讲,写业务代码最大的难度和关键点在于需求是否足够清晰,领域知识是否完备。反之造轮子则不需要这些额外的知识,但终究来讲轮子也是服务于某一个技术点的,最终也是要服务于业务的。 |
8
jenlors 2021-03-23 15:47:33 +08:00
同感
|
9
3dwelcome OP @qwe520liao 道理都懂,就是写 CRUD,时间一长,很难保持极大的写代码热情。
就算有点热情,也会迅速被各种需求 /开会 /沟通成本给浇灭。只想早点写完,早点收工。代码一把梭,也不会刻意去考虑复用问题。 而且你团队开发,一个人写的爽没用,你使劲的往里搬水,团队里总有菜鸟,木桶的最短板在给你往外漏水。修修补补查 BUG,一天又一天。 写轮子不一样,真的可以自己怎么爽,怎么来,随心所欲写,才是兴趣冒泡的源头。 |
10
KouShuiYu 2021-03-23 15:51:48 +08:00
|
11
tedzhou1221 2021-03-23 16:20:49 +08:00 via iPhone 1
轮子不是建立在实际业务需求之上的吗?
|
12
timethinker 2021-03-23 16:26:31 +08:00 1
@3dwelcome 这应该是国内大多数中小型公司的常态,我们都知道有些事情是对的,但是却往往被情感左右。说到底一个人都不完美,更何况一个群体了。
所以尽管工作氛围不尽如人意,但是决定我们自身如何的还是我们自己。工作沟通上保持积极,认真做好自己的工作,专注和坚持从来都不容易,真的是需要长久的磨练的。有点鸡汤的味道了,祝你能够踏上自己所想的那条路。 |
13
ch2 2021-03-23 17:53:57 +08:00
给别人打工毕竟成果是别人的,干的再多跟自己也没关系
|
14
abersheeran 2021-03-23 20:07:29 +08:00
我的工作就是造轮子+趟坑。比如这几个月的工作,我在业务里完善了 index-py 这个 Python Web 框架,写了一个带自动迁移功能的 ORM,这周在学 k8s,下一步估计是把我之前写的 rpc-py 投入实际生产……
|
16
zhao372716335 2021-03-23 21:44:18 +08:00
|
17
kiripeng 2021-03-23 21:56:09 +08:00
我现在就是慢慢搞点轮子,业务开发快了,就有自己的时间,搞事了
|
18
no1xsyzy 2021-03-23 22:11:33 +08:00
https://www.guokr.com/article/459401 感觉有相通之处
> “空心人”就是这么养育出来的,一直在满足别人的期望,人生的动机很大程度上建立在“恐惧”的基础上,而不是热爱。 Simon Sinek 提出的概念不错:你人招进来了之后,就像是养小孩。 (只不过有点陈词滥调,一句话兜兜转转说千遍) |
19
Zzzz77 2021-03-23 22:56:25 +08:00 via Android
主要是需求可以自己定。。
|
20
Jat001 2021-03-23 23:09:01 +08:00
@ArJun #15 我也有这问题,以前我在公司也弄过代码封装,框架本身没有业务代码,但我离职的时候也没敢把代码拷出来。从法律上讲,在工作时间或利用公司设备写的代码,所有权都归公司,要是还包含业务代码,那就不止是代码所有权的问题了。
|
22
lap510200 2021-03-24 11:01:43 +08:00
写轮子自由还可以提升自己, 写业务逻辑不自由还没什么提升, 业务代码容易被其他人修改,自己的轮子自己的东西
|
23
wanguorui123 2021-03-24 11:19:26 +08:00
写轮子是自由人
写业务是工具人 |
24
ychost 2021-03-24 13:36:34 +08:00
写业务要面对屎山
|
25
jinsongzhao 2021-03-24 13:37:12 +08:00
我的想法不同, 我认为是没找到自己的大方向. 写轮子提升自己的效率, 只是小方向, 人的大方向最终都是能够做全套业务, 并且为客户提供业务经验.
|
26
jmk92 2021-03-24 18:10:57 +08:00
搬砖没有任何的兴趣可言,当然即使有挑战,也不是自己喜欢的方面,所以提不起来精神。
给自己做东西,你肯定做自己喜欢或者受益的东西,当然激情澎拜不眠不休了。 |
27
3dwelcome OP @jinsongzhao 你是老板吧,普通的码农大多内向,很难自己确定大方向。
都是客户 /老板指哪里,去哪里搬砖救济,没人会和钱过不去。 小公司的 CRUD 就是那么的无奈,只有挤到行业头部,代码才能写的稍微舒服一点。 |