国内很多基于python的网站开始招聘java工程师,原因是什么?
程序员文章站
2022-05-20 07:54:03
...
例如 饿了么,知乎,达达。这三家都是基于python开发的互联网企业。但是现在都开始招java了。原因是什么?
1、Python性能这一点我觉得对于绝大部分互联网公司的需求来说,是不用顾虑的。知乎上也有人在用Python做高频交易vnpy/vnpy · GitHub,你真要死扣性能这一点,你把核心模块用纯C写完了封装起来,让Python去调用不就完事了。
2、对于工程开发的健壮性,这一点上Python的确比不过Java,毕竟Java是一门擅长把小项目做成大项目的语言。从这点上分开来说,如果你觉得你这个项目能一口气定下大方向保持几年不变,那建议用Java,毕竟开源框架用得人多,相对就会靠谱些;如果你是一个初创公司或者踏上正规没多久,往往需求会几天一小整几周一大整,这时候敏捷开发和精益创业的思维就尤为重要,Python的优势就会大大发挥出来。
3、说了这么多,回到问题本身上,的确最主要的原因还是国内找Pythoner太难。就以我个人招聘应届生的经历来说,笔试和面试主要还是考C++和基础算法知识然后招进来了再由我们亲自教Python,可惜的是招聘中大部分人表示没有接触过Python这门语言并且也表示不太感兴趣。社招的Pythoner占比更少,Javaer基本占了半壁*。所以很多公司在考虑到人才的流动性问题和用人成本上(码农都爱跳槽),无奈地从Python转成了Java。
回复:
楼上说的什么Python适合开发小型网站, 难维护之类的言论, 我想问:"你真的有Python开发经历吗? 你真的用Python开发过大型网站吗?" 我和上面说到的这些技术人员交流, 一致都觉得这种说法真是扯淡 基本上最关键的原因是,国内很难找到多个靠谱的Pythoner。
Python太容易上手门槛太低,所以水平真的很不齐,加上Python允许你各式花样玩,Django这样强健的框架都有人给你玩垮……
当业务上一定规模,少数一两个人扛起整个业务后端几乎是不可能的,就需要多招人;找Pythoner?找不到还好说,找到便宜的吧水平不一定可靠基本上要成为团队炸弹;找贵的吧……Python优势在开发成本低,找贵的还不如多找几个其它语言便宜的农。
JAVA就不一样,门槛比Python高,工程化特质明显,培训班出来的都能按照工程要求写代码,重点是人多啊人多,同档次的价格绝不会高于Pythoner,还有大把的可选,组个团完全没问题,至少比Python组团来得简单。所以大家就转招写JAVA的咯~ 1.Java 人多,相对好招人,单纯只写python 的人少,招不到人.
2.只会python 的码农很难成为一个优秀的码农.
3.一个注重性能问题的python 工程师很大概率是Java 工程师转过来的.
4.Java 转python 实在太容易,举两个例子,Java 容器里有那么多种List 跟那么多种Map ,什么时候用哪种都有讲究,在python 中你基本上只接触到怎么用list 跟map 而已,直接用就行。另外python 中一些概念,你只看python 会觉得很晦涩,比如@property,但你学了java就知道,get/set本来就是需要的嘛。。。但python会用装饰器的都少。。
……………………………题外话……………………………
只会python 的人才会黑Java 臃肿,你知不知道市面上神级编程书最多的就是Java 了。那么多大师都用Java ,别人都没说啥,你这么牛逼,咋不上天呢? 你知道要找一个有多年Python开发经验的工程师有多难吗?更多的都是像我一样把Python当作Shell代替品的。
我这种有多年Java经验的全栈工程师,在人才市场上都供不应求,你还指望Python? 无他,国内练大法的人少! 看网上的教程就能看出来了,python到今天网上能找到的教程还比不上10年前java的多,那么多号称帮你走向人生顶峰的培训机构,弄得现在java程序员像是工业化生产的一样,反正就是三板斧,学完JavaSE去学Web,期间顺手学习啊数据库和html,拿jsp写点啥练练手再上三大框架。相比之下python连版本都还搞不清楚呢= = 由于Python的人太难招,一个月也没几个简历,于是我们尝试开放Java招聘,原因有几个:
1 扩大筛选范围,遇到优秀的Java开发人员,尝试让他转Python,
2 实在不行,建立一个Java团队。
然而最后发现是我想多了,Java简历也没几个。
补充一句,想向Python发展的有志青年,别急着跳Django坑,不是每个公司都用这玩意的。 python,ruby适合早期快速实现,将项目上线。
而java适合重构,提升性能及安全性,
还有很重要的一点,java大众,好招人,能降低人力成本。 无非是招不到人。
1,python语言/解释器速度慢?
2,django等框架不够健壮?
3,国内招不到pythoner?
无意引起语言争端,只是渐渐发现python更适用于快速开发网站,等渐渐做大之后再转成java实现。
除非是由于原因3引起。
期待了解真实原因的大牛解答!
===============
有人评论说需要提供招聘java的证据:
达达:
Java (高级)招聘
知乎:
知乎我没找到确切的java招聘。不过之前是在v2ex上看到过的。找到在更新。
饿了么:
高级Java开发工程师招聘
==================
说软文的我猜不是在上海做python。
回复内容:
作为曾经做过 Python 面试官的来说几句。1、Python性能这一点我觉得对于绝大部分互联网公司的需求来说,是不用顾虑的。知乎上也有人在用Python做高频交易vnpy/vnpy · GitHub,你真要死扣性能这一点,你把核心模块用纯C写完了封装起来,让Python去调用不就完事了。
2、对于工程开发的健壮性,这一点上Python的确比不过Java,毕竟Java是一门擅长把小项目做成大项目的语言。从这点上分开来说,如果你觉得你这个项目能一口气定下大方向保持几年不变,那建议用Java,毕竟开源框架用得人多,相对就会靠谱些;如果你是一个初创公司或者踏上正规没多久,往往需求会几天一小整几周一大整,这时候敏捷开发和精益创业的思维就尤为重要,Python的优势就会大大发挥出来。
3、说了这么多,回到问题本身上,的确最主要的原因还是国内找Pythoner太难。就以我个人招聘应届生的经历来说,笔试和面试主要还是考C++和基础算法知识然后招进来了再由我们亲自教Python,可惜的是招聘中大部分人表示没有接触过Python这门语言并且也表示不太感兴趣。社招的Pythoner占比更少,Javaer基本占了半壁*。所以很多公司在考虑到人才的流动性问题和用人成本上(码农都爱跳槽),无奈地从Python转成了Java。
回复:
@zeroten 然而作为用Python的人,觉得用Python的公司太少,前途未卜。。你的知识面不应该只在语言层面上,比如你做web开发,你不光要会用Django / Tornado 一类的开发框架,更应该知道整个后端的分布式架构是怎么搭起来的,RPC通信层是怎么样的,高并发请求是怎么做负载均衡的等等这些高于语言层面的知识,不然跟培训班出来的有何不同呢。
@阿健 吐个槽,不太理解为什么现在公司都按语言招人,底子好的,入职之后再学项目用到的语言也来得及啊。是的,所以那时候我们就是招熟悉C/C++的,招进来了让学Python;阿里也经常干这样的事,只不过人家招C/C++的进去写Java。
@椎名橘子 Python人这么难找,那薪资水平是怎么样的……跟各语言相比如果同等水平的话,Pythoner的平均薪资并不见得比Javaer高,但是,你可以较大概率拥有一份朝10晚6的工作,下了班可以给自己充充电、打打游戏、泡泡妹纸(逃 校招的时候一心想找Python岗, 先后面了知乎, 饿了么, 高德, 多看, 腾讯IEG运营部/研发部 等等一系列在大量使用Python的部分, 得出的比较一致的回答是, Python的人才太难招了, 相比JAVA遍地的情况,招一个符合条件的Pythonista是一件困难的事情,.
楼上说的什么Python适合开发小型网站, 难维护之类的言论, 我想问:"你真的有Python开发经历吗? 你真的用Python开发过大型网站吗?" 我和上面说到的这些技术人员交流, 一致都觉得这种说法真是扯淡 基本上最关键的原因是,国内很难找到多个靠谱的Pythoner。
Python太容易上手门槛太低,所以水平真的很不齐,加上Python允许你各式花样玩,Django这样强健的框架都有人给你玩垮……
当业务上一定规模,少数一两个人扛起整个业务后端几乎是不可能的,就需要多招人;找Pythoner?找不到还好说,找到便宜的吧水平不一定可靠基本上要成为团队炸弹;找贵的吧……Python优势在开发成本低,找贵的还不如多找几个其它语言便宜的农。
JAVA就不一样,门槛比Python高,工程化特质明显,培训班出来的都能按照工程要求写代码,重点是人多啊人多,同档次的价格绝不会高于Pythoner,还有大把的可选,组个团完全没问题,至少比Python组团来得简单。所以大家就转招写JAVA的咯~ 1.Java 人多,相对好招人,单纯只写python 的人少,招不到人.
2.只会python 的码农很难成为一个优秀的码农.
3.一个注重性能问题的python 工程师很大概率是Java 工程师转过来的.
4.Java 转python 实在太容易,举两个例子,Java 容器里有那么多种List 跟那么多种Map ,什么时候用哪种都有讲究,在python 中你基本上只接触到怎么用list 跟map 而已,直接用就行。另外python 中一些概念,你只看python 会觉得很晦涩,比如@property,但你学了java就知道,get/set本来就是需要的嘛。。。但python会用装饰器的都少。。
……………………………题外话……………………………
只会python 的人才会黑Java 臃肿,你知不知道市面上神级编程书最多的就是Java 了。那么多大师都用Java ,别人都没说啥,你这么牛逼,咋不上天呢? 你知道要找一个有多年Python开发经验的工程师有多难吗?更多的都是像我一样把Python当作Shell代替品的。
我这种有多年Java经验的全栈工程师,在人才市场上都供不应求,你还指望Python? 无他,国内练大法的人少! 看网上的教程就能看出来了,python到今天网上能找到的教程还比不上10年前java的多,那么多号称帮你走向人生顶峰的培训机构,弄得现在java程序员像是工业化生产的一样,反正就是三板斧,学完JavaSE去学Web,期间顺手学习啊数据库和html,拿jsp写点啥练练手再上三大框架。相比之下python连版本都还搞不清楚呢= = 由于Python的人太难招,一个月也没几个简历,于是我们尝试开放Java招聘,原因有几个:
1 扩大筛选范围,遇到优秀的Java开发人员,尝试让他转Python,
2 实在不行,建立一个Java团队。
然而最后发现是我想多了,Java简历也没几个。
补充一句,想向Python发展的有志青年,别急着跳Django坑,不是每个公司都用这玩意的。 python,ruby适合早期快速实现,将项目上线。
而java适合重构,提升性能及安全性,
还有很重要的一点,java大众,好招人,能降低人力成本。 无非是招不到人。
只是渐渐发现python更适用于快速开发网站,等渐渐做大之后再转成java实现反例太多,我都不想列了。