加入收藏 | 设为首页 | 会员中心 | 我要投稿 佛山站长网 (https://www.0757zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长资讯 > 评论 > 正文

程序员:放下技术情节,与你的同伴一起进步

发布时间:2013-07-25 00:59:55 所属栏目:评论 来源:站长网
导读:如果说掌握一门赖以生计的技术是技术人员要学会的第一课的话, 那么, 我觉得, 技术人员要真正学会的第二课,不是技术,而是业务、交流与协作,学会关心其他工作伙伴的工

如果说掌握一门赖以生计的技术是技术人员要学会的第一课的话, 那么, 我觉得, 技术人员要真正学会的第二课,不是技术,而是业务、交流与协作,学会关心其他工作伙伴的工作情况和进展。

为什么这么说呢? 因为技术人员太容易陷入“孤岛”状态,更注重自己的工作任务的完成,忽视其他工作伙伴的工作,甚至一无所知。 我就一直犯这样的错误。我敢说,对内心我还是比较明白清楚的,但是对外面所发生的事情实在是知之甚少,这不是好的状态。 一个开明、开放的程序员不应该囿于自己狭隘的小天地,而是更广阔地去看待工作和职业,和同伴一起进步和成功。

为什么要关心业务?

很多技术人员都立志成为系统架构师, 那是编程领域的“圣杯级职业”。问题是, 系统架构本身是为了业务需求和扩展而服务的,必须充分理解业务需求和未来的发展趋势,深入理解系统所涉及的数据及分布, 才能作出更可靠的设计决策。如果对业务知之甚少,以为仅靠书上说的那一套,或者以前的零碎经验,就能够胜任的话,那这个项目多半要失败的。 因此,即使立志要成为系统架构师,也要对业务有很深的理解。

其次, 技术的发挥必须有用武之地。如果没有足够强度和有挑战性的业务需求和扩展, 足够多的问题的磨炼,技术的提升又从何谈起? 仅仅靠阅读那些技术书籍吗? 那只能提供一个指导的作用罢了;真正还是要在实战中得到提高。

如果一个技术人员对业务不感兴趣,只对技术感兴趣, 那会发生什么事情呢? 他将只能满足于使用自己所熟悉的技术去完成上面分派下来的任务; 也许今天是做一个系统A, 明天是做另外一个类似的系统B。 他对系统涉及的各种业务都不甚了解,也不清楚行业领域的发展状况, 就只能局限于使用技术来做各种具体的功能,无法提出中肯的建议。他的职业发展将严重耦合于所掌握的技术。如果该技术保持比较长久的生命力,那么, 他还能兵来将挡水来土淹, 但无论如何,也只能局限于成为这门技术的“高级工程师”而已;如果该技术开始被淘汰,那就悲剧了。

換一种方式。如果一个技术人员很关心业务。 那么,经过一段时间的磨练之后,他能够提出中肯的意见,知晓行业领域的发展状况, 在深入理解业务的基础上,同时发展相应的技术专长, 做一个在业务和技术方面并行发展的技术人员。 他的职业发展将不是完全耦合于特定的某种开发技术,而具备了更大的灵活性。

你知道吗? 三国时期,我最佩服的是徐元直先生。 他是一个技术和业务同样精通的人才; 技术方面, 作战思想丰富, 业务方面, 实际指挥作战和应变能力都很强, 这样的人才, 难怪即使不献一策, 曹操这样的人物也愿意留他在帐下, 让他无功受禄,—— 能够不让他为竞争对手所用就已经是大功一件了。   

放下技术情结

技术人员要学会放下心中的“技术情结”。 因为我也是技术人员,也有技术崇拜的倾向, 也能够感受到这种情结带来的益处和束缚。 “技术情结” 表现在哪里呢? 你期望能够尽可能多尽可能深入地掌握各种技术,这给你带来一种很好的安全感,因为有了强有力的依靠,—— 你对自己的能力充分自信; 但也束缚了一个人的发展: 他的内心容易更加依赖于自己的能力,而对别人的能力抱有怀疑,难以与别人形成优势互补和良好搭档,很难发挥出超出自己能力的能量。

是的, 你学了 C, java, python , Lisp , ....,  还可以列出更长,你还想掌握并发编程,软件架构等等,你的同事却只会C, java 或 python ,  会敲入一些命令, 这样你就舒服了吗? 感到优越了吗? 高枕无忧了吗?  成为核心骨干了吗?  

技术是学无止境的, 一个人的精力却有限,就算一个人在某个领域里非常精通,那么同时也可能意味着这个人在其它方面是孤陋寡闻,“技术牛人” 和 “科学大师” 一样, 可能只是一个美妙的光环,是程序员给自己套上的铁链。不要妄想一揽子全抓在手里, 确立自己的专长, 善于与别人优势互补,良好协作才是。敢于舍弃 “技术情结” 给自己带来的安全感, 才能走出更广阔的空间。  

技术人员的通病

大多数技术人员,包括我在内, 都不甚明了自己究竟能够利用计算机做什么。 我们只是年复一年日复一日地学习和使用某种编程语言和技术来写程序,以为这就是利用计算机的唯一的正统方式。你用过MATLAB吗, 一种很强悍的科学计算软件? 那里一条命令, 就顶一个编程人员几个月的努力。作为一名计算机专业人士, 学习了那么多专业知识,难道仅仅只是为了掌握一两门编程语言和技术来写点程序养家糊口吗?  如果一个程序员懂得去使用一些专业软件,学习一些信息处理、统计分析方法, 那么, 他所能提供的价值可能远远超过一个普通开发者所能提供的价值。具备编程能力和对编程技术的领悟,是技术人员拥有的特别优势, 但并不意味着一个技术人员能够干的活就只是编程。只是,大多数技术人员,由于各种原因,就把自己定位在一名普通的程序开发人员身上, 跳不出“开发人员”的视角。

我们总是沉迷于重新发明轮子,以及被迫重新发明轮子,用不同的编程语言,或者用同一套技术框架,搭完了管理系统ABCDEFG,再搭HIJKLMN,以及OPQRSTUVWXYZ, 感觉很有成就感吧? 不懂尊重和利用别人已有的工作成果,低水平重复建设,耗费大量的时间、精力、人力和资源成本去做那些没有太大意义的事情; 总是沉迷于争论语言、技术之间的孰优孰劣,却甚少关心哪些事当做不当做,甚少关心做那些关键重要的事情有哪些方案以及孰优孰劣;总是沉迷于某款科技产品的宣传和特性,甚少关心环境问题和儿童失学问题,如果说程序员有什么可怜可恨之处,那绝对不在于这一族自甘被孤立,难以为人所理解, 而在于他们自身的心态就将自己锁在了井底之中,还自以为很与众不同。

假设你不再为公司编程,而为自己写程序, 你知道自己该干些什么吗? 你会感到迷茫吗? 如果我们连自己该干什么能干什么都不清楚, 那么徒有一身武艺,又有什么用呢?

大多数技术人员,包括我在内,都还不懂得主动与工作伙伴良好协作,只是因为工作关系而不自觉地交流和协作。不信,在你工作之余的时候,你会主动邀请别人一起来编程,共同去做一个有用的产品,  还是埋头去学习技术,孤立地去做一些技术实验,来掌握所谓的某门开发技术?  

(编辑:佛山站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读