摘要:不管我们程序员如何认识这个问题,如果你想在给别人编程打工中获得事业成功,编程技能不是第一重要的。学会如何做一个好的员工才是重要的,甚至是非常重要的。
从最最基本的层面上讲,每个员工都应该为最求两种基本的能力而奋斗,它们是:编程技能和做员工的技能。
编程技能是指能写出好的,稳定的,有效率的,可维护的,以及所有其它褒义形容词能描绘的代码的能力。这些是程序员们喜欢花时间反复唠叨,讨论,阅读的东西。
做员工的技能是指做一个好的雇员和同事的能力。它意味着有求必应,善于交流,能够按期完成,善于接受反馈,有能力把复杂的事情解释清楚,以及其它一些类似的技能。
一个极端的例子
对两个人的形象描绘:
Rodrigo毕业于麻省理工,他在业余时间开发编译器。他是Haskell语言的核心代码捐助者,他开发了很多非常有名的Python程序库。他写出的代码都是非常健壮的代码,可读性好,能够优雅的处理各种程序上的临界计算场景。然而,他通常是拖延几天才回复邮件,你很少见他会接听电话,他看起来并不真正理解按时完成任务的重要性,他按自己的方式做事,你不可能弄清楚他究竟是怎么想的,只感觉他脑子里都是一些漫无边际的想法。
Gabriella并不是一个非常优秀的程序员,她写的程序看起来显然很业余。15到20行就能完成的程序她写了30行。她的程序里有bug,这让QA部门在上面花费了不少时间,她没有真正理解写出的代码应该具有好的性能的道理——“能用就行啦!”。然而,她很热情——她收到邮件几分钟内必给予回复,她从不漏接一个电话,她善于沟通,她能把复杂的技术问题清楚的讲给客户听,她从没有逾期完不成任务,她不断的寻求反馈来改进自己的工作,她是一个很随和的人,同事喜欢跟她说话。
现在,好好想想这个问题。哪一个人你更愿意和他/她共事?
什么是最重要的?
依我的经验,程序员更愿意和Rodrigo同事,而老板们更喜欢Gabriella。
这很正常——毕竟,程序员是苦于和那些烂代码打交道的,而老板们操心应付延误的工期和改善团队里沟通不畅。所以,我都更喜欢给我们带来尽少麻烦的人。
然而,问题是,老板们是给我们工作机会的人,他们是能让我们晋升,涨工资,能给我们嘉奖的人,在这种情况下,Gabriella就脱颖而出了。我已经很多次见到这种情况了——具有好的做员工技能但编程技能差的程序员最吃香,而具有非常好的编程技能但不善于沟通的程序员永远都走在别人后面。
不管我们程序员如何认识这个问题,如果你想在给别人编程打工中获得事业成功,编程技能不是第一重要的。学会如何做一个好的员工才是重要的,甚至是非常重要的。
分享到:
相关推荐
【员工培训之——一个优秀员工应树立的基本意识】 在IT行业中,无论是开发人员、技术支持、项目经理或是行政人员,每一个角色都需要具备一定的基本意识,以确保工作效率、产品质量以及团队协作的顺畅。以下是从文档...
5. 培训与发展:规划员工的职业发展路径,记录培训情况,提升员工技能。 6. 系统管理:包括用户权限管理、角色分配、系统配置等,确保系统安全稳定运行。 四、技术实现细节 1. MVC(Model-View-Controller)设计...
总结起来,这个"课程设计——员工管理系统"涵盖了Java Web开发的关键技术,包括JSP、Servlet、数据库操作、会话管理等,对初学者来说是一个很好的实战项目,有助于提升实际开发能力和对Web应用整体流程的理解。
《C语言课程设计——公司员工管理系统》 C语言作为计算机科学的基础编程语言,因其简洁、高效的特点,在教学中常被用于进行课程设计,以提升学生对编程的理解和实践能力。本课程设计的主题是构建一个公司员工管理...
在本项目中,我们关注的是一个名为“软件工程课程设计——人事管理系统之固定员工管理”的实践项目。这个项目旨在让学生掌握软件工程中的关键概念和技术,特别是如何应用它们来开发一个固定员工管理模块。以下是该...
在信息技术领域,毕业设计是学生们展示其编程技能和项目管理能力的重要环节。本篇将深入探讨一款名为“公司员工管理系统”的毕业设计,该系统采用Java语言进行开发,并结合MSSQL2000数据库进行数据存储,提供了全面...
ASP,全称Active Server Pages,是微软开发的一种服务器端脚本环境,用于创建动态交互式网页。这个压缩包“ASP网站...通过深入研究这个系统,不仅可以提升ASP编程技能,还能了解实际项目开发中的常见技术和最佳实践。
【VB毕业设计——VB员工培训管理系统设计(论文+源代码)】 这个VB毕业设计项目是一个基于Visual Basic(VB)开发的员工培训管理系统。VB是一种面向对象的编程语言,由微软公司开发,它提供了直观的图形用户界面(GUI...
《C语言实现的员工信息管理系统详细设计》 员工信息管理系统是一种常见...通过实践这个项目,初学者可以提升自己的编程技能,加深对C语言的理解,同时也能了解到软件开发的基本流程,为今后的编程学习打下坚实的基础。
【课程设计——人事管理系统】是C++学习过程中的一项重要实践任务,旨在提升学生对面向对象编程的理解和应用能力。在C++课程设计中,人事管理系统通常是一个典型的案例,它涵盖了类的设计、对象的创建与操作,以及...
在本项目中,"c++课程设计——美发店管理系统"是一个使用C++编程语言实现的软件系统,旨在为美发店...通过完成这样一个项目,学生能够提升自己的编程技能,同时理解软件开发的全过程,为未来的职业生涯打下坚实基础。
【标题】:“东北大学——C语言大...对于初学者来说,通过分析和理解这个源码,可以提升编程技能和问题解决能力。同时,它也体现了东北大学在计算机科学教育中的实践性,强调通过实际项目来培养学生的编程思维和能力。
在本项目中,"C++课程设计——简单的人员管理系统"是一个基础级别的软件开发实践,旨在让学生熟悉C++编程语言,并应用其构建一个实用的应用程序。...通过实践,学生可以提升自己的编程技能和问题解决能力。
通过这个项目,学生不仅能够提升编程技能,还能加深对数据管理和系统设计的理解,这对于将来从事IT行业的工作是非常有帮助的。在实际开发中,这样的系统可能会更复杂,涉及到数据库连接、多线程、图形用户界面等更多...
总的来说,这个VB毕业设计项目是一个全面实践VB编程、数据库管理、系统设计和项目管理的机会,对于提升学生的实际操作能力和问题解决技巧具有重要意义。同时,它也为实际的企业提供了可能的员工管理工具,有助于提高...
企业对员工的技能培训和持证上岗的要求也越来越高,这就要求高职院校在教学中不仅要传授理论知识,更要注重实践动手能力的培养。 文章提出,构建一门实训与职业技能鉴定相衔接的课程,既能满足社会对职业教育提出的...
通过这个课程设计,学生不仅能够巩固C++编程技能,还能深入理解面向对象编程的设计原则,学习如何通过类和对象来抽象和组织业务逻辑,同时提高问题解决和系统设计能力。这个系统在实际应用中可以扩展到更复杂的功能...
Python是一种强大的编程语言,尤其在数据处理和自动化任务中表现出色。...通过阅读提供的"python在日常工作处理中的应用——以员工福利采购统计为例.pdf"文件,你将更深入地了解如何具体运用这些概念和技巧。
数据库课设——学籍信息管理系统是一项常见的IT项目实践,它涉及到多个关键的技术领域...通过这个项目,学生不仅可以提升编程技能,还能深入理解数据库管理系统的工作原理和实际应用,为未来的职业发展打下坚实的基础。