资讯专栏INFORMATION COLUMN

请不要说自己是 Java 程序员

lewinlee / 793人阅读

摘要:我经常在团队里强调,不要把自己定位为某种语言的程序员,说自己是程序员,程序员,程序员等等。标题用请不要说自己是程序员没有贬低程序员的意思,是目前被采用得最多的语言,主要用的程序员里,也是有大量牛人。另外,同样的,也不要说自己是程序员程序员。

几年前 Reddit 上有个关于招聘的笑话:

  

面试官问:你用过 Python 或者 Django 吗?
答:我三周前去过动物园,这个算吗?
面试官:你被雇佣了。

一周后,这位应聘者用 Django 给他们的产品写了一个在线论坛。
英文的玩笑,用中文看有点不太容易懂。它的意思就是一个关于 Python(蟒蛇)经验只有三周前去过一次动物园的程序员,只要他足够的好,他也可以用一周的时间,基于 Python/Django 完成一个在线论坛。

经常在网上看到各种标题为“Java程序员”、“PHP程序员”、“C/C++程序员”的招聘帖子,但我感觉这种招聘方式,很难找到好的人才。语言只是一种工具,对一个聪明的程序员来说,用没用过什么工具主要是由他原来的工作需要决定,并不能代表他全部的技能。

另外,一个软件产品往往涉及很多方面的知识,比如网络、数据库、Cache、编译环境工具等。如果这些必要基础知识不足,很难很好的独立完成一个产品的某个部分。

另一方面,一个人的聪明程度、对新知识的好奇心、自我驱动意识、为问题找到最佳解决方案的决心,才是他能不能成为一个好程序员的关键。举个例子,我在担任 JPush CTO 的时候,有位同事本来是服务器端以 C 语言为主做开发的,完全没有过 iOS 开发经验,但他表现出对 iOS 开发很有兴趣,并且在做服务器端开发时,表现出良好的学习能力,后来我把他调到 iOS 组,负责 iOS SDK 和 APNs 相关的工作,结果只花了几个星期,iOS SDK 的稳定性大幅提升,解决了多个致命问题。

我经常在团队里强调,不要把自己定位为某种语言的程序员,说自己是 Java 程序员,C 程序员,Python 程序员等等。一方面会限制自己的发展,一方面对团队整体的能力提升也不利。几乎所有的语言都有它自己的适用场景,在合适的地方用合适的语言,才能极大的提升生产效率。

正确的做法是,首先要有良好的基础知识,深刻的掌握2~3门语言,然后适用于不同场景的语言要了解概念。基础知识包括各种计算机原理、数据方面的知识,在学校没认真学的,现在有时间也要补充。语言方面比如掌握了 C/Java,那 C++/Python/Bash/Javascript/CSS等都可以了解下概念,至少要理解在一个完整的产品链里,它们分别适用于哪个环节。

标题用“请不要说自己是 Java 程序员”没有贬低 Java 程序员的意思,Java 是目前被采用得最多的语言,主要用 Java 的程序员里,也是有大量牛人。另外,同样的,也不要说自己是 C 程序员、Python 程序员。

之所以用 Java 作为标题,一是现在以 Java 语言为主的工作非常之多,另外在学校里就以学习 Java 为主的人也越来越多。但我发现,从学校就以学习 Java 这种高级语言为主的人,很多基础知识比较薄弱。高级语言掩盖了太多细节,提高了生产力,但在学习阶段,却不利于基础知识累积。

软件行业是一个非常强调人的价值的行业,价值就体现在有效的推动产品前进,而语言只是实现这个价值的工具。

作者
张虎
weibo: @Tiger_张虎, 云巴 (yunba.io) 创始人,yunba.io 云后端服务。 JPush 创始人,原CTO。 Oracle VM 创始团队成员。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/64383.html

相关文章

  • 请不要说自己 Java 序员

    摘要:我经常在团队里强调,不要把自己定位为某种语言的程序员,说自己是程序员,程序员,程序员等等。标题用请不要说自己是程序员没有贬低程序员的意思,是目前被采用得最多的语言,主要用的程序员里,也是有大量牛人。另外,同样的,也不要说自己是程序员程序员。 几年前 Reddit 上有个关于招聘的笑话: 面试官问:你用过 Python 或者 Django 吗? 答:我三周前去过动物园,这个算...

    Sleepy 评论0 收藏0
  • 为你的PHP程序选择合适的密码库(初稿)

    摘要:我们不会提及任何糟糕的密码库的。仅对而言如果你一定要安装对称密钥加密,请使用上述的的密码库。的密码库为你提供了认证加密,而的实施并不会验证密文。当前的最佳密码库之一是内建的。这种散列算法对的编程者或企业来说都是稳定有效的。 如果本文中的术语让你感到疑惑,请先参阅密码学术语及概念一文。 密码学不是魔术。加密一个应用程序并不能保证它在袭击下的安全(特别是在你没有设置验证密文的情况下)。但如...

    岳光 评论0 收藏0
  • ajax跨域,这应该最全的解决方案了

    摘要:关于,强烈推荐阅读跨域资源共享详解阮一峰另外,这里也整理了一个实现原理图简化版如何判断是否是简单请求浏览器将请求分成两类简单请求和非简单请求。 前言 从刚接触前端开发起,跨域这个词就一直以很高的频率在身边重复出现,一直到现在,已经调试过N个跨域相关的问题了,16年时也整理过一篇相关文章,但是感觉还是差了点什么,于是现在重新梳理了一下。 个人见识有限,如有差错,请多多见谅,欢迎提出iss...

    ytwman 评论0 收藏0
  • 微信小程序内使用canvas绘制自定义折线图表

    摘要:话不多说,最终实现效果如下图中难点圆角矩形绘制转载他人帖子看此处最左或者最右边的气泡需要做动态偏移本项目是由写的小程序所以用的是的书写格式微信小程序可以自行修改使用方法将下列代码新建文件再项目中调用本组件的方法传入日期和值即可代码中有少量注 话不多说,最终实现效果如下: showImg(https://segmentfault.com/img/bVbq58e?w=376&h=189);...

    Juven 评论0 收藏0
  • MySQL 只能做小项目?松哥要说几句公道话!

    摘要:松哥上学那会,很多人对有一些偏见,偏见主要集中在以下几方面不支持事务事实上有表锁,但是效率比较低存储的数据量比较小,适合小项目,大项目还是得上等这么多年过去了,松哥自己在开发中一直是以为主,我觉得我有必要说两句公道话了。 松哥上学那会,很多人对 MySQL 有一些偏见,偏见主要集中在以下几方面: MySQL 不支持事务(事实上 MyISAM 有表锁,但是效率比较低) MySQL 存储...

    ixlei 评论0 收藏0

发表评论

0条评论

lewinlee

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<