程序员能够赚大钱;软件开发人员一周七天都可以随意穿戴;任何人都可以通过自学成为一名程序员。这些仅是人们想成为开发人员的一小部分原因。不幸的是,人才市场中到处都是拥有原始智力或学问的应聘者,但是他们却不具有成为一名优秀程序员所需要的正确的态度或品格。在决定自己是否应当成为一名软件开发人员时,你应当考虑以下几件事情。
1. 宁愿培训,也不自学
即使公司对其他类型员工有合适的培训计划,大多数开发部门也很少给程序员提供培训机会。顶多为你报销买书的费用。他们都希望程序员踏进公司的第一天就掌握了所有(至少大部分)必需的技术。更糟的是,他们主观地认为程序员都非常聪明,很擅长解决问题。这让上层管理人员相信,优秀的程序员不需要培训。最重要的,对开发人员的培训费用是相当昂贵的。结果呢?当你职位调动时,你要弄清楚接下来要做什么,必要的话就要自学一下了。
2. 喜欢正常的工作时间
软件开发项目不能按时交工是出了名的。从某种角度而言,即便是如期完工的项目也通常落后于计划表。如果你不能忍受(或不能处理)自己的业余时间因上级的命令而失去规律或充满变数,那么你不适合做软件开发。到了关键时刻,上级只会在乎能否将产品如期交到资产雄厚的客户手上,而不是你孩子的足球比赛或你想看的一个新的电视节目。
3. 喜欢正常加薪胜过跳槽
软件开发行业,技术无时无刻不在贬值。除非你所在公司是和缓慢变化的技术打交道,否则,你的技术很可能一天不如一天值钱。目前技术发展水平飞速变化,今天还很热门的技术明天可能就无人问津了。因此,日复一日的重复着同样的工作,还期盼得到超过不断增长的生活费用的加薪是很困难的。要想保值,就必须保证自己的技术跟得上发展的步伐。此外,如果还想加薪,就必须大大扩充自己的技术,要么获得晋升,或者直接跳槽。
4. 无法和他人和睦共处
性格内向或喜欢一个人工作是一回事。无法与他人和睦共处是另一回事,而且作为一名开发人员,这会拖你的后腿。不仅如此,你的经理很可能是一名非技术人员(或很久没有亲自从事技术工作的技术人员),所以你必须善于向非技术人员表达自己的想法。
5. 容易垂头丧气
软件开发经常会让人产生挫败感。文件材料过于陈旧或有错误、之前的程序员写的代码晦涩难懂、老板规定了一些必须遵守但毫无意义的规定……诸如此类的事情不胜枚举。一天下来,没有人愿意和一个整天在无休止地咒骂或对着显示器尖叫的人一起工作。如果因为花了8个小时完成看似10分钟就能完成的任务而抓狂,那么开发工作不适合你。
6. 思想保守,不考虑他人建议
编程过程中遇到的问题往往都有很多解决方案。如果你不能正确对待他人的批评,或者不能认真聆听他人的意见,你很可能会漏掉一些重要的东西。举个例子,几周前,一名初级程序员给我提了一个建议。经过思考,我决定尝试一下。结果证明他是正确的,而我之前的想法是错误的,而且,他的建议让一段代码的运行时间从之前的若干天一下缩短到几个小时。如果因为经验水平的不同而忽略他的意见,那是多么愚蠢啊。
7. 不注重细节
编程过程处处都是细节。如果一部情节比《野蛮人柯南》复杂一点的电影就弄得你晕头转向,或者填写一个折扣单就让你感觉很费劲的话,那么,你在软件开发这个行业也不会有长足发展。有时,像少一个句号这样的小错误,就会让原本很完美的程序产生随机错误。如果你连哪里少了句号都搞不清楚,恐怕你在这一行业也不会有很大发展。
8. 没有工作自豪感
当然,循规蹈矩式的编写一个说得过得去的程序是有可能的。问题是,规则不是一成不变的。软件开发不像是在工厂里整天拧同样的螺丝,拧的力度大了小了都无所谓。它需要独立思考,进而需要开发人员对工作有自豪感。而且,软件开发过程中,一些错误的做法很可能一开始不会对整个工作有不良影响。那些你所忽视的、看似不会引起麻烦的“小错误”,最终会酿成大祸。没有工作自豪感、不认真对待每个项目的程序员工作质量不高,从而编程事业也不会长久。
9. 不三思而后行
比起编写程序,软件开发人员(至少是优秀的开发人员)会在项目计划上花费更多的时间。通常,当程序员不假思索地打开程序编辑器就开始写代码时,他们写的大部分代码稍后就会作废。而经过深思熟虑后写出来的代码错误会更少,而且耗时短。很多程序员不知道如何合理编写程序是有原因的:软件开发的难点在于知道要编写什么。不事先仔细思考就开始盲目工作只会事倍功半。如果你只会实干不会思考,或许软件开发这项工作并不适合你。
10. 不喜欢极客类型的人
出于种种原因(其中一些是合理的),很多人不喜欢与工程师或技术人员相处。如果你认为与像呆伯特或怪人奥尔那样的人相处是一种煎熬的话,那趁早放弃进入编程行业的念头吧。所有的开发人员都像那样性格怪异吗?当然不是。但也不乏古怪的人,这足以让你在这个行业痛苦不堪。
后记
如果你还有其他想法,欢迎在评论或微博中分享。
本文出处:伯乐在线- 职场博客
本文链接:http://www.jobbole.com/entry.php/389
分享到:
相关推荐
公司对你太好了,但你没有做的够好,甚至有迹象表明,你很可能根本不适合当一名开发人员。 对于这种很容易错误理解并让人陷入误区的文,实在是难于释怀,不得不站出来说几句,从另一方面解读下这十条,以正视听...
【描述】: "美国密歇根大学开发出一种名为"MORPHEUS"的新型计算机处理器架构,该架构能够主动防御威胁,通过每秒20次的加密和数据重组,防止针对硬件漏洞的攻击。" 【标签】: "处理器, 微型机器, 数据处理, 参考...
开发人员在需要修改文件时,先将其检出到个人工作区,修改完成后,再将更新的文件检入回配置库,同时会自动分配新的版本号。这种机制能确保只有拥有权限的人员才能修改文件,避免并发修改导致的数据冲突,实现访问...
为了实现定制化功能,特别开发了一款名为“自动报警”的软件。这款软件不仅能够实时监控火警情况,还能展示联动控制和PLC(可编程逻辑控制器)工艺流程的画面,从而确保在火警发生时能够快速、准确地响应。 联动...
为了防止此类攻击的发生,开发人员和系统管理员应当采取一系列的安全措施: 1. **输入验证**:对所有用户提交的数据进行严格的验证和清理,避免直接将用户输入嵌入SQL语句中。 2. **限制权限**:确保只有授权用户...
Runefs等工具利用磁盘坏块逃避取证检查,而更改文件扩展名则是一种简单易行的数据隐藏方式,例如将.doc文件改为.jpeg,使得文件在外观上看似图片,但实际上仍包含文档内容。 再者,数据加密是另一种常见的反取证...
Python是一种广泛应用于各种领域的编程语言,特别是在网络安全领域,它的灵活性和强大的库支持使其成为开发安全工具的理想选择。在这个名为"Python-一个基于burp的反射型xss检测插件"的项目中,开发者利用Python的...
通过对数千名参与者的跟踪研究,研究人员发现噪音水平与肥胖率之间存在正相关,噪音每增加10分贝,肥胖概率增加17%。噪音污染不仅影响睡眠质量和荷尔蒙平衡,长远来看可能导致心血管疾病和糖尿病等健康问题。 ...
1. **JSP(JavaServer Pages)**:JSP是一种动态网页技术,它允许开发人员将HTML代码与Java代码混合编写,服务器会将JSP转换为Servlet并在运行时执行。 2. **PUT 请求**:HTTP方法之一,用于替换或创建指定URL的...
本文将详细介绍一款名为“Android-Fall-Detection”的应用,它是一款专为老人设计的跌倒检测系统,利用Android智能手机的内置加速度传感器来实时监测并预防可能的跌倒事件。 首先,我们要理解跌倒检测系统的工作...
它封装了Windows API,使得开发人员可以更容易地创建用户界面。在本项目中,MFC可能被用作框架来构建图像处理的图形用户界面,提供友好的交互体验。 2. **OpenCV (Open Source Computer Vision Library)**:OpenCV...
标签“数据集”是对该文件性质的简洁概括,它通常用于机器学习和数据分析项目,研究人员和开发人员会利用这样的数据来训练模型,以便预测、分类或理解特定现象,如人类的压力水平。 压缩包内的两个文件分别是...
5. **调研对象与方向**:调研集中在华北、华东、华南、东北、西北、西南六大区域的20至30个二三线城市,选择各地区的前10名隐形冠军企业。 6. **调研渠道**:通过新浪网、地产中国网、地库网等网络媒体,以及泛地产...
线索排查是安全人员常用的一种方法,通过分析系统的日志、异常行为、文件创建和修改记录等,来追踪潜在的入侵迹象。在描述中提到的案例中,攻击者创建了一个名为"micropoor.txt"的文件,这可能成为安全人员发现攻击...
例如,在一维数组[21,46,24,99,57,77,86]中,查找数据元素99,首先从第1个元素21开始进行比较,比较结果与要查找的数据不相等,接着与第2个元素46进行比较,以此类推,当进行到与第4个元素比较时,它们相等,...
7. **安全培训**:教育开发人员了解最新的安全威胁和防护措施,提高整个团队的安全意识。 最后,对于提供的“最新Struts2漏洞检测工具.exe”,尽管可能带有风险,但其可以帮助检测系统中的Struts2漏洞,从而采取...
为了防止XXE漏洞,开发人员应采取以下几种策略: 1. **禁用外部实体**:最直接有效的方法是禁用XML解析器对外部实体的支持。 2. **限制文件权限**:避免应用服务器有权限访问敏感文件。 3. **使用安全的解析库**:...
在"BackgroundСandle_BrainTrend2_HTF"脚本中,开发人员巧妙地利用了"BrainTrend2"指标的输出,将其与不同时间帧的蜡烛条结合。脚本会检测较高时间框架(如H1、H4或D1等)的"BrainTrend2"值,并根据这些值为当前...
文章中提及了一种名为GREAT的协议,该协议通过利用未经解决的碰撞来发现克隆攻击。碰撞(Collision)是指RFID阅读器在同一时间范围内接收到多个标签的响应,导致无法区分各个标签的信号。如果碰撞是由具有相同ID的多...