越来越多的Web开发人员通常都会问一些同样的问题。比如:哪一种开发语言最重要?初级开发人员的薪金会是多少?公司提供的免费培训有用吗?如何评估一个新的项目?尽管这些问题都很重要,但是开发人员往往对其他人的回答不以为然。一般来说,他们自己都不知道如何去寻找答案。以下五个建议或许有用。
你永远不是最聪明的人
在互联网泡沫到来之前我和一个同事一起从事语音识别系统扫描编码的工作。不久我们就发现通过电脑或者PDA可以很方便的上网,并且是无键盘操作。每当我质疑他的一些想法时但都遭到了他的坚决反对。他觉得他永远不可能犯错误。他曾经参加过技术讨论会的!在接下来的几个月里他有很多的设计都没能成功实现。
如果有一天你发现你与我的那位同事处境相似,那么也许你应该认识到你不一定总是正确的。你并不是办公室里面最聪明的人,所以主动接受别人的建议或许更能显示出你的大智慧。
经验真的很重要
作家永远不想承认这个事实,我们开发人员也是这样。尽管如此,我发现那些有过成功项目经验的人会更容易在接下来类似的项目中获得成功。当需求明确准备开发的时候,程序员通常都非常有自信有能力解决所有的问题,而不管所使用的方法是不是最佳的甚至可靠的。
事实上,经验从来都是很非常有用的。我的建议是相信别人的经验并向他们学习,而不是让自己嫉妒心无限膨胀。当自己犯错误的时候,多问几个为什么,多向别人寻求反馈并且尊重他人的意见。
没有银弹
不可否认的是现今任何一种开发语言、框架或者操作系统,都有他们忠实的追求者。当然他们的这种执著追求并没有什么不对,但是如果认为它们其中任何一种(技术、框架或者设计模式)可以解决在所有项目里遇到的任何问题那就不对了。我很反对在招聘Web开发人员的时候要求应聘人员必须掌握当前一些主流的开发语言。我认为只要对这些语言和技术有一些基本的了解就足够了,因为从来就没有什么万能的技术。
优秀的开发人员可能会成为新技术的倡导者,但不会成为狂热的追求者。除非他是在一家专门负责技术推广的软件服务公司工作,那样他必须开放思想并且愿意接受改变。
新的技术不一定是最好的
作为一名开发人员,长期专注于一种技术固然不好,但是总是倡导使用最新最时髦的技术更加不好。尽管新的技术很吸引人,但并不是任何时候都是最合适的。一些被成功实践过的技术往往能够给项目减少失误,缩短工期,并令客户满意。而且这样开发出来的网站往往更能被人接受。
当然,我并不是提倡对新的技术弃而不问。我们应该对Web新技术时刻保持敏感,一旦时机成熟,条件允许我们可以快速转向新技术的开发实践。我们可以经常学习并尝试使用新的技术来更新我们已有的系统。
不是每一场战役都值得去战斗
作为一名Web开发人员,我的经验证明网站在保持个性化的前提下很多原则是必须遵守的。但其他人并不这么认为。以前我会为了这种问题从头到尾据理力争,因为我觉得从任何角度出发我都是正确的。现在我倒觉得,大多数时候你只需要把你的想法清清楚楚明明白白的表达出来就够了。
尽管你的想法并不一定会被人接受,但你应该学包容别人犯错误,然后让管理层来协调。长此以往,你的同事就会发现你的宽容,慢慢的就会尊重你,感激你了。
转自:http://blog.csdn.net/szu030606/article/details/7380407
分享到:
相关推荐
全新的MySQL数据库运维DBA视频课程和Python运维实战课程,为数据库运维与开发人员提供了很值得参考的学习课程。反观时下的数据库运维,越来越多的同学们都是进行开发技术的学习与进修,所以大家在学习的过程中一定不...
### 软件研发工程师所需学课程 #### 一、计算机导论 - **课程简介**:本课程作为计算机科学与技术学科的入门课程,旨在为新生提供一个全面的计算机科学概览,帮助他们建立对专业基础知识和技能的整体认知。 - **...
这是一套从一个对iOS开发感兴趣的学员到iOS...通过本系列课程的学习,希望使一个对iOS开发感兴趣,想从事iOS开发的学员,成为一名真正iOS开发人员,iOS从业者,iOS技术大牛,最重要的是学会解决开发中遇到困难的方法。
"销售人员的潜能开发"课程则关注个人成长,鼓励销售人员发现并发展自身的潜能,以达到更高的职业成就。 通过这些全面的培训课程,销售人员不仅能提升自身的专业技能,也能增强对市场和客户的洞察力,从而为企业创造...
5. **校本课程开发模式**:主要有需求主导模式(基于学生兴趣)、条件主导模式(考虑学校现有资源)和目标主导模式(根据学校教育目标)。 6. **校本课程开发支柱**:包括满足学生实际发展需求、发挥师生主体作用、...
标题中的“数据库开发窗口SQL数据库开发必备软件”指的是在数据库开发过程中经常使用的工具或平台,这类软件通常提供了方便的SQL编写、查询执行、数据库管理以及数据可视化等功能,是数据库管理员和开发人员提升效率...
根据给出的文件内容,我们可以了解到IT人必知必会的课程列表,以及各个课程的具体分类、讲师、价格和课程主题。以下是根据文件内容提炼的知识点: 1. 虚拟化技术:虚拟化是通过软件将物理硬件资源抽象成多个虚拟的...
5. 把握行业发展动态,选择有发展前景的培训课程或机构。 6. 学习前人的成功案例,获取职业发展的灵感和方法。 掌握这些知识点,对于那些希望在IT行业中实现个人提升和薪资突破的技术开发人员来说,将会大有裨益。
5. 醒目卡法(Kanban):这是一种源于丰田生产系统的项目管理工具,强调可视化工作流程,限制在制品(WIP),以提高工作效率。在软件开发中,醒目卡法常用于跟踪任务状态,促进团队协作,确保项目的顺利进行。 在这...
在中国矿业大学的这门课程中,学生们通过学习和实践,旨在提升这些核心技能,以应对未来的挑战。 目标与计划管理是自我管理的核心。首先,明确个人目标是成功的第一步。例如,作为计算机专业的学生,理解IT行业的...
1. **编辑**:开发人员可以使用Keil的集成开发环境(IDE)uVision或Ishell,或其他第三方编辑器来编写C或汇编源代码。 2. **编译**:C51编译器负责将C源文件转换成目标文件(.OBJ),而A51编译器处理汇编源文件(.ASM或...
首先,CAD/CAM课程的开发需要基于工作过程的思路,即以实际工作岗位的需求为导向,将教学内容与工作过程相结合。这样的课程开发有助于学生理解和掌握如何将CAD/CAM技术应用于实际工作中,提高他们解决工程问题的能力...
《ACCP6.0使用Java企业级技术开发大型系统3》是针对Java开发人员的一门高级课程,旨在提升学员在企业级应用开发中的技能。这门课程覆盖了广泛的Java技术,包括但不限于Java SE、Java EE、数据库管理、前端技术、框架...
软件工程师的就业职位主要包括 WEB 开发工程师、数据库开发工程师、网站开发工程师、电子商务开发工程师、VB 程序员、网页开发人员、非 IT 专业信息部门的管理信息系统设计、开发、维护网位、JAVA 程序员、C++程序员...
Python作为一门广泛应用于运维自动化的编程语言,在课程中也有相应的视频课程,如Reboot运维开发系列—Python零基础实战视频课程。学习Python对于Linux运维工程师来说是一个加分项,因为掌握Python可以大幅度提高...
对于前后端开发人员和运维人员,掌握Git是日常工作中必不可少的技能,它能有效提升代码管理效率,保障代码质量,并促进团队间的高效协作。学习Git的使用,不仅能帮助开发者在出现问题时迅速回溯和修复,还能在多个人...