Web开发人员必须学习的5门课程
简介
web开发人员都应该学习的5门课程:
- 你并不总是最聪明的那一个人
- 经验肯定是有一定用处的
- 没有银弹(即没有什么技术可以解决所有问题)
- 一种新的好东西并不一直是好东西(这里的东西指技术或者应用)
- 不是每一场仗都值得打 (不要总是认为自己的想法是正确的)
越来越多的Web开发人员通常都会问一些同样的问题。比如:哪一种开发语言最重要?初级开发人员的薪金会是多少?公司提供的免费培训有用吗?如何评估一个新的项目?尽管这些问题都很重要,但是开发人员往往对其他人的回答不以为然。一般来说,他们自己都不知道如何去寻找答案。以下五个建议或许有用。
你永远不是最聪明的人
在互联网泡沫到来之前我和一个同事一起从事语音识别系统扫描编码的工作。不久我们就发现通过电脑或者PDA可以很方便的上网,并且是无键盘操作。每当我质疑他的一些想法时但都遭到了他的坚决反对。他觉得他永远不可能犯错误。他曾经参加过技术讨论会的!在接下来的几个月里他有很多的设计都没能成功实现。
如果有一天你发现你与我的那位同事处境相似,那么也许你应该认识到你不一定总是正确的。你并不是办公室里面最聪明的人,所以主动接受别人的建议或许更能显示出你的大智慧。
经验真的很重要
作家永远不想承认这个事实,我们开发人员也是这样。尽管如此,我发现那些有过成功项目经验的人会更容易在接下来类似的项目中获得成功。当需求明确准备开发的时候,程序员通常都非常有自信有能力解决所有的问题,而不管所使用的方法是不是最佳的甚至可靠的。
事实上,经验从来都是很非常有用的。我的建议是相信别人的经验并向他们学习,而不是让自己嫉妒心无限膨胀。当自己犯错误的时候,多问几个为什么,多向别人寻求反馈并且尊重他人的意见。
没有“万能”的技术
不可否认的是现今任何一种开发语言、框架或者操作系统,都有他们忠实的追求者。当然他们的这种执著追求并没有什么不对,但是如果认为它们其中任何一种(技术、框架或者设计模式)可以解决在所有项目里遇到的任何问题那就不对了。我很反对在招聘Web开发人员的时候要求应聘人员必须掌握当前一些主流的开发语言。我认为只要对这些语言和技术有一些基本的了解就足够了,因为从来就没有什么万能的技术。
优秀的开发人员可能会成为新技术的倡导者,但不会成为狂热的追求者。除非他是在一家专门负责技术推广的软件服务公司工作,那样他必须开放思想并且愿意接受改变。
新的技术不一定是最好的
作为一名开发人员,长期专注于一种技术固然不好,但是总是倡导使用最新最时髦的技术更加不好。尽管新的技术很吸引人,但并不是任何时候都是最合适的。一些被成功实践过的技术往往能够给项目减少失误,缩短工期,并令客户满意。而且这样开发出来的网站往往更能被人接受。
当然,我并不是提倡对新的技术弃而不问。我们应该对Web新技术时刻保持敏感,一旦时机成熟,条件允许我们可以快速转向新技术的开发实践。我们可以经常学习并尝试使用新的技术来更新我们已有的系统。
不是每一场战役都值得去战斗
作为一名Web开发人员,我的经验证明网站在保持个性化的前提下很多原则是必须遵守的。但其他人并不这么认为。以前我会为了这种问题从头到尾据理力争,因为我觉得从任何角度出发我都是正确的。现在我倒觉得,大多数时候你只需要把你的想法清清楚楚明明白白的表达出来就够了。
尽管你的想法并不一定会被人接受,但你应该学包容别人犯错误,然后让管理层来协调。长此以往,你的同事就会发现你的宽容,慢慢的就会尊重你,感激你了。