几年前 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 这种高级语言为主的人,很多基础知识比较薄弱。高级语言掩盖了太多细节,提高了生产力,但在学习阶段,却不利于基础知识累积。
软件行业是一个非常强调人的价值的行业,价值就体现在有效的推动产品前进,而语言只是实现这个价值的工具。
<script type="text/javascript">
$(function () {
$('pre.prettyprint code').each(function () {
var lines = $(this).text().split('\n').length;
var $numbering = $('<ul/>').addClass('pre-numbering').hide();
$(this).addClass('has-numbering').parent().append($numbering);
for (i = 1; i <= lines; i++) {
$numbering.append($('<li/>').text(i));
};
$numbering.fadeIn(1700);
});
});
</script>
分享到:
相关推荐
Java程序员面试资料及简历模版 Java程序员面试资料及简历模版 Java程序员面试资料及简历模版 Java程序员面试资料及简历模版 Java程序员面试资料及简历模版 Java程序员面试资料及简历模版 Java程序员面试资料及简历...
《Java程序员面试宝典》主要内容简介:目前许多开发者对Java语言及其底层原理掌握不牢固,在面试过程中经常漏洞百出,无法取得好成绩。而招聘单位为了得到高素质的员工往往使出浑身解数,采用各种形式的面试考察求职...
java程序员面试交流项目经验java程序员面试交流项目经验java程序员面试交流项目经验java程序员面试交流项目经验java程序员面试交流项目经验java程序员面试交流项目经验java程序员面试交流项目经验java程序员面试交流...
作为一名Java程序员,应当包括自己的教育背景、编程经验、项目经历以及对Java语言的理解。 2. **技术成长**: - **对象理解**:深入理解Java对象的创建,如String的两种初始化方式,以及内存中的变量池、堆和栈的...
Java程序员在求职过程中,一份优秀...总的来说,一个好的Java程序员简历不仅要展示你的技术实力,还要体现出你的学习能力和适应性。通过使用提供的Word模板,你可以创建一份既专业又个性化的简历,为你的求职之路加分。
同样,系统分析师则需要在业务理解和系统分析方面有独到的见解,这些能力的培养对于Java程序员来说也是完全可行的。 除了技术路线,Java程序员还可以选择管理路线作为职业发展方向。从开发小组负责人到项目经理,再...
【JAVA程序员简历模板】 在创建一份专业的JAVA程序员简历时,首先要明确的是,这份文档将是你在求职市场上的“名片”,它应该清晰、准确地展示你的技术能力、项目经验和教育背景。以下是一个详细的模板,帮助你构建...
对于想要踏入或正在走在这条道路上的Java程序员来说,理解并经历一个完整的学习和发展过程至关重要。以下就是一篇关于“Java程序员的成长历程”的详细解读。 首先,Java初学者通常会从学习基础语法开始,包括变量、...
根据提供的文件信息,我们可以推断出这...综上所述,《Java程序员面试笔试宝典》这本书旨在全方位地帮助Java开发者们提高自己的技术水平和面试成功率,无论是对于初学者还是有一定工作经验的专业人士都非常有参考价值。
《Java程序员宝典》是一本全面涵盖Java编程技术的电子书,旨在为初学者和有经验的Java开发者提供深入的指导。这本书详细介绍了Java语言的基础、核心特性以及高级概念,帮助读者掌握成为一名优秀Java程序员所需的技能...
《Java程序员》 本书对于即将从事Java职业或初步从业的程序员来说是一本难得的好书。从生存、制胜、发展三个方面入手,为大家展示出程序员求职与工作的一幅3D全景图像。本书中既有在公司中的生存技巧,又有高手达人...
Java 程序员职业规划是指 Java 程序员如何规划自己的职业生涯,使自己在职业道路上更快速、更自信地发展。本文将从 Java 程序员职业规划的几个方面进行详细的介绍。 一、 认识自我 在职业规划中,第一个重要的步骤...
java程序员个人简历.doc JAVA软件工程师简历范文.docx Java软件开发工程师个人简历模板.doc 个人简历(示范案例).doc 应届生Java开发个人简历.doc 非常经典java求职简历(三套-含项目介绍).doc 高级Java工程师架构师-...
Java程序员上班那点事 Java程序员上班那点事 Java程序员上班那点事 Java程序员上班那点事
【Java程序员年终总结】 作为一名Java程序员,我在2010年的经历让我深刻理解到学习的重要性。从初入职场的新鲜人,到能在公司独立完成项目的开发者,这段历程充满了挑战和成长。2010年,我有幸加入北京联合兴辰公司...
Java程序员等级图是指导开发者职业发展的重要参考,它通常涵盖了从初学者到高级专家的不同阶段,每个阶段都对应着特定的...通过系统性地掌握相关知识和技能,Java程序员可以不断提升自己,在职业生涯中取得更大的成就。
Java 程序员笔试题 本资源提供了 Java 程序员笔试题,共 10 道单项选择题和 2 道多项选择题,涵盖了 Java 基础知识、编程技术、数据类型、运算符、控制流程、方法和类等方面的知识点。 1. Java 程序编译后会产生 ...
- **个人能力的提升**:面对激烈的竞争环境,Java程序员需要不断提升自己的专业技能,例如学习最新的开发框架、掌握云计算等前沿技术,以提高自身的市场竞争力。 - **职业规划的重要性**:合理的职业规划可以帮助...
Java程序员在IT行业中占据着重要的地位,他们负责...总的来说,"java程序员的那些事儿"涉及了广泛的知识领域,从编程语言本身到与之相关的框架、工具和最佳实践。不断学习和适应新技术,是Java程序员保持竞争力的关键。