程序员能够赚大钱;软件开发人员一周七天都可以随意穿戴;任何人都可以通过自学成为一名程序员。这些仅是人们想成为开发人员的一小 部分原因。不幸的是,人才市场中到处都是拥有原始智力或学问的应聘者,但是他们却不具有成为一名优秀程序员所需要的正确的态度或品格。在决定自己是否应当 成为一名软件开发人员时,你应当考虑以下几件事情。
1. 宁愿培训,也不自学
即使公司对其他类型员工有合适的培训计划,大多数开发部门也很少给程序员提供培训机会。顶多为你报销买书的费用。他们都希望程序员踏进公司的第 一天就掌握了所有(至少大部分)必需的技术。更糟的是,他们主观地认为程序员都非常聪明,很擅长解决问题。这让上层管理人员相信,优秀的程序员不需要培 训。最重要的,对开发人员的培训费用是相当昂贵的。结果呢?当你职位调动时,你要弄清楚接下来要做什么,必要的话就要自学一下了。
2. 喜欢正常的工作时间
软件开发项目不能按时交工是出了名的。从某种角度而言,即便是如期完工的项目也通常落后于计划表。如果你不能忍受(或不能处理)自己的业余时间 因上级的命令而失去规律或充满变数,那么你不适合做软件开发。到了关键时刻,上级只会在乎能否将产品如期交到资产雄厚的客户手上,而不是你孩子的足球比赛 或你想看的一个新的电视节目。
3. 喜欢正常加薪胜过跳槽
软件开发行业,技术无时无刻不在贬值。除非你所在公司是和缓慢变化的技术打交道,否则,你的技术很可能一天不如一天值钱。目前技术发展水平飞速 变化,今天还很热门的技术明天可能就无人问津了。因此,日复一日的重复着同样的工作,还期盼得到超过不断增长的生活费用的加薪是很困难的。要想保值,就必 须保证自己的技术跟得上发展的步伐。此外,如果还想加薪,就必须大大扩充自己的技术,要么获得晋升,或者直接跳槽。
4. 无法和他人和睦共处
性格内向或喜欢一个人工作是一回事。无法与他人和睦共处是另一回事,而且作为一名开发人员,这会拖你的后腿。不仅如此,你的经理很可能是一名非技术人员(或很久没有亲自从事技术工作的技术人员),所以你必须善于向非技术人员表达自己的想法。
5. 容易垂头丧气
软件开发经常会让人产生挫败感。文件材料过于陈旧或有错误、之前的程序员写的代码晦涩难懂、老板规定了一些必须遵守但毫无意义的规定……诸如此 类的事情不胜枚举。一天下来,没有人愿意和一个整天在无休止地咒骂或对着显示器尖叫的人一起工作。如果因为花了8个小时完成看似10分钟就能完成的任务而 抓狂,那么开发工作不适合你。
6. 思想保守,不考虑他人建议
编程过程中遇到的问题往往都有很多解决方案。如果你不能正确对待他人的批评,或者不能认真聆听他人的意见,你很可能会漏掉一些重要的东西。举个 例子,几周前,一名初级程序员给我提了一个建议。经过思考,我决定尝试一下。结果证明他是正确的,而我之前的想法是错误的,而且,他的建议让一段代码的运 行时间从之前的若干天一下缩短到几个小时。如果因为经验水平的不同而忽略他的意见,那是多么愚蠢啊。
7. 不注重细节
编程过程处处都是细节。如果一部情节比《野蛮人柯南》复杂一点的电影就弄得你晕头转向,或者填写一个折扣单就让你感觉很费劲的话,那么,你在软 件开发这个行业也不会有长足发展。有时,像少一个句号这样的小错误,就会让原本很完美的程序产生随机错误。如果你连哪里少了句号都搞不清楚,恐怕你在这一 行业也不会有很大发展。
8. 没有工作自豪感
当然,循规蹈矩式的编写一个说得过得去的程序是有可能的。问题是,规则不是一成不变的。软件开发不像是在工厂里整天拧同样的螺丝,拧的力度大了 小了都无所谓。它需要独立思考,进而需要开发人员对工作有自豪感。而且,软件开发过程中,一些错误的做法很可能一开始不会对整个工作有不良影响。那些你所 忽视的、看似不会引起麻烦的“小错误”,最终会酿成大祸。没有工作自豪感、不认真对待每个项目的程序员工作质量不高,从而编程事业也不会长久。
9. 不三思而后行
比起编写程序,软件开发人员(至少是优秀的开发人员)会在项目计划上花费更多的时间。通常,当程序员不假思索地打开程序编辑器就开始写代码时, 他们写的大部分代码稍后就会作废。而经过深思熟虑后写出来的代码错误会更少,而且耗时短。很多程序员不知道如何合理编写程序是有原因的:软件开发的难点在 于知道要编写什么。不事先仔细思考就开始盲目工作只会事倍功半。如果你只会实干不会思考,或许软件开发这项工作并不适合你。
10. 不喜欢极客类型的人
出于种种原因(其中一些是合理的),很多人不喜欢与工程师或技术人员相处。如果你认为与像呆伯特或怪人奥尔那样的人相处是一种煎熬的话,那趁早放弃进入编程行业的念头吧。所有的开发人员都像那样性格怪异吗?当然不是。但也不乏古怪的人,这足以让你在这个行业痛苦不堪。
分享到:
相关推荐
在软件开发面试中,应聘者需要充分准备,以应对可能出现的各种问题。以下是一些关键的知识点,涵盖了应届毕业生和有经验的开发者可能遇到的面试挑战: 1. **自我介绍**: - 介绍自己时,不仅要提及教育背景,还要...
“软件开发是创造性的劳动,创造性劳动依赖个人主观能动性,没有自我激励是不可能成为出色的软件工程师的;” 下面是软件工程师十个“不职业”行为。 如果程序员能够去努力克服这些不职业行为,其成长将...
软件产品综述资料是软件开发和测试过程中的一个重要文件,用于记录和描述软件产品的详细信息。下面是软件产品综述资料中所包含的知识点: 一、概述 * 产品管理类别:软件产品可以根据其管理类别进行分类,如医疗...
美国优秀软件界面谘询师Jeff Johnson著,对界面表现和Web设计开发很有帮助。
**禁忌搜索算法简介** 在计算机科学中,旅行商问题(Traveling Salesman Problem,简称TSP)是一个经典的...通过学习其C++实现,你可以掌握一种实用的算法,并将其应用于实际问题中,为软件开发和数据分析提供支持。
术后的行为禁忌,如抽烟、吹奏乐器等,对应于软件开发中应避免的操作,如不适当的代码修改、未测试的更新等,这些都可能导致更严重的问题。而术后感染与干槽症的区分,则类似于软件开发中对不同类型的错误或故障进行...
为了更有效地平衡热门视频直播服务的用户体验质量与系统总体成本,研究者梁建胜和谭思敏在计算机应用与软件杂志上发表的论文中提出了基于分布式禁忌人工蜂群算法的云视频直播优化算法。该算法的提出背景是,随着智能...
7. 软件开发:虽然标签中提到了“软件开发”,但内容显然与之无关,可能是标签误标。 8. 口腔疾病诊断:包括牙髓炎、牙周病、龋齿(如猛性龋)、口腔黏膜病(如白斑的癌变风险)等的诊断标准和处理方法。 9. 临床...
GUI(图形用户界面)设计是软件开发中的关键环节,它直接影响到用户的体验和软件的接受度。GUI设计禁忌是开发者必须注意的问题,因为错误的设计可能导致用户困惑,降低使用效率,甚至引发用户流失。以下是一些重要的...
此书不仅适用于软件开发人员和交互设计师,更被广泛视为提升用户界面设计质量的必读之物。本书通过深入剖析常见的设计误区,结合实例,以幽默风趣的方式教授读者如何规避这些陷阱,从而打造出更加直观、高效、友好的...
【技术】领域的知识通常涉及到编程语言、操作系统、网络技术、数据库管理、软件开发流程等多个方面,但在这个场景中,我们讨论的是与国际礼仪相关的知识,虽然标签为“技术”,但内容并不直接相关。因此,我将重点...
在本文中,我们将深入探讨如何使用MATLAB进行电子学开发,特别是针对禁忌电子学的SWW1281A12G单通道仲裁波形函数发生器。MATLAB是一款强大的数学计算软件,广泛应用于信号处理、控制系统设计以及各种工程应用。在本...
│ 上海税友软件 面试题.doc │ 公司培训文档-混淆的基本概念.doc │ 基本算法.doc │ 孙卫琴精通struts.基于MVC的.java.web设计与开发.pdf │ 学习Struts提供的和Form相关标签.txt │ 日企编码规范.doc │ 电信盈科...
Git 是一个广泛使用的分布式版本控制系统,特别是在软件开发领域,它为多人协作提供了强大的工具。然而,如果不正确地使用,Git 可能导致严重的问题。在本文中,我们将深入探讨两个 Git 集成使用中的禁忌:禁止执行 ...
在本文中,我们将深入探讨如何使用MATLAB进行开发,特别是针对禁忌电子学的SWW1074100MSS四通道任意波形函数发生器。MATLAB是一款强大的数学计算软件,它提供了丰富的工具箱,包括用于控制硬件设备如信号发生器的...
软件本地化测试是软件开发过程中的一个重要环节,它旨在确保软件产品能够适应特定国家或地区的文化和语言需求。软件本地化不仅涉及语言翻译,还包括对软件的界面、文档、度量单位、时间设置等多个方面进行调整,以...
在本项目中,MATLAB将作为与硬件交互的软件平台,通过编写代码控制SWW207420MS4的发生器生成所需的波形。 "tabor_ww257x.mdd"文件是MATLAB数据设备驱动(MDD,MATLAB Data Device)的一部分,它提供了与Tabor WW257...
【标签】“源码软件”意味着这个资源包含的是可以编译和运行的原始代码,是软件开发过程中的核心部分。对于学习编程或者想要定制修改软件功能的人来说,源码具有很高的价值。 【压缩包子文件的文件名称列表】只有一...
在MATLAB中,可以构建基于物理方程和事件驱动的模型,以便在软件中预测和分析电子系统的响应,这在设计和优化系统时非常有用。 5. **tabor_ww257x.mdd**:这个文件可能是Tabor Electronics的设备驱动或配置文件,...