程序员工作中有哪些需要特别谨慎处理的事情

程序员工作中有哪些需要特别谨慎处理的事情,第1张

程序员,现在国内喊得挺热,但是其发展给与的空间确是狭小的!而且程序员是一个很累的职业,将来发展的机会也很少,如果还有别的选择,请放弃做一名程序员!!!!

迷茫的程序员和中国软件业

----2001年对于IT行业进入寒冬,中国的程序员们先打起了喷嚏。

----2001年年关,《软件世界》记者刘兴波关于程序员薪水问题的文章《质疑中国软件业“高薪制“》及后续文章引发轩然波涛。在报刊、杂志上,职能部门和IT界的管理人员大都持肯定态度。加上先前人们以玄奘取经般姿态前往印度考察得出的要培养软件蓝领的舆论报道。于是乎,对程序员进行职能分化、薪水分化(大多数向蓝领靠拢,降薪)、用政策引导教育系统培养软件蓝领、在两年赶超印度等舆论报道纷呈出笼。好像中国软件业打翻身仗的根本在于所谓的“软件蓝领”。但在网络上,以程序员为主的论坛里则对其大加伐挞,近乎血雨腥风。关于软件业的发展以及程序员的发展前景的大批文章在网上广为传播,以至有网路拥塞之谓。这场关于程序员薪水和软件蓝领的争论让不少程序员对其职业取向和发展前景都产生了动摇。

----笔者也是一名程序员,出于对软件行业的看好和对程序设计的偏好。投身于软件行业,作了名程序员。但现在,却因现实和梦想的巨大反差、中国软件业和自身前景的迷离颇感彷徨和痛苦。一个行业的发展固然有起自身的规律,但在一个地区、一个国家的发展却更多地依赖于舆论、政策等诸多社会因素。社会因素的作用会在行业的发展中成倍的反馈出来。没有社会的大环境,软件业的发展也无从谈起。但不征集大多数从业人员的意见,而由舆论界和相关部门闭门造车地制定政策,实难言好。毕竟软件业最终还是要靠程序员来发展。程序员的迷离最终会是软件业的迷离,程序员的痛苦最终会是软件业的痛苦。

----朝阳初升的软件业

----软件业在计算机发展初期是严重依附于硬件,虽然重要,但并为成为产业。直到上世界六十年代产生的软件危机催生了软件工程,才作为一个产业得以迅猛发展。2000年,美国政府将销售额在上一年达2200美元、仅次于汽车和电子工业的软件产业从服务业列入制造业,其为美国经济的高速发展充当了排头兵。尽管软件业已有四十多年历史,其仍然是一个朝阳产业。随着社会信息化的发展趋势,随着各种生产、消费设备的电子化、数字化趋势,因其在事务处理中与在功能上逻辑等价的硬件相比有成本底、易实现、易扩展的优点,软件业会得到更广泛的应用。软件业的重要性也为人之共识。相对于信息产业中的IC业,软件业对技术积累和资金支持的要求要低一些(印度可为佐证,其信息产业的硬件基础和资金均逊于中国,但其软件业成为全球第二)。故中国这种人均资源匮乏,但人力资源相对低廉丰富的国家发展软件业实乃上上之选。对于中国而言,发展软件业已不单单是一个行业的发展。更重要的是可由此提升中国传统行业的生产、运作水平(笔者曾闻:老外有时卖到中国的设备在硬件上与十多年前并无大不同,仅是更新了软件系统,就又当新设备卖过来)。可以毫不夸张地说:要想让地球的重心由西向东移,软件业是最佳支点。这恐怕也是印度这个人均GDP300多美元的国家把IT牛皮地解为India’s Tomorrow的原因吧。

----全球的软件业按开发模式和主要地区(软件业由于产业群落影响和优惠政策吸引,极为集中)可分为:技术领导、产业支撑型——美国,软件本地化型——爱尔兰,外包服务型——印度,嵌入式开发型——日本、西欧。美国在系统软件、服务支撑软件、开发工具等核心领域了占据了80%以上的市场,引领着软件业的方向。爱尔兰则把自己当作美国软件的欧化基地,为欧洲提高20多个欧化版本。日本的嵌入式开发则是应其消费类产品的数字化、娱乐化趋势和通讯设备生产而生。西欧以瑞典、芬兰、德国为代表在生产设备、高精仪器、通讯和搏彩游戏机等应用上进行嵌入式开发(那种更新了软件系统,就又当新设备卖过来的生产设备、高精仪器多从此出)。

----中国软件业的现状和迷离前景

----现在谈到中国软件业时,总是与印度软件业相互比较,是基于这两个国家有很多相似性。在80年代中期,中印两国软件业并无太大差别。中国软件业并未将印度软件业放在眼里,此乃拜中国高速发展之赐,我们戏言曰印度阿三(是就经济而言,亚洲国家,日本第一,中国居二)。但到了现在印度软件业成了全球老二,叫一向自大的美国人也不敢小瞧,盖茨称其为继美国之后的下一个超级软件大国。中国软件业却看起来是王小二过年了,增长率比起国内其他行业尚可自慰,比起其他软件大国则相形见绌。国内67%的市场份额被外国巨头拿走(的确就是拿,没有被狙击)而且是高端市场。企业在技术竞争力上与外国巨头的差距是越来越大了。大部分软件公司都是在进行一般应用开发,为事企业单位开发管理系统。开发工具是别人的,后端数据库是别人的,绝大多数服务支撑软件也是别人的(修路的利润哪能跟提供大型工具的利润比)。要不是中国盗版猖獗,很多小公司光买开发工具就够呛了。不仅仅是技术差距加大,连从业人员的士气都大受影响。以前,开发出了产品虽然盗版猖獗,但大多赞誉有加,现在,有时连盗都不盗国产软件。过去的程序员们也没多富有,但常被不少爱好者追捧,声望甚著,现在,大概只有出校门没几年的“青光“才为自己的程序员身份得意了。干了几年后,再不愿说自己是光干编码的程序员。中国的程序员们尽管并不认为自己的水平比印度同行差,但大都承认了软件业与印度的差距。也没人认为中国软件业形势大好,高歌猛进。至于中国软件业为什么会落败于印度,已有不少总结,在此不表。来看一看业界人士们开出的在网上引发大争议的救业良方。

----印度软件业这几年的迅猛发展吸引了全球目光,中国软件业也不另外。业界人士纷纷以玄奘西行的架势前往取经,这是理所当然。业界人士们取经的结论比较具共性的是:中国软件业需要进行职能化分、大量培养软件蓝领、开拓海外市场等。进行职能化分、实施软件工程、加强管理这些没多大的争议。争议集中在软件蓝领这个新玩意上。

----在目前关于美国、日本、西欧等其他软件发达地区的报道中没见着软件蓝领这一划分和论述(大师和普通人当然有别,哪里都一样)。这是个我们从印度带回来的特产。原因是印度人用高中生在编程,再加上那帮家伙软件工程、项目管理搞的很好,居然能按时上下班,几乎跟哪里都不一样。于是就得出一个软件蓝领的概念(是印度人首创,还是我们的新发明,待考)。可是我要提醒的是印度信息技术部部长2000年5月在华盛顿放言印度每年能向世界输送20万。美国现有IT人才签证配额的一半被印度人占据,看来输送的可不是一抓一把的高中生。老美还没那么苯。以印度现在的培训体系现状和实力,那帮高中生经过培训是必然的了。他们可是在中学就接受扎实的计算机教育。我们的所谓的科班出身,不也是从高中拉了一拨人进行再教育吗?我们的大学技术教育是不是比他们的培训体系强,这我没发量化比较。我倒知道谭浩强教授在一次计算机教育会议上说他对中国现在的计算机高手大部份是非计算机科班出身感到迷惑不解。非计算机科班出身的高手得大部分自学吧,还有不少超过天天接受计算机教育的。我也还知道印度IIT被称为亚洲的MIT。我也还知道印度的培训系统来中国帮我们培训技术工程师。尽管业界人士对软件蓝领语带不屑,但要真是我们的教育培训比他们好,那倒是我们应以帮助第三世界兄弟的名义去帮他们。怎么掉过来了。那种因为印度很多编程人员没有大学学历,就把人当作是一抓一把的高中生的人是否也太过皮相之见了。尽管他们不会告你行业污蔑,但我建议有关人员在爆炒软件蓝领时先仔细斟酌一下,去考察一下别人受到的计算机教育再说不晚,程序员里没几个人跟你们抢“软件蓝领“这个词的话语权。也许吧,他们的培训系统比我们差,我们的认证培训系统可以让一个文秘专业的MM在一个月内拿MCSE,真是天才辈出!

既然是面试,一定要提前准备,最好准备一套自我介绍,包括对IT行业的看法之类,面试官经常会问这些问题。

由于c语言是程序员工作语种的其中1个,所以对于程序员这个工种,还是有一些具体的注意事项:

第一、基础很重要,不要生疏了。

不管应聘什么开发岗位,基础永远是最重要的。IT业不停地在炒作新概念,昨天是SOA,今天是云计算。我们永远不知道明天流行什么,但是只要有踏实的基础,辅以较好的学习能力,要跟上步伐也不会太难。所以绝大多数公司都会特别看重应聘人员的基础能力,比如编程语言本身的特性、基本的算法和数据结构、进程间通信等等,毕竟这些具体技术问题有客观的答案,而且在各具体行业都是相通的。

工作三年以上的人,往往都习惯了“拷贝+修改”式的工作,用不到的基础知识基本上都忘掉了,一到应聘的时候就难免眼高手低,总是抓不住机会。

而事实上,技术基础即便是遗忘了,也是可以很快捡起来的。如果求职者确实忘了很多基础知识,那么参加面试的前夜,花点时间把大学里的课本再翻出来看看吧。似乎很土的方法,但确实是有效的。

第二、要关注技术前沿。

不管做任何工作,如果只顾着低头做事,而不晓得抬头看天。那么不管做多久,自身的水平总是停留在毕业时的水平;如果基础又忘记了太多,那还不如毕业生。

关注技术前沿,并不是要求跟进每一个新技术,而只需关注目前主流媒体经常宣传的一些新技术、新思想。关注这些技术前沿的动向,并能与自己从事的工作联系起来作一些深入思考,那么这是向面试官宣扬求职者的学习能力的一种好办法。

第三、小公司比较看重知识的广度,大公司更看重知识的深度。

如果求职业想去一些小公司工作,那么由于他们人少,分工没那么细,所以用人单位大多喜欢知识面广的应聘者——求职者会听到更多的“怎么做”。对于应聘这样的公司,求职者可以着重培养知识的广度,比如做网站后台开发,最好也能js、css、apache、mysql都懂一些,能独自搭建一套完整的网站,这样去很多小公司难度都不太大。但是由于个人的精力总是有限的,所以要注意不要铺得太开,重点还是在后台开发本身。

而大公司由于分工比较明细,所以往往更喜欢考量重点知识面的深度——求职者会听到更多的“为什么”。所以平常解决问题时,不要光搜索一把解决了就完了,还需要仔细研究各种问题的来龙去脉,并能分析总结,将这些收获系统化、理论化。

当然,广度和深度的需求不是绝对的,一个优秀的开发人员应该对至少一到两个专业领域有着深入的了解,并熟悉其他相关领域,也就是所谓的一专多能。

第四、良好的简历设计可以为你的应聘加分。

社会应聘的简历往往比校园应聘的简历写得随意,因为有工作经验的人往往认为面试官会更看重他的工作经验,而不是简历格式。其实不然。

大多数简历只会出现在面试官面前10秒到1分钟不等。这个短短的时间内,如何让求职者脱颖而出?这个方面有很多的攻略,我只说重点建议,不解释原因。

一是简历要突出优势,而不是描述经历。比如出身名校、就职过名企、参与过著名项目、拿过大奖,这些比较客观的优势要重点突出。如果求职者没有UI的功底,那么简单地放大加粗也可以达到效果。当然有些公司只接受文本型简历,那就设法加一些特殊符号吧。

二是技术简历减少模糊化的语句,最好能数字化。例如项目代码量,维护的数据量,网站的访问量,请求平均耗时等等。

三是简历要能结合应聘岗位做一些匹配的修改。撇开招聘网站通用的简历不谈,如果求职者明确对一个特定公司的特定岗位投出简历,那么求职者有必要把跟对应岗位无关的内容弱化,并强化跟其业务相关的内容。如果实在行业差别太大,那么表达几句对其行业的见解和兴趣也是可以的。

第五、要有积极的沟通意识。

优秀的面试官会激励应聘者讲他原先工作的内容,并从而评估出应聘者的能力水平。但隔行如隔山,绝大多数面试官会慢慢将问题引向自己熟悉的领域——这往往又是应聘者不太熟悉的领域。这就要求应聘者能积极分析面试官的兴趣点,并将自己相近的特长表现出来。

如果跟面试官有了意见冲突,也尽量不要再同一个问题上纠缠。那也许是故意制造的陷阱——看看求职者的团队意识。应聘者需要明白的是,在面试场合中不要妄图“战胜”面试官,即便是碰上一个期望“战胜”应聘者的面试官。

第六、要有良好的表达能力。

没有哪个面试官喜欢啰啰嗦嗦说了半天还是没说到点子上的应聘者,所以要尽量简明扼要地回答问题,除非面试官确实表现出对具体细节的兴趣。 回答问题时注意面试官的情绪变化,一旦他表现出任何想打断的意愿,立即一句话结束这个话题。有些比较复杂的问题,可以先思考十到二十秒钟,因为一旦开口就没有思考的时间,话多的人不容易收住话题。

跟学校考试不一样,大多数主观性问题并不要求应聘者一二三四说得滴水不漏,能说到大部分关键点就是可以的了。另外注意,各种技术术语不要搞混了。搞不清楚的理论概念,不如不说。免得面试官听到个术语就拉出来穷追猛打,把自己问挂。

第七、自信。

大多数做技术的,平时都信心满满,一到应聘的时候却总觉得自己不懂的东西还太多。回答问题时声音太小,或者畏畏缩缩用很多“可能”“也许”“大概”。这个不一定影响求职者的录用,但是不自信的表现无疑会影响在跟HR谈薪水时候的议价能力。所以,无论如何,应聘的时候表现得轻松镇定一些,还是很有好处的。

当然,自信和自大之间往往只有一线之差。千万小心,不要过度地表现自信搞成了自大,因为HR往往对这一点非常敏感。如果求职者只是要谨慎地表现自信的话,只要回答问题时面带微笑就够了。

最后需要特别提醒的是,以上种种其实只不过是应聘时的技巧和注意点而已。职业规划需要有长远的眼光和坚持不懈的学习。台上一分钟,台下十年功。真正的实力还是要在平时工作和学习中进行积累。

把握重点,简捷明了,条理清楚,有理有据,回答问题的时候一定要简明扼要,一般情况下回答问题结论在前,议论在后。先将自己想要表达的主要意思表达清楚,然后再做具体的论述。在面试的时候紧张是难免,所以不要说太多多余的话,这样就容易跑偏了,就会将谈话的主题改变,往往不得要领,或者把问题的重点给忽略了,面试官也是听的稀里糊涂的。

在stackexchange网站上看到了一个非常好的问答,有人问:你做过的有效的提高你的编程水平的一件事情是什么

回首作为一个程序员这些年来的生活和职业道路,我使用了很多种不同的方法来提高我的编程技能——阅读代码,编写程序,阅读书籍,听讲座,看视频,等等。

我的问题是:你做过的有效的提高你的编程水平的一件事情是什么对于那些想提高水平的程序员,你的建议是什么

我希望你们提供的答案是各种各样的,并且不是那种“放之四海而皆准”的答案——我希望得到适用于不同人的不同的答案。

有很多人给出了自己的答案,在这里,我将其中受认可的前三种答案选出来翻译给大家。

受欢迎的回答:学无止境

没有特别的先后次序

和比自己更聪明的人一起工作

永远乐意听取他人的意见,不管对方是低级水平,一般水平,资深,还是大师。职称头衔并不代表一切。

学习其它的框架/语言,学习它们是的工作原理和思想,拿它们跟你已知的技术做比较。

学习各种设计模式,实践理论,然后用它们检查自己先前的知识,在需要的时候使用这些模式。

结对编程

反对Joel说的一切。

第二受欢迎的回答:成为多面手

争取成为一个‘多面手万事通’

在我职业生涯的早期,我在一种数据库和编程语言上是个专家。不幸的是,这种数据库在“数据库战争”中落败了,我才发现我的职业道路很窄。在此之后,我下定决心以后决不能把自己封在一个小空间里。我开始学习所有手头上能接触到的东西:Windows,Unix,C,C++,Java,C#,Perl,Python,Access,SQLServer,Oracle,Informix,MySQL,等等。不管什么样的新的,不常见的工具或技术,我都成为“大拿”——“去问克雷格(作者自己),他要是不会,他会去学会的。”结果,我做了各种各样的项目,从为环境监测做嵌入式系统,到为导d防御做命令和控制系统。

我在各种的公司里唯一遇到的问题是:它们坚持要把我固定在一个专门的研究方向内,而我的专门研究是要成为一个多面手。[编辑:也叫做学识渊博的人或多才多艺的人或多领域专家。]

有些事情需要留意高科技界里知识的半衰期是多少根据摩尔定律(Moore’slaw):18-24月内,半数你学到的知识都会过时。错误的遵循这种规律的专家会轻易的在这种技术发展的压力崩溃;一个多面手要做的事就是不断的丰富自己的技能,并从应用这些技能的经历中吸取教训。

第三受欢迎的回答:不要跟臭棋篓子下棋

我一直认为自己在不错的程序员中也算是个“灌篮高手”。直到有个家伙——我们叫他艾伦——被招进团队。艾伦很显然在很多方面都比我优秀。也比我年轻。他让我认识到,在过去的这些年里,我没有多少长进。我是一个特定技术方向的程序员,而且是水平一般。

这惊醒我应该自觉的不断提高自己的水平,特别是我写的代码的水平。

艾伦引导我学会了很多东西。他告诉我,大部分我写的代码在今后的数年里都将一直维护和进行扩展,写代码时要将这点铭记在心。我应该为我的代码写自动测试程序。艾伦说代码的开发一定不能停止在第一版上,应该不断的重构,提炼,让它达到完美。我发现,我对这些语言和工具的使用都还有还很大的改进空间。

从艾伦那我学到的重要的一件事情是:永远不要停止学习。

数年后,艾伦离开了公司。我的心里突然感觉空荡荡的。这些年与他为伴让我在技能上提升到了一个全新的水平,我知道现在我比团队里的其他人优秀很多。他们仍然写着糟糕的代码,犯着以前犯过的错误。我努力教育他们,但他们对此不感兴趣。事实上,他们讨厌有人这样傲慢自大的指出他们犯的错误。

于是,几个月后,我也离开这这个公司。我去了一个很小的公司,在一个很出色的团队里工作。那里每个人都渴望学习更多知识,我喜欢这样的。

我很幸运能遇到艾伦。没有他,我也许现在仍然待在那家死气沉沉的公司和那帮食古不化的家伙在一起,哪都去不了,想的全是自己的私利。

从我个人而言,我觉得第三个答案对我有价值,不知各位同行们有什么感受

以上就是关于程序员工作中有哪些需要特别谨慎处理的事情全部的内容,包括:程序员工作中有哪些需要特别谨慎处理的事情、web前端是自学好还是去培训机构学好、23岁了!一事无成,怎么办等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9863020.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存