程序员能够赚大钱;软件开发人员一周七天都可以随意穿戴;任何人都可以通过自学成为一名程序员。这些仅是人们想成为开发人员的一小部分原因。不幸的是,人才市场中到处都是拥有原始智力或学问的应聘者,但是他们却不具有成为一名优秀程序员所需要的正确的态度或品格。在决定自己是否应当成为一名软件开发人员时,你应当考虑以下几件事情。
1. 宁愿培训,也不自学
即使公司对其他类型员工有合适的培训计划,大多数开发部门也很少给程序员提供培训机会。顶多为你报销买书的费用。他们都希望程序员踏进公司的第一天就掌握了所有(至少大部分)必需的技术。更糟的是,他们主观地认为程序员都非常聪明,很擅长解决问题。这让上层管理人员相信,优秀的程序员不需要培训。最重要的,对开发人员的培训费用是相当昂贵的。结果呢?当你职位调动时,你要弄清楚接下来要做什么,必要的话就要自学一下了。
2. 喜欢正常的工作时间
软件开发项目不能按时交工是出了名的。从某种角度而言,即便是如期完工的项目也通常落后于计划表。如果你不能忍受(或不能处理)自己的业余时间因上级的命令而失去规律或充满变数,那么你不适合做软件开发。到了关键时刻,上级只会在乎能否将产品如期交到资产雄厚的客户手上,而不是你孩子的足球比赛或你想看的一个新的电视节目。
3. 喜欢正常加薪胜过跳槽
软件开发行业,技术无时无刻不在贬值。除非你所在公司是和缓慢变化的技术打交道,否则,你的技术很可能一天不如一天值钱。目前技术发展水平飞速变化,今天还很热门的技术明天可能就无人问津了。因此,日复一日的重复着同样的工作,还期盼得到超过不断增长的生活费用的加薪是很困难的。要想保值,就必须保证自己的技术跟得上发展的步伐。此外,如果还想加薪,就必须大大扩充自己的技术,要么获得晋升,或者直接跳槽。
4. 无法和他人和睦共处
性格内向或喜欢一个人工作是一回事。无法与他人和睦共处是另一回事,而且作为一名开发人员,这会拖你的后腿。不仅如此,你的经理很可能是一名非技术人员(或很久没有亲自从事技术工作的技术人员),所以你必须善于向非技术人员表达自己的想法。
5. 容易垂头丧气
软件开发经常会让人产生挫败感。文件材料过于陈旧或有错误、之前的程序员写的代码晦涩难懂、老板规定了一些必须遵守但毫无意义的规定……诸如此类的事情不胜枚举。一天下来,没有人愿意和一个整天在无休止地咒骂或对着显示器尖叫的人一起工作。如果因为花了8个小时完成看似10分钟就能完成的任务而抓狂,那么开发工作不适合你。
6. 思想保守,不考虑他人建议
编程过程中遇到的问题往往都有很多解决方案。如果你不能正确对待他人的批评,或者不能认真聆听他人的意见,你很可能会漏掉一些重要的东西。举个例子,几周前,一名初级程序员给我提了一个建议。经过思考,我决定尝试一下。结果证明他是正确的,而我之前的想法是错误的,而且,他的建议让一段代码的运行时间从之前的若干天一下缩短到几个小时。如果因为经验水平的不同而忽略他的意见,那是多么愚蠢啊。
7. 不注重细节
编程过程处处都是细节。如果一部情节比《野蛮人柯南》复杂一点的电影就弄得你晕头转向,或者填写一个折扣单就让你感觉很费劲的话,那么,你在软件开发这个行业也不会有长足发展。有时,像少一个句号这样的小错误,就会让原本很完美的程序产生随机错误。如果你连哪里少了句号都搞不清楚,恐怕你在这一行业也不会有很大发展。
8. 没有工作自豪感
当然,循规蹈矩式的编写一个说得过得去的程序是有可能的。问题是,规则不是一成不变的。软件开发不像是在工厂里整天拧同样的螺丝,拧的力度大了小了都无所谓。它需要独立思考,进而需要开发人员对工作有自豪感。而且,软件开发过程中,一些错误的做法很可能一开始不会对整个工作有不良影响。那些你所忽视的、看似不会引起麻烦的“小错误”,最终会酿成大祸。没有工作自豪感、不认真对待每个项目的程序员工作质量不高,从而编程事业也不会长久。
9. 不三思而后行
比起编写程序,软件开发人员(至少是优秀的开发人员)会在项目计划上花费更多的时间。通常,当程序员不假思索地打开程序编辑器就开始写代码时,他们写的大部分代码稍后就会作废。而经过深思熟虑后写出来的代码错误会更少,而且耗时短。很多程序员不知道如何合理编写程序是有原因的:软件开发的难点在于知道要编写什么。不事先仔细思考就开始盲目工作只会事倍功半。如果你只会实干不会思考,或许软件开发这项工作并不适合你。
10. 不喜欢极客类型的人
出于种种原因(其中一些是合理的),很多人不喜欢与工程师或技术人员相处。如果你认为与像呆伯特或怪人奥尔那样的人相处是一种煎熬的话,那趁早放弃进入编程行业的念头吧。所有的开发人员都像那样性格怪异吗?当然不是。但也不乏古怪的人,这足以让你在这个行业痛苦不堪。
分享到:
相关推荐
这个"SWT-JFace-3.5-API.chm.7z"压缩包中包含的是SWT和JFace 3.5版本的API文档,对于理解和利用这两个库进行开发具有极高的参考价值。 首先,让我们深入了解SWT。SWT是Eclipse项目的一部分,它提供了一个直接与操作...
Plugins-JFace-TableViewer.rar Plugins-JFace-TableViewer.rar Plugins-JFace-TableViewer.rar Plugins-JFace-TableViewer.rar Plugins-JFace-TableViewer.rar
《SWT-JFace 3.5 API 深度解析》 SWT(Standard Widget Toolkit)和JFace是Java编程中用于构建用户界面的两个重要库,尤其在开发Eclipse插件时,它们起着核心作用。SWT是Eclipse项目提供的一种与平台无关的图形用户...
在 "SWT-JFace-3.4-API" 这个资源中,我们很可能找到了关于这两个库的API文档。API 文档通常包含了类、接口、方法和构造函数的详细说明,是开发者学习和使用这些库的重要参考资料。3.4 版本代表了该API的一个特定...
SWT (Standard Widget Toolkit) 和 JFace 是两个与Java GUI开发相关的库,它们构成了Eclipse IDE的核心组件。在2004年的Java开发者年度大会上,Eclipse的SWT-JFace工具包荣获了最佳Java组件年度奖,这凸显了其在Java...
《SWT-JFace-in-Action(中文版)》这本书主要介绍了用于Java GUI开发的两个关键库——SWT和JFace。这两者都是Eclipse平台的核心组成部分,它们提供了与操作系统原生界面紧密集成的图形用户界面构建能力。 1. SWT...
SWT (Standard Widget Toolkit) 和 JFace 是 Eclipse 开发框架中的两个重要组件,它们在创建图形用户界面(GUI)时发挥着关键作用。本项目"SWT_JFace.rar_ImageAnalyzer_SWT-jface_swt_jface"是围绕这些技术展开的一...
Java JFace 技术是Eclipse框架中的一个重要组成部分,它为构建用户界面提供了一种模型-视图-控制器(MVC)的编程模式。JFace是Eclipse RCP(Rich Client Platform)的一部分,旨在简化GUI开发,使得开发者可以更加...
【SWT/JFace 简介】 SWT(Standard Widget Toolkit)是Java开发者用于创建图形用户界面(GUI)的一种库,它与底层操作系统紧密集成,提供了可移植的API。SWT的优势在于其高性能和与操作系统原生界面的接近,这使得用...
《SWT-JFace Code源码》是针对The Definitive Guide to SWT and JFace这本书的实践部分,提供了书中示例代码的详细实现。SWT(Standard Widget Toolkit)和JFace是Java开发图形用户界面(GUI)的重要库,它们都是...
JFace是建立在SWT之上的更高层次的抽象框架,简化了GUI开发的复杂性,使得代码更简洁,结构更清晰。 SWT的设计目标是提供与本机系统更紧密的集成,因此它能够创建出与平台原生应用类似的外观和行为。这与Java Swing...
《Swt-JFace In Action: GUI Design with Eclipse 3.0》是一本专注于使用Eclipse 3.0框架进行图形用户界面(GUI)设计的专业书籍。本书深入探讨了SWT(Standard Widget Toolkit)和JFace这两个核心库在构建Eclipse...
### SWT与JFace:构建Java GUI的利器 #### 引言 SWT(Standard Widget Toolkit)与JFace作为Eclipse框架的重要组成部分,自2003年以来,便因其卓越的表现和创新性,连续两年获得Java开发者年度大会颁发的最佳Java...
jar包,官方版本,自测可用
"org.eclipse.jface.rar" 是一个压缩包文件,包含的是Eclipse IDE中JFace库的源代码。Eclipse JFace 是一个用于构建用户界面(UI)的高级Java框架,它是Eclipse平台的重要组成部分,主要设计目的是简化Swing和AWT等...
SWT(Standard Widget Toolkit)和JFace是Eclipse开源平台中的两个重要组件,主要用于构建图形用户界面(GUI)。它们提供了一套丰富的控件和高级UI功能,使得Java开发者能够更轻松地创建美观、高效的桌面应用程序。...
SWT (Standard Widget Toolkit) 和 JFace 是两个在Java中用于构建图形用户界面(GUI)的重要库,尤其在开发Eclipse插件时被广泛应用。它们是开源项目,由Eclipse基金会维护,为开发者提供了丰富的控件和高级UI设计...