一个疑惑:为啥很多初创公司不选择最主流的技术栈?

2021-08-14 21:33:21 +08:00
 passer9527
从本站的各种招聘帖子,以前别的地方的招聘帖子发现,很多初创公司并没有选择最主流的技术栈。而是用了自以为很前卫的技术,比如做 web 的用 go 之类的。

就从这个点来说,难道不应该选 java/springcloud 这一套吗,优点明显:
1. 成熟度非常高;
2. 各种轮子应有尽有;
3. 非常主流,所以好招人,各种层次的人都能找到;
4. 由于前面几点,所以基本没啥坑。

反观 Go:
1. 一个 web 都各有优劣,不注意都会犯选择困难症;
2. Go 的定位根本也不是来写业务来的,而是写一些中间件,基础组件。

当然,如果是大公司,你用啥都是对的,因为大公司可以养得起一个研发部门来给业务组造轮子,要啥有啥,bug 修的快,响应及时。

但是,你是一个初创的渣渣小公司,乱选技术栈,天天在那儿乱折腾,填新技术的坑,不好好思考下业务,这不是纯属瞎搞吗。

——————————

上面的 java 和 go 只是举个例子,成熟的轮子不止 springcloud 那一套。但 Go 确实不行。
7383 次点击
所在节点    问与答
77 条回复
GoLand
2021-08-15 13:49:04 +08:00
@x940727 “那照这样看,头条最近官方招聘网站 Java 已经比 Go 多了又怎么说?” 错了,头条全面拥抱 Go,能 Go 就 Go,Java 要绝迹了。
XTTX
2021-08-15 13:52:23 +08:00
@westoy 通过语言来作为被替代的屏障的可能性太小了
GoLand
2021-08-15 13:53:33 +08:00
XTTX
2021-08-15 14:00:00 +08:00
我不是很懂了。 现在的 Go 生态里缺什么东西 ,满足不了初创公司的业务需求?
上面老哥说的, 前后端分离,Go 做 RESTful API 。
felixcode
2021-08-15 14:09:37 +08:00
本来想学了 java8 用来养老的,却没想到不断的有“偏门”“自以为前卫”的语言占领招聘需求,难不成再费劲学门语言?都是被他们给害的!
sagaxu
2021-08-15 14:24:59 +08:00
aogg
2021-08-15 16:03:37 +08:00
楼主才是那个落后的人,go 才是最新主流技术,单是一个内存占用就是你们 java 无法比拟的
Lemeng
2021-08-15 16:14:52 +08:00
一套下来,可能不会轻易在变,顺手的不一定非得主流,
henryhu
2021-08-15 17:36:48 +08:00
看到 web,我还以为楼主要问为啥不选 php,难道 php 不是最主流的 web 开发语言?
shayuvpn0001
2021-08-15 17:55:34 +08:00
@GoLand 这个也太那啥了。。。。 哈哈。求个原始大图。。。
x940727
2021-08-15 18:49:26 +08:00
@GoLand 自己去搜索了再来说话,如果找不到链接就去看看 #66
jiayong2793
2021-08-15 20:29:41 +08:00
@westoy 说的对,我们公司用.net ,招了半年才招到勉强合适的人,半年招来的都是不懂底层,只要框架不支持的需求就做不了。
jswh
2021-08-16 09:17:32 +08:00
初创公司选技术很随意的。一般都是主力开发觉得什么好就选什么,没有那么多考虑
cyrivlclth
2021-08-16 10:25:07 +08:00
列一下几个原因:
1. 团队最熟悉
2. 看似不成熟但是很好规避了培训机构
3. 如果一门语言比较冷门,那么能够花时间学习冷门语言的人学习能力较强(学历同理,但是学历是硬条件,可能工资上面就不好谈了)
4. 成本考虑
5. 自身位置考虑,不想被后续空降
Akiya
2021-08-16 10:26:50 +08:00
Go 确实不行,应该选 C#(逃)
glfpes
2021-08-16 17:10:00 +08:00
初创公司,迭代追求短平快,不一样的。

工程维护不是问题。只要前期打得好,总有资源去重构的。前期如果慢了,业务直接凉了,没有重构的价值。
secondwtq
2021-08-18 01:47:43 +08:00
没在“初创公司”呆过(虽然前公司自称“永远都是 startup”),更没在“不选择最主流的技术栈”的“初创公司”呆过。不过个人网上的观察:

* 有些“不选择最主流的技术栈”的“初创公司”是真的相信他们选择的技术栈更适合他们的场景。至于到底是不是我不做评论。不如换个角度讲,楼主认为:Java SpringCloud,行。Go,不行。现在某公司认为:Go,行。Java SpringCloud,不行。凭什么楼主就一定是对的,某公司就一定是错的呢?或者凭什么某公司就一定是对的,楼主就一定是错的呢?为什么 Java SpringCloud 一定没有坑,Go 一定坑很多呢?或者为什么 Go 一定没有坑,Java SpringCloud 一定坑很多呢?当然楼主可能会说:Java SpringCloud 用的人多,“成熟”,“主流”,但是楼主不知道有句话讲:“真理往往掌握在少数人手中”么?这个逻辑左右都说得通。
楼主凭什么居高临下评价 Go ?楼主是 Gopher 么?楼主用过 Go 么? Golang,不吃楼主这一套!
什么楼主用过 Go ?那么楼主有没有在某公司用过 Go ?有没有亲自体验过某公司的场景? Golang,还是不吃楼主这一套!
正经地说,有很多试图解释技术和开发效率之间关系的尝试(包括一些量化的思路),但是目前没有哪个真的能服众,楼主只是相信了其中的一个流派,就是“最主流的一定是最好的”而已。我的观点,这个问题暂时还没有绝对的对与错。

* 当然还有个人的 preference 问题。如果如同第一点一样,排除了对技术的优劣判断之后,个人偏好就会成为很大的因素。云风的公司就用 Lua 硬撸 3D 引擎,Yaron Minsky 的公司就用 OCaml 写交易系统。当然他们都能拉出一大堆理由来 justify 他们的选择,但是按第一点的意思,别人不一定认。所以最理性的解释是“有个人偏好是非常正常的事情”。或者也可以用统计学解释,有 N 个技术,M 个人,每个人选一个技术,既然没有绝对的标准谁好谁坏,那就是某种随机选择,样本足够大的话不可能全选择同一个技术。

* 有些公司不仅仅是单纯选择技术栈,选择一个技术栈,同样也选择了这个技术栈背后的 implication 。一个技术栈往往 imply 了相当多的东西,比如像隔壁帖子 v2ex.com/t/795881 有人说“Java 背后的群体代表的就是不思进取,故步自封的保守派”,就是这个意思。这并不是说每个 Java 用户都是“不思进取,故步自封的保守派”,也不是说“不思进取,故步自封的保守派”该被消灭,而是如果一个 CTO 不希望构建“不思进取,故步自封的保守”的文化的话,那么避开 Java 是一个可能有效的 heuristic 。上面还有人说可以过滤培训班,应该也有这个效果,虽然我之前没想到。在有些技术的圈子里偶尔会碰到什么“用这个技术的开发效率倍儿高”“用这个技术的人都很聪明”之类的话,道理跟什么“在简历上留 QQ 邮箱的负面效果”是一样的,heuristic 而已。虽然我看大多数都逃不过草台班子定律。

* 用新技术,可以成为招聘广告的亮点!亮点!楼主说“从本站的各种招聘帖子,以前别的地方的招聘帖子发现,很多 ...”,这个“很多”可能并不真的是“很大一部分”,而只是“在楼主的视野里格外显眼”而已,因为写的技术“非主流”,所以留下的印象更深。这个道理是这样的:根据草台班子理论,大多数人的工作是比较无聊的,为了排解这种无聊,除了刷 V 站之外,使用不一样的技术(倒不一定是“新技术”,但是这种情况下新技术更受欢迎)也是一种方案(虽然都不解决根本问题)。有使用新技术的机会,那自然会成为亮点。
另外,开发者和 CTO 一样会有个人偏好,CTO 表达偏好的方式是开个用这个技术的公司,而普通开发者表达偏好的方式则是选择用这个技术的公司。依然是统计学,“非主流”技术用的人少,用的公司也少,只要不是非主流到样本实在太小的程度,没有理由说非主流技术比主流技术招人更难。

我再尝试把“样本实在太小”这个 edge case 的坑填上:我知道有一些公司用的是这类非主流技术(也许我现在公司也算?不过是大公司),这种情况可能会有另一个 buff:就是因为招聘者和求职者都难找,所以(理论上)会更加珍惜已有的机会——我实在想用某技术,但是实在找不到对应的工作,能有用这个技术的工作那简直就是奥丁下凡啊!别的我都不在乎,只要打败波兰,啊不,能用这个技术就算是成功了!

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

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

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

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

© 2021 V2EX