导航:首页 > 程序命令 > 如何把程序员做得长久

如何把程序员做得长久

发布时间:2023-03-28 08:13:37

① 怎么做一个好的程序员

想成为一名优秀的程序员,往往需要具备以下特质:

1、始终保持工作热情
只有热爱才能做好一件事。尤其对于技术人员来说,程序员经常对着电脑一坐就是七八个小时,有时候赶项目还得在公司熬夜加班。如果不是真的热爱这份工作,光靠赚钱这个驱动力肯定是不足以支撑下去的。如果你每天都是一副上班比上坟还沉重的样子,哪怕你的技术水平再高,你的状态也很难好到哪里去,更不可能做出一个好的产品来。
2、提高学习能力,不断提升专业水平
新技术层出不穷,每个程序员都必须坚持学习。只有不断学习才能不断提升。在空余时间多掌握一些工具,多学习一些技术语言,技多不压身嘛。而且技术都是相通的,多学习一些新东西,会让你更融会贯通。这样既可以提高自己的工作效率,也能提升自己的职场竞争力。
3、加强沟通能力,避免无效的工作产出
下手写代码前必须明确产品的目标和需求,如果有不理解的,一定要及时跟上级进行沟通,必要时还可以从技术层面给产品和老大提出优化意见。切忌光敲代码不思考,这样很容易做无用功。
只要能做到以上三点,你未来的发展空间会更大,也相信你一定能找到适合自己的平台!

② 程序员吃的是青春饭,但怎么才能上青春饭持续的更久

以前经常听前辈们说程序员就是吃青春饭的,刚参加这行时不理解,感觉程序员不就是敲代码的,难道年纪大了就不能敲不动代码了么?况且技术这东西学到了,难道年纪大了就丢了不成吗?但是随着自己入行时间的增加,越来越觉得,前辈们说的这句话是特别正确的,刚参加工作时可以经常加班,有时甚至通宵,现在呢,身体就吃不消了,有的事情虽然自己会做,但是明显没有年轻人做的快了,他们的精力特别旺盛,在这点不得不服年龄不饶人呀,那么一些大龄的程序员怎么才能保证自己的战斗力,让这份青春饭持续的更久呢,今天小编给大家提供了以下4点。

上面四点我个人的建议,有什么更好的想法,欢迎大家在评论区进行互动交流哦!

大家好,我是“上世是朵花”。如果你有什么好的看法或者观点可以在评论区展现你的才华,互动交流,如果想进一步了解我,那就关注我吧!

③ 程序员纯靠技术能一直生存下去吗

作为一名IT行业的从业者,同时也是一名大数据、机器学习方向的研究生导师,我来回答一下这个问题。

首先,程序员完全可以靠技术来不断延长自己的职业生命周期,目前IT行业内也有大量的“70后”程序员一直奋斗在技术研发的第一线。

对于程序员来说,如果想一直从事程序开发工作,需要面临三大问题,其一是软件开发技术更新速度较快;其二是软件开发工作压力较大;其三是软件开发岗位升级难度较大,要想解决这三大问题,需要通过以下几个手段:

第一:重视基础知识结构。 程序员的基础知识结构往往能够决定程序员的成长空间,基础知识结构越扎实则上升空间就越大,职业生命周期也会越长。基础知识涵盖两大块内容,一部分是数学和物理知识,另一部分是计算机操作系统、计算机网络、算法设计等内容。从应用级程序员向研发级程序员过渡一个重要的条件就是数学基础是否扎实,而研发级程序员的职业生命周期要远长于应用级程序员。

第二:重视自主学习。 不论从事应用级开发岗位还是研发级开发岗位,自主学习对于程序员的成长都具有重要的意义,很多程序员就是由于不注重自主学习而导致知识结构逐渐陈旧,最终被行业淘汰。自主学习一方面要紧跟技术发展趋势,另一方面要围绕当前工作内容。

第三:注重提升资源整合能力。 随着程序员年龄的增长,资源整合能力将对于未来的发展起到重要的作用,程序员的资源整合能力包括技术整合能力、方案整合能力和研发资源整合能力。当然,如果再具备一定的人力资源整合能力,那么会进一步提升自身的职场价值。

如果有互联网、大数据、人工智能等方面的问题,或者是考研方面的问题,都可以在评论区留言!

从我过往多年的生涯案例来看,我觉得程序员是否可以一直生存下去,关键在于:“技术是否精湛”。
一般来说,技术除非你是非常稀缺,大部分到了一定阶段,都会面临天花板,学习能力会随着年龄提升慢慢下降,就很难占据技术的前沿,28法则的存在,大约8成程序员需要谋求新的出路。

一般来说,会分为两条路径:
1.横向路径:
技术领域看似专业性很强,但是一部分泛泛之辈,小部分某一个技术领域非常精湛,那么需要深耕,多年打磨,成为某一个细分领域的专家。
2.纵向路径:
还有一部分程序员,本身对于程序非常倦怠,无法继续下去,那么纵向领域寻求突破,打个比方,你在某一方面才艺很强,摄影,营养学,演讲等,但是区别主业本身,可以从纵向里面慢慢打磨,成为你的核心技能,实现新的发展。

所以是否可以生存下去,完全取决你的选择,当你有一技傍身,那么才可以拥有全新的未来。

首先靠技术肯定是可以的,因为无论什么公司都会需要一个经验丰富,技术鼎力的一线程序员,但是这个有两个限制,一是这种程序员的职位需求不会太多,二是这种程序员在某个技术领域必须非常厉害,而且在某一个领域大牛的基础上,要有跟进其他新技术的能力,因为这种级别的程序员,公司不可能白白养着你,跨组协调,跨项目协作是最基本的要求,所以如果技术不在某一个领域达到大牛级别,且这个技术领域要有比较强的生命力,也就是说它的技术前景要比较好,否则想靠技术生存一辈子,还是比较危险的。选定好技术领域,然后耐心学习,很多技术人员本身是对技术痴迷的一类,所以这一类人还是很有竞争力的,他们学习新技术,深化领域技术的主观能动性一般是很强的。相信真正爱技术的人,即使他不靠技术生活一辈子,也会一辈子畅游在技术的海洋中。

首先答案是肯定的,但因人而异。

如果基本功扎实,个人又对技术的提升有着狂热的追求,善于钻研,对新技术不抵触,学习能力很强的话,可以一直靠技术生存下去。可以一直战斗在研发的第一线。这只是本职工作。

另外,可以利用自己的技术能力去做些兼职工作。比如接些外包的项目做做也是蛮不错的!

还有,比如现在很多内容平台上可以发布一些文章,甚至付费课程。生存是一点问题都没有。

如果你足够牛叉,还可以组建团队做技术VC。

其实靠技术不是能不能生存的问题,而是能活得多好的问题!

但,如果上面的优势在你身上不存在,那就另当别论了。

其实现在很多人都在说,技术人员到一定年龄该转管理等等。我的观点是看个人特点再做决定,比如你很健谈,善于交际。可以转做销售,一个懂技术的销售该有多么牛叉?如果你思维缜密,表达清晰。可以转做售前,一个懂技术的售前该有多么牛叉?

总之,你懂技术,转做什么都牛叉

④ 程序员的长久路该怎样规划

软件开发之路是充满荆棘与挑战之路,也是充满希望之路。Java学习也是如此,没有捷径可走。梦想象《天龙八部》中虚竹一样被无崖子醍醐灌顶而轻松获得一甲子功力,是很不现实的。每天仰天大叫"天神啊,请赐给我一本葵花宝典吧",殊不知即使你获得了葵花宝典,除了受自宫其身之苦外,你也不一定成得了"东方不败",倒是成"西方失败"的几率高一点。
"不走弯路,就是捷径",佛经说的不无道理。
1.如何学习程序设计?
Java是一种平台,也是一种程序设计语言,如何学好程序设计不仅仅适用于Java,对C++等其他程序设计语言也一样管用。有编程高手认为,Java也好C也好没什么分别,拿来就用。为什么他们能达到如此境界?我想是因为编程语言之间有共通之处,领会了编程的精髓,自然能够做到一通百通。如何学习程序设计理所当然也有许多共通的地方。
1.1培养兴趣
兴趣是能够让你坚持下去的动力。如果只是把写程序作为谋生的手段的话,你会活的很累,也太对不起自己了。多关心一些行业趣事,多想想盖茨。不是提倡天天做白日梦,但人要是没有了梦想,你觉得有味道吗?可能像许多深圳本地农民一样,打打麻将,喝喝功夫茶,拜拜财神爷;每个月就有几万十几万甚至更多的进帐,凭空多出个"食利阶层"。你认为,这样有味道吗?有空多到一些程序员论坛转转,你会发现,他们其实很乐观幽默,时不时会冒出智慧的火花。
1.2慎选程序设计语言
男怕入错行,女怕嫁错郎。初学者选择程序设计语言需要谨慎对待。软件开发不仅仅是掌握一门编程语言了事,它还需要其他很多方面的背景知识。软件开发也不仅仅局限于某几个领域,而是已经渗透到了各行各业几乎每一个角落。
如果你对硬件比较感兴趣,你可以学习C语言/汇编语言,进入硬件开发领域。如果你对电信的行业知识及网络比较熟悉,你可以在C/C++等之上多花时间,以期进入电信软件开发领域。如果你对操作系统比较熟悉,你可以学习C/linux等等,为Linux内核开发/驱动程序开发/嵌入式开发打基础。
如果你想介入到应用范围最广泛的应用软件开发(包括电子商务电子政务系统)的话,你可以选择J2EE或.NET,甚至LAMP组合。每个领域要求的背景知识不一样。做应用软件需要对数据库等很熟悉。总之,你需要根据自己的特点来选择合适你的编程语言。
1.3要脚踏实地,快餐式的学习不可取
先分享一个故事。
有一个小朋友,他很喜欢研究生物学,很想知道那些蝴蝶如何从蛹壳里出来,变成蝴蝶便会飞。有一次,他走到草原上面看见一个蛹,便取了回家,然后看着,过了几天以后,这个蛹出了一条裂痕,看见里面的蝴蝶开始挣扎,想抓破蛹壳飞出来。这个过程达数小时之久,蝴蝶在蛹里面很辛苦地拼命挣扎,怎么也没法子走出来。这个小孩看着看着不忍心,就想不如让我帮帮它吧,便随手拿起剪刀在蛹上剪开,使蝴蝶破蛹而出。 但蝴蝶出来以后,因为翅膀不够力,变得很臃肿,飞不起来。
这个故事给我们的启示是:欲速则不达。
浮躁是现代人最普遍的心态,能怪谁?也许是贫穷落后了这么多年的缘故,就像当年的大跃进一样,都想大步跨入***主义社会。现在的软件公司、客户、政府、学校、培训机构等等到处弥漫着浮躁之气。就拿我比较熟悉的大连大工IT职业培训来说吧,居然打广告宣称"20多年的计算机职业教育,辽宁省十佳学校",殊不知中国计算机发展才几年,软件发展才几年,居然去报名的学生不少,简直是藐视天下程序员。培训出来的“程序员”大多不知道OO,OP为何物?社会环境如是,我们不能改变,只能改变自己,闹市中的安宁,弥足珍贵。许多初学者C++/Java没开始学,立马使用VC/JBuilder,会使用 VC/JBuilder开发一个Hello World程序,就忙不迭的向世界宣告,"我会软件开发了",简历上也大言不惭地写上"精通VC/Java"。结果到软件公司面试时要么被三两下打发走了,要么被驳的体无完肤,无地自容。到处碰壁之后才知道捧起《C++编程思想》《Java编程思想》仔细钻研,早知如此何必当初呀。
"你现在讲究简单方便,你以后的路就长了",好象也是佛经中的劝戒。
1.4多实践,快实践
彭端淑的《为学一首示子侄》中有穷和尚与富和尚的故事。
从前,四川边境有两个和尚,一个贫穷,一个有钱。一天,穷和尚对富和尚说:"我打算去南海朝圣,你看怎么样?"富和尚说:"这里离南海有几千里远,你靠什么去呢?"穷和尚说:"我只要一个水钵,一个饭碗就够了。"富和尚为难地说:"几年前我就打算买条船去南海,可至今没去成,你还是别去吧!" 一年以后,富和尚还在为租赁船只筹钱,穷和尚却已经从南海朝圣回来了。
这个故事可解读为:任何事情,一旦考虑好了,就要马上上路,不要等到准备周全之后,再去干事情。假如事情准备考虑周全了再上路的话,别人恐怕捷足先登了。软件开发是一门工程学科,注重的就是实践,"君子动口不动手"对软件开发人员来讲根本就是错误的,他们提倡"动手至上",但别害怕,他们大多温文尔雅,没有暴力倾向,虽然有时候蓬头垢面的一副"比尔盖茨"样。有前辈高人认为,学习编程的秘诀是:编程、编程、再编程,笔者深表赞同。不仅要多实践,而且要快实践。我们在看书的时候,不要等到你完全理解了才动手敲代码,而是应该在看书的同时敲代码,程序运行的各种情况可以让你更快更牢固的掌握知识点。
1.5多参考程序代码
程序代码是软件开发最重要的成果之一,其中渗透了程序员的思想与灵魂。许多人被《仙剑奇侠传》中凄美的爱情故事感动,悲剧的结局更有一种缺憾美。为什么要以悲剧结尾?据说是因为写《仙剑奇侠传》的程序员失恋而安排了这样的结局,他把自己的感觉融入到游戏中,却让众多的仙剑迷扼腕叹息。
多多参考代码例子,对Java而言有参考文献[4.3],有API类的源代码(JDK安装目录下的src.zip文件),也可以研究一些开源的软件或框架。
1.6加强英文阅读能力
对学习编程来说,不要求英语, 但不能一点不会,。最起码像Java API文档(参考文献[4.4])这些东西还是要能看懂的,连猜带懵都可以;旁边再开启一个"金山词霸"。看多了就会越来越熟练。在学Java的同时学习英文,一箭双雕多好。另外好多软件需要到英文网站下载,你要能够找到它们,这些是最基本的要求。英语好对你学习有很大的帮助。口语好的话更有机会进入管理层,进而可以成为剥削程序员的"周扒皮"。
1.7万不得已才请教别人
笔者在Martix与Java论坛的在线辅导系统中解决学生问题时发现,大部分的问题学生稍做思考就可以解决。请教别人之前,你应该先回答如下几个问题。
你是否在google中搜索了问题的解决办法?
你是否查看了Java API文档?
你是否查找过相关书籍?
你是否写代码测试过?
如果回答都是"是"的话,而且还没有找到解决办法,再问别人不迟。要知道独立思考的能力对你很重要。要知道程序员的时间是很宝贵的。
1.8多读好书
书中自有颜如玉。比尔盖茨是一个饱读群书的人。虽然没有读完大学,但九岁的时候比尔盖茨就已经读完了所有的网络全书,所以他精通天文、历史、地理等等各类学科,可以说比尔?茨不仅是当今世界上金钱的首富,而且也可以称得上是知识的巨富。
笔者在给学生上课的时候经常会给他们推荐书籍,到后来学生实在忍无可忍开始抱怨,"天呐,这么多书到什么时候才能看完了","学软件开发,感觉上了贼船 "。这时候,我的回答一般是,"别着急,什么时候带你们去看看我的书房,到现在每月花在技术书籍上的钱400元,这在软件开发人员之中还只能够算是中等的 ",学生当场晕倒。(注:这一部分学生是刚学软件开发的)

1.9使用合适的工具
工欲善其事必先利其器。软件开发包含各种各样的活动,需求收集分析、建立用例模型、建立分析设计模型、编程实现、调试程序、自动化测试、持续集成等等,没有工具帮忙可以说是寸步难行。工具可以提高开发效率,使软件的质量更高BUG更少。组合称手的武器。到飞花摘叶皆可伤人的境界就很高了,无招胜有招,手中无剑心中有剑这样的境界几乎不可企及。
2.软件开发学习路线
两千多年的儒家思想孔孟之道,中庸的思想透入骨髓,既不冒进也不保守并非中庸之道,而是找寻学习软件开发的正确路线与规律。
从软件开发人员的生涯规划来讲,我们可以大致分为三个阶段,软件工程师→软件设计师→架构设计师或项目管理师。不想当元帅的士兵不是好士兵,不想当架构设计师或项目管理师的程序员也不是好的程序员。我们应该努力往上走。让我们先整理一下开发应用软件需要学习的主要技术。
A.基础理论知识,如操作系统、编译原理、数据结构与算法、计算机原理等,它们并非不重要。如不想成为计算机科学家的话,可以采取"用到的时候再来学"的原则。
B.一门编程语言,现在基本上都是面向对象的语言,Java/C++/C#等等。如果做WEB开发的话还要学习HTML/JavaScript等等。
C.一种方法学或者说思想,现在基本都是面向对象思想(OOA/OOD/设计模式)。由此而衍生的基于组件开发CBD/面向方面编程AOP等等。
D.一种关系型数据库,ORACLE/SqlServer/DB2/MySQL等等
E.一种提高生产率的IDE集成开发环境JBuilder/Eclipse/VS.NET等。
F.一种UML建模工具,用ROSE/VISIO/钢笔进行建模。
G.一种软件过程,RUP/XP/CMM等等,通过软件过程来组织软件开发的众多活动,使开发流程专业化规范化。当然还有其他的一些软件工程知识。
H.项目管理、体系结构、框架知识。
正确的路线应该是:B→C→E→F→G→H。
还需要补充几点:
1).对于A与C要补充的是,我们应该在实践中逐步领悟编程理论与编程思想。新技术虽然不断涌现,更新速度令人眼花燎乱雾里看花;但万变不离其宗,编程理论与编程思想的变化却很慢。掌握了编程理论与编程思想你就会有拨云见日之感。面向对象的思想在目前来讲是相当关键的,是强势技术之一,在上面需要多投入时间,给你的回报也会让你惊喜。
2).对于数据库来说是独立学习的,这个时机就由你来决定吧。
3).编程语言作为学习软件开发的主线,而其余的作为辅线。
4).软件工程师着重于B、C、E、D;软件设计师着重于B、C、E、D、F;架构设计师着重于C、F、H。
3.如何学习Java?
3.1 Java学习路线
3.1.1 基础语法及Java原理
基础语法和Java原理是地基,地基不牢靠,犹如沙地上建摩天大厦,是相当危险的。学习Java也是如此,必须要有扎实的基础,你才能在J2EE、 J2ME领域游刃有余。参加SCJP(SUN公司认证的Java程序员)考试不失为一个好方法,原因之一是为了对得起你交的1200大洋考试费,你会更努力学习,原因之二是SCJP考试能够让你把基础打得很牢靠,它要求你跟JDK一样熟悉Java基础知识;但是你千万不要认为考过了SCJP就有多了不起,就能够获得软件公司的青睐,就能够获取高薪,这样的想法也是很危险的。获得"真正"的SCJP只能证明你的基础还过得去,但离实际开发还有很长的一段路要走。
3.1.2 OO思想的领悟
掌握了基础语法和Java程序运行原理后,我们就可以用Java语言实现面向对象的思想了。面向对象,是一种方法学;是独立于语言之外的编程思想;是 CBD基于组件开发的基础;属于强势技术之一。当以后因工作需要转到别的面向对象语言的时候,你会感到特别的熟悉亲切,学起来像喝凉水这么简单。
使用面向对象的思想进行开发的基本过程是:
●调查收集需求。
●建立用例模型。
●从用例模型中识别分析类及类与类之间的静态动态关系,从而建立分析模型。
●细化分析模型到设计模型。
●用具体的技术去实现。
●测试、部署、总结。
3.1.3 基本API的学习
进行软件开发的时候,并不是什么功能都需要我们去实现,也就是经典名言所说的"不需要重新发明轮子"。我们可以利用现成的类、组件、框架来搭建我们的应用,如SUN公司编写好了众多类实现一些底层功能,以及我们下载过来的JAR文件中包含的类,我们可以调用类中的方法来完成某些功能或继承它。那么这些类中究竟提供了哪些方法给我们使用?方法的参数个数及类型是?类的构造器需不需要参数?总不可能SUN公司的工程师打国际长途甚至飘洋过海来告诉你他编写的类该如何使用吧。他们只能提供文档给我们查看,Java DOC文档(参考文献4.4)就是这样的文档,它可以说是程序员与程序员交流的文档。
基本API指的是实现了一些底层功能的类,通用性较强的API,如字符串处理/输入输出等等。我们又把它成为类库。熟悉API的方法一是多查Java DOC文档(参考文献4.4),二是使用JBuilder/Eclipse等IDE的代码提示功能。
3.1.4 特定API的学习
Java介入的领域很广泛,不同的领域有不同的API,没有人熟悉所有的API,对一般人而言只是熟悉工作中要用到的API。如果你做界面开发,那么你需要学习Swing/AWT/SWT等API;如果你进行网络游戏开发,你需要深入了解网络API/多媒体API/2D3D等;如果你做WEB开发,就需要熟悉Servlet等API啦。总之,需要根据工作的需要或你的兴趣发展方向去选择学习特定的API。
3.1.5 开发工具的用法
在学习基础语法与基本的面向对象概念时,从锻炼语言熟练程度的角度考虑,我们推荐使用的工具是Editplus/JCreator+JDK,这时候不要急于上手JBuilder/Eclipse等集成开发环境,以免过于关注IDE的强大功能而分散对Java技术本身的注意力。过了这一阶段你就可以开始熟悉 IDE了。
程序员日常工作包括很多活动,编辑、编译及构建、调试、单元测试、版本控制、维持模型与代码同步、文档的更新等等,几乎每一项活动都有专门的工具,如果独立使用这些工具的话,你将会很痛苦,你需要在堆满工具的任务栏上不断的切换,效率很低下,也很容易出错。在JBuilder、 Eclipse等IDE中已经自动集成编辑器、编译器、调试器、单元测试工具JUnit、自动构建工具ANT、版本控制工具CVS、DOC文档生成与更新等等,甚至可以把UML建模工具也集成进去,又提供了丰富的向导帮助生成框架代码,让我们的开发变得更轻松。应该说IDE发展的趋势就是集成软件开发中要用到的几乎所有工具。
从开发效率的角度考虑,使用IDE是必经之路,也是从一个学生到一个职业程序员转变的里程碑。
Java开发使用的IDE主要有Eclipse、JBuilder、JDeveloper、NetBeans等几种;而Eclipse、JBuilder 占有的市场份额是最大的。JBuilder在近几年来一直是Java集成开发环境中的霸主,它是由备受程序员尊敬的Borland公司开发,在硝烟弥漫的 Java IDE大战中,以其快速的版本更新击败IBM的Visual Age for Java等而成就一番伟业。IBM在Visual Age for Java上已经无利可图之下,干脆将之贡献给开源社区,成为Eclipse的前身,真所谓"柳暗花明又一村"。浴火重生的Eclipse以其开放式的插件扩展机制、免费开源获得广大程序员(包括几乎所有的骨灰级程序员)的青睐,极具发展潜力。
3.1.6 学习软件工程
对小型项目而言,你可能认为软件工程没太大的必要。随着项目的复杂性越来越高,软件工程的必要性才会体现出来。参见"软件开发学习路线"小节。
3.2学习要点
确立的学习路线之后,我们还需要总结一下Java的学习要点,这些要点在前文多多少少提到过,只是笔者觉得这些地方特别要注意才对它们进行汇总,不要嫌我婆婆妈妈啊。
3.2.1勤查API文档
当程序员编写好某些类,觉得很有成就感,想把它贡献给各位苦难的同行。这时候你要使用"Javadoc"工具(包含在JDK中)生成标准的Java DOC文档,供同行使用。J2SE/J2EE/J2ME的DOC文档是程序员与程序员交流的工具,几乎人手一份,除了菜鸟之外。
J2SE DOC文档官方下载地址:http://Java.sun.com/j2se/1.5.0/download.jsp,你可以到google搜索CHM版本下载。也可以在线查看:http://Java.sun.com/j2se/1.5.0/docs/api/index.html。
对待DOC文档要像毛主席语录,早上起床念一遍,吃饭睡觉前念一遍。
当需要某项功能的时候,你应该先查相应的DOC文档看看有没有现成的实现,有的话就不必劳神费心了直接用就可以了,找不到的时候才考虑自己实现。使用步骤一般如下:
●找特定的包,包一般根据功能组织。
●找需要使用类,类命名规范的话我们由类的名字可猜出一二。
●选择构造器,大多数使用类的方式是创建对象。
●选择你需要的方法。
3.2.2 查书/google->写代码测试->查看源代码->请教别人
当我们遇到问题的时候该如何解决?
这时候不要急着问别人,太简单的问题,没经过思考的问题,别人会因此而瞧不起你。可以先找找书,到google中搜一下看看,绝大部分问题基本就解决了。而像"某些类/方法如何使用的问题",DOC文档就是答案。对某些知识点有疑惑是,写代码测试一下,会给你留下深刻的印象。而有的问题,你可能需要直接看 API的源代码验证你的想法。万不得已才去请教别人。
3.2.3学习开源软件的设计思想
Java领域有许多源代码开放的工具、组件、框架,JUnit、ANT、Tomcat、Struts、Spring、Jive论坛、PetStore宠物店等等多如牛毛。这些可是前辈给我们留下的瑰宝呀。入宝山而空手归,你心甘吗?对这些工具、框架进行分析,领会其中的设计思想,有朝一日说不定你也能写一个XXX框架什么的,风光一把。分析开源软件其实是你提高技术、提高实战能力的便捷方法。
3.2.4 规范的重要性
没有规矩,不成方圆。这里的规范有两层含义。第一层含义是技术规范,多到http://www.jcp.org下载JSRXXX规范,多读规范,这是最权威准确最新的教材。第二层含义是编程规范,如果你使用了大量的独特算法,富有个性的变量及方法的命名方式;同时,没给程序作注释,以显示你的编程功底是多么的深厚。这样的代码别人看起来像天书,要理解谈何容易,更不用说维护了,必然会被无情地扫入垃圾堆。Java编码规范到此查看或下载http://Java.sun.com/docs/codeconv/,中文的也有,啊,还要问我在哪,请参考3.2.2节。
3.2.5 不局限于Java
很不幸,很幸运,要学习的东西还有很多。不幸的是因为要学的东西太多且多变,没时间陪老婆家人或女朋友,导致身心疲惫,严重者甚至导致抑郁症。幸运的是别人要抢你饭碗绝非易事,他们或她们需要付出很多才能达成心愿。
Java不要孤立地去学习,需要综合学习数据结构、OOP、软件工程、UML、网络编程、数据库技术等知识,用横向纵向的比较联想的方式去学习会更有效。如学习Java集合的时候找数据结构的书看看;学JDBC的时候复习数据库技术;采取的依然是"需要的时候再学"的原则。
4.结束语
需要强调的是,学习软件开发确实有一定的难度,也很辛苦,需要付出很多努力,但千万不要半途而废。本文如果能对一直徘徊在Java神殿之外的朋友有所帮助的话,笔者也欣慰了。哈哈,怎么听起来老气横秋呀?没办法,在电脑的长期辐射之下,都快变成小老头了。最后奉劝各位程序员尤其是MM程序员,完成工作后赶快远离电脑,据《胡播乱报》报道,电脑辐射会在白皙的皮肤上面点缀一些小黑点,看起来鲜艳无比…… 拖起明天的梦想还得靠自己!

⑤ 40岁的程序员失业了如何自救继续找程序员的工作吗还是应该转行

每一个人都有中年危机,其实所谓的中年危机,大家除了关心自己的身体状况,此外最重要的无疑就是关心自己在职场当中的处境如何?最怕就是失业,一旦失业就失去了收入来源,生活当中所面临的种种问题都必须要靠经济支柱去解决,失去的收入就意味着这座大厦就要倒塌了。

也许大家认为程序员是一个高薪而且技术含量极高的职业。但是往往我们也发现,程序员要想能够在职业生涯当中获得比较长久的职业年限,确实是相当困难,毕竟很多人的职业生涯都是从大学毕业开始算起,在黄金的十年发展阶段,一旦面临到了35以及40岁这样的年龄阶段,大多数的在职程序员都已经从此激流勇退。

其实任何的一个职业都有它的一个生命周期,除非自己有能力有背景能够进入国企乃至公务行政系统,那就安枕无忧。否则大家即便是面临着中年危机,首要任务就是让自己保持一个健康的体魄,只有这样才能够真正扛起一个中年人的重担。

⑥ 程序员如何规划才能让职业生涯长期稳定呢大家有建议分享吗

对于软件开发人员来说,通常情况下,职业发展有几种选择:专注技术,成为技术专家;回到技术销售,技术支持等。所以,要想走得更远,必须要有过人的本事。随着技术的发展,从技术管理走向先进管理。这是大家都能看清楚的方向,都在朝着这些方向的金字塔尖努力。程序员要根据自己的基本素质和技术能力选择开发级别,由低到高逐步开发。也是一个具有相应素质的程序员一步步的发展轨迹,包括强大的技术背景和全面的管理能力,也就是所谓的“两条腿走路”的职业规划发展路线。“如果是这样的话,我相信你不会在35岁的时候倒闭。

3.实施路线。

初级程序员,中级,高级,系统分析师,项目经理,实施经理,实施总监。

4.销售路线

初级程序员,中级,高级,系统分析师,项目经理,实施经理,产品经理,售前顾问,销售经理。

⑦ 怎样成为一名牛逼的程序员

(1)坚持不懈地学习。学习新技术、新框架,不断更新自己的技能以跟上行业发展脚步,也可以多看一些成功程序员的读书心得经验分享。(2)实践多多。学以致用,反复练习,收获经验和实际的能力。(3)养成良好的编码习惯。编码前梳理思路,注重模块化和可重用性,保证程序的健壮性、可维护性和可扩展性。(4)勤于沟通。了解客户需求,积极沟通,及时反馈和解决问题,让客户满意,相互信任,构建良好的客户关系。(5)具备团队协作精神。学会合作,建立在团队工作中有效的沟通模式,提高效能,实现共同的目标。

⑧ 如何做一名优秀的程序员

首先就是你的目标就不明确,你先要确定自己打算向哪方面发展
当好一名合格的程序员不仅要有扎实的基础知识,还要多思考,多实践,勤看书,更要有团队合作精神,平时多和别人交流,俗话说:“三人行必有我师”,多上网看看一些资料,看看别人对同一问题的看发会有很大的启发,要知道不是你一个人在写程序而是和大家一起写程序,注重团队的力量!编程是一种艺术,要好好的发挥团队的力量把它做的漂亮,完美。

勤奋联系,多写一些程序,然后在根据程序代码多想想用多种方法去测试运行它`实习基地给我们提供了实际做一些项目的机会`我会借这个机会多学习`多思考,多实践。多看一些相关的书,不断提高自己。

我觉得做一名程序员是很难的,特别是做一名合格的程序员就更要严格要求自己,增加团队合作能力,不断提高自身水平。

1.1 程序≠软件
现在很多人以为程序就是软件,软件就是程序。事实上,软件和程序在20世纪80年代时,还可以说是等同的,或者说,在非pc领域里它们可能还会是等同的,比如说某个嵌入式软件领域,软件和程序可能是等同的。但是,在pc这个领域内,现在的程序已不等于软件了。这是什么意思呢?
1. 软件发展简述
在20世纪80年代的时候,pc刚诞生,这时国内还没有几个人会写程序。那么,如果你写个程序,别人就可以拿来用。这时候的程序就能产生价值,这个程序就直接等同于软件。
但软件行业发展到现在,这里以中国的情况为例(美国在20世纪80年代,程序已经不等同于软件了),程序也不等同于软件了。因为现在会写程序很容易,但是你的这个程序很难产生什么样的商业意义,也不能产生什么价值,这就很难直接变成软件。要使一个程序直接变成软件,中间就面临着很高的门槛问题。这个门槛问题来自于整个行业的形成。
现在,你写了一个程序以后,要面临商业化的过程。你要宣传,你要让用户知道,你要建立经销渠道,可能你还要花很多的时间去说服别人用你的东西。这是程序到软件的一个过程。这门槛已比较高了。
我们在和国内的大经销商的销售渠道的人聊天时,他们的老板说,这几年做软件的门槛挺高的,如果你没有五、六百万做软件,那是“玩”不起来的。我说:“你们就使门槛很高了。”他说:“那肯定是的。如果你写个“烂”程序,明天你倒闭了,你的东西还占了我的库房,我还不知道找谁退去呢。我的库房是要钱的呀!现在的软件又是那么多!”
所以,如果你没有一定的资产的话,经销商都不理你。实际情况也是这样的,如果你的公司比较小,且没什么名气,你的产品放到经销商库房,那么他最多给你暂收,产品销不动的话,一般两周绝对会退货。因为现在经销商可选择的余地已很多了,所谓的软件也已经很多了。而程序则更多,程序都想变成软件,谁都说自己的是“金子”。但只有经受住用户的检验,才能成为真正的“金子”。
这就是美国为什么在20世纪90年代几乎没有什么新的软件公司产生的原因。只是原来80年代的大的软件公司互相兼并,我吞你,你吃我。但是,写程序的人很多,美国的程序变软件的门槛可能比我们还高,所以很多人写了程序就丢在网上,就形成了共享软件。
2. 共享软件
共享软件是避开商业渠道的一种方法。它避开了商业的门槛,因为这个行业的门槛发展很高以后就轻易进不去了。我写个程序丢在网上,你下载就可以用,这时候程序又等于软件。共享软件是这样产生的,是因为没有办法中的办法。如果说程序直接等于软件的话,谁也不会轻易把程序丢到网上去。
开始做共享软件的人并不认为做它能赚钱,只是后来用的人多了,有人付钱给他了。共享软件使得程序和软件的距离缩短了,但是它与商业软件的距离会进一步拉大。商业软件的功能和所要达到的目标就不是一个人能“玩”得起来的了。这时的软件也已不是几个人、一个小组就能做出来的了。这就是在美国新的软件公司没法产生的原因。比如netscape网景是在1995~1996年产生的新软件公司,但是,两三年后它就不见了。
1.1.1 商业软件门槛的形成
1. 商业软件门槛的形成
商业软件门槛的形成是整个行业发展的必然结果。任何一个行业初始阶段时的门槛都非常低,但是,只要发展到一定的阶段后,它的门槛就必然抬高。比如,现在国内生产小汽车很困难,但在20世纪50年代~60年代的时候,你装4个轮子,再加上柴油机等就形成汽车。那时的莱特兄弟装个螺旋桨,加两个机翼,就能做飞机。整个行业还没有形成的时候,绝对可以这样做,但是,到整个行业形成时,你就做不了了。所有的行业都是这样的。
为什么网站一出来时那么多人去挤着做?这也是因为一开始的时候,看起来门槛非常低,人人都可以做。只要有一个服务器,架根网线,就能做网站。这个行业处于初始阶段时,情况就是这样的。但这个行业形成后,你就轻易地“玩”不了了。
国内的软件发展也是如此。国内的软件自从软件经销商形成以后,这个行业才真正地形成。有没有一个渠道是判断一个行业是否形成的很重要的环节。任何一个行业都会有一个经销渠道,如果渠道形成了,那么这个行业也就形成了。第一名的经销商是1994年~1995年成立的,也就是说,中国软件行业大概也就是在1995年形成的,至今才经历8年时间的发展。
有一种浮躁的思想认为,中国软件产业应该很快就能赶上美国。美国软件行业是上世纪80年代形成的,到现在已经发展了20多年了。中国软件行业才8年,8年才是一个懵懂的小孩,20多岁是一个强壮的青年,那么他们的力量是不对等的。但也要看到,当8岁变成15岁的时候,它真正的能量才会反映出来。
2. 软件门槛对程序员的影响
现在中国软件行业正在形成。所以,现在做一个程序员一定要有耐心,因为现在已经不等于以前了。你一定要把所有的问题搞清楚,然后再去做程序。
对于程序员来说,最好的工作环境是在现有的或者初始要成立的公司里面,这是最容易成功的。个人单枪匹马闯天下已经很困难了。即使现在偶尔做两个共享软件放在网上能成名,但是也已经比较困难了。因为现在做软件的人已经很多了。这也说明软件已经不等于程序了,程序也不等于软件。
程序要变成软件,这中间是一个商业化的过程。没有门槛以前,它没有这个商业过程,现在有这个行业了,它中间就有商业化的过程。这个商业的过程就不是一个人能“玩”的。
如果你开始做某一类软件的时候,别人已经做成了,这时你再决定花力气去做,那么你就要花双倍的力气去赶上别人。
现在的商业软件往往是由很多模块组成的,模块是整个系统的一部分。个人要完整地写一个商业系统几乎是不可能的。软件进入windows平台后,它已经很复杂了,不像在dos的时候,你写两行程序就能卖,做个zip也能卖。事实上,美国的商业编译器也不是一个人能“玩”的。现在你可能觉得它是很简单的,甚至linux还带了一个gcc,且源程序还在。你可以把它改一改,做个vc试一试,看它会有人用吗?它能变成软件吗?即使你再做个界面,它也还是一个gcc,绝对不会成为visual c++那样能商业化的软件。
可见,国外软件行业的门槛要比中国的高很多了。我觉得我们中国即使再去做这样的东西,也没有多大的意义了。这个门槛你是追不过来的。不仅要花双倍的力气,而且在这么短的时间内,你还要完成别人已经完成过的工作,包括别人所做的测试工作。只有这样,才能做到你的软件与别人有竞争力,能与它做比较。
1.1.2 认清自己的发展
如果连以上认识都不清楚,很可能就以为去书店买一本mfc高手速成之类的书,编两个程序就能成为软件高手。就好像这些书是“黄金”,我学两下,学会了vc、mfc,就能做一个软件拿出去卖了。这种想法也不是不行,最后一定能行,但要有耐心,还要有机遇。机遇是从耐心中产生的,越有耐心,就越有机遇。你得非常努力,要花很多的精力,可能还要走很多的弯路。
如果你是从mfc入手的,或是从vb入手的,则如要做出一个真正的能应用个人领域的通用软件,就会走非常多的弯路。直接的捷径绝对不是走这两条路。这两条路看起来很快,而且在很多公司里面确实需要这样的东西,比如说我这家公司就是为另一个家公司做系统集成的,那我就需要这样的东西,我不管你具体怎么实现,我只需要达到这个目标就行了。
任何软件的实现都会有n种方法,即使你是用最差的那种方法实现的,也没有问题,最后它还是能运行。即使有问题,再改一改就是。但是,做通用软件就不行了,通用是一对多,你做出来的软件以后要面向全国,如果将来自由贸易通到香港也好,通到国外也好,整个产品能销到全世界的话,这时候,通用软件所有做的工作就不是这么简单了。所以说,正确的入门方法就很关键。
如果你仅仅只是想混口饭吃,找个工作,可能教你成为mfc的高手之类的书对你就足够了。但是,如果你想做一个很好的软件,不仅能满足你谋一碗饭吃,还能使你扬名,最后你的软件还能成为很多人用,甚至你还想把它作为一个事业去经营,那么这第一步就非常关键。这时就绝对不能找一本mfc或找一本vb的书学两下就行,而是要从最底层开始做起,从最基本做起。
1.2 高手是怎样练成的
1.2.1 高手成长的六个阶段
程序员怎样才能达到编程的最高境界?最高境界绝对不是你去编两行代码,或者是几分钟能写几行代码,或者是用什么所谓的可视化工具产生最少的代码这些工作,这都不是真正的高手境界。即使是这样的高手,那也都是无知者的自封。
我认为,一个程序员的成长可分为如下六个阶段。
 第一阶段
此阶段主要是能熟练地使用某种语言。这就相当于练武中的套路和架式这些表面的东西。
 第二阶段
此阶段能精通基于某种平台的接口(例如我们现在常用的win 32的api函数)以及所对应语言的自身的库函数。到达这个阶段后,也就相当于可以进行真实散打对练了,可以真正地在实践中做些应用。
 第三阶段
此阶段能深入地了解某个平台系统的底层,已经具有了初级的内功的能力,也就是“手中有剑,心中无剑”。
 第四阶级
此阶段能直接在平台上进行比较深层次的开发。基本上,能达到这个层次就可以说是进入了高层次。这时进入了高级内功的修炼。比如能进行vxd或操作系统的内核的修改。
这时已经不再有语言的束缚,语言只是一种工具,即使要用自己不会的语言进行开发,也只是简单地熟悉一下,就手到擒来,完全不像是第一阶段的时候学习语言的那种情况。一般来说,从第三阶段过渡到第四阶段是比较困难的。为什么会难呢?这就是因为很多人的思想变不过来。
 第五阶级
此阶段就已经不再局限于简单的技术上的问题了,而是能从全局上把握和设计一个比较大的系统体系结构,从内核到外层界面。可以说是“手中无剑,心中有剑”。到了这个阶段以后,能对市面上的任何软件进行剖析,并能按自己的要求进行设计,就算是ms word这样的大型软件,只要有充足的时间,也一定会设计出来。
 第六阶级
此阶段也是最高的境界,达到“无招胜有招”。这时候,任何问题就纯粹变成了一个思路的问题,不是用什么代码就能表示的。也就是“手中无剑,心中也无剑”。
此时,对于练功的人来说,他已不用再去学什么少林拳,只是在旁看一下少林拳的对战,就能把此拳拿来就用。这就是真正的大师级的人物。这时,win 32或linux在你眼里是没有什么差别的。
每一个阶段再向上发展时都要按一定的方法。第一、第二个阶段通过自学就可以完成,只要多用心去研究,耐心地去学习。
要想从第二个阶段过渡到第三个阶段,就要有一个好的学习环境。例如有一个高手带领或公司里有一个好的练手环境。经过二、三年的积累就能达到第三个阶段。但是,有些人到达第三个阶段后,常常就很难有境界上的突破了。他们这时会产生一种观念,认为软件无非如此,认为自己已无所不能。其实,这时如果遇到大的或难些的软件,他们往往还是无从下手。
现在我们国家大部分程序员都是在第二、三级之间。他们大多都是通过自学成才的,不过这样的程序员一般在软件公司也能独当一面,完成一些软件的模块。
但是,也还有一大堆处在第一阶段的程序员,他们一般就能玩玩vb,做程序时,去找一堆控件集成一个软件。
现在一种流行的说法是,中国软件人才现在是一个橄榄型的人才结构,有大量的中等水平的程序员,而初级和高级程序员比较少。而我认为,现在中国绝大多数都是初级的程序员,中级程序员很少,高级的就更少了。所以,现在的人才结构是“方塔”形,这是一种断层的不良结构。而真正成熟的软件人才结构应该是平滑的三角形结构。这样,初级、中级、高级程序员才能充分地各施所长。三种人才结构对比如图1.1所示。
图1.1 三种人才结构对比
1.2.2 初级程序员和高级程序员的区别
一般对于一个问题,初级程序员和高级程序员考虑这个问题的方法绝对是不同的。比如,在初级程序员阶段时,他会觉得vb也能做出应用来,且看起来也不错。
但到了中级程序员时,他可能就不会选择vb了,可能会用mfc,这时,也能做出效果不错的程序。
到高级程序员时,他绝对不是首先选择以上工具,vb也好,vc也好,这些都不是他考虑的问题。这时考虑的绝对是什么才是具有最快效率、最稳定性能的解决问题的方法。
软件和别的产品不同。比如,在软件中要达到某个目标,有n种方法,但是在n种方法中,只有一种方法或两种方法是最好的,其他的都很次。所以,要做一个好的系统,是很需要耐心的。如果没有耐心,就不会有细活,有细活的东西才是好东西。我觉得做软件是这样,做任何事情也是这样的,一定要投入。

程序员到达最高境界的时候,想的就是“我就是程序,程序就是我”。这时候我要做一个软件,不会有自己主观的思路,而是以机器的思路来考虑问题,也就是说,就是以程序的思考方式来思考程序,而不是以我去设计程序的方式去思考程序。这一点如果不到比较高的层次是不能明白的。
你设计程序不就是你思考问题,然后按自己的思路去做程序吗?
其实不是的。在我设计这个程序的时候,相当于我“钻”入这个程序里面去了。这时候没有我自己的任何思维,我的所有思维都是这个程序,它这步该怎么走,下步该怎么走,它可能会出现什么情况。我动这个部分的时候,别的部分是否要干扰,也许会动一发而牵全身,它们之间是怎么相互影响的?
也只有到达这个境界,你的程序才能真正地写好,绝对不是做个什么可视化。可视化本身就是“我去设计这个程序”,而真正的程序高手是“我就是程序”,这两种方法绝对是不同的。比如,我要用vb去设计一个程序,和我本身就是一个程序的思维方式,是不一样的。别人也许觉得操作系统很深奥,很复杂,其实,如果你到达高手状态,你就是操作系统,你就能做任何程序。
对待软件要有一个全面的分析方法,光说理论是没有用的。如果你没有经过第一、第二、第三、第四这四个阶段,则永远到达不了高境界。因为空中楼阁的理论没有用,而这些必须是一步一步地去做出来。
一个高级程序员应该具备开放性思维,从里到外的所有的知识都能了解。然后,看到世界最新技术就能马上掌握,马上了解。实际上,技术到达最高的境界后,是没有分别的。任何东西都是相通的,只要你到达这个境界以后,什么问题一看就能明白,一看就能抓住最核心的问题,最根本的根本,而不会被其他的枝叶或表象所迷惑,做到这一步后才算比较成功。
从程序员本身来说,如果它到达这一步以后,他就已经形成了开阔的思维。他有这种开放性思维的话,他就能做战略决策,这对他将来做任何事情都有好处。事实上,会做程序后,就会有一种分析问题的方法,学会怎么样把问题的表象剖开,看到它的本质。这时你碰到任何具体的问题,只要给点时间,都能轻而易举地解决。实际上,对开发计算机软件来说,没有什么做不了的软件,所有的软件都能做,只是看你有没有时间,有没有耐心,有没有资金做支撑。
这几年,尤其是这两三年,估计到2005年前,中国软件这个行业里面大的软件公司就能形成。现在就已经在形成,例如用友,它上市后,地位就更加稳固了。其他大的软件企业会在这几年内迅速长大。这时候,包括流通渠道、经销商的渠道也会迅速长大。也就是说,到2005年以后,中国软件这个行业的门槛比现在还要高很多,与美国不会有太大的差别。此时,中国软件才真正体现出它的威力来。如果你是这些威力中的一员,就已经很厉害了。
别人可能知道比尔•盖茨是个谈判的高手,是卖东西的高手,其实,比尔•盖茨从根本上来说是个程序高手,这是他根本中的根本。他对所有的技术都非常敏感,一眼就看到本质,而且他本身也能做程序,时常在看程序。现在他不做董事长,而做首席设计师,这时他就更加接近程序的本质。因为他本身就有很开阔的思维,又深入到技术的本身,所以他就知道技术的方向。这对于一个公司,对他这样的人来说,是非常重要的。
如果他判断错误一步,那公司以后再回头就很难了。计算机的竞争是非常激烈的,不能走错半步。很多公司以前看上去很火,后来就
销声匿迹了,就是因为它走错一步,然后就不行了。为什么它会走错?因为他不了解技术的本质在哪里,技术的发展方向在哪里。
比尔•盖茨因为父母是学法律的,所以他本身就很能“侃”,很有说服力,而他又是做技术的,就非常清楚技术的方向在哪里,所以他才能把方向把握得很准确,公司越来越大。而别的公司只火一阵子,他却火了还会再火。就算微软再庞大,你如果不把握好软件技术的最前沿,一样也会玩完。就像intel时刻把握着cpu的最新技术,才能保证自己是行业老大。技术决定它的将来。

所以,程序员要能达到这样的目标,就要有非常强的耐心和非常好的机遇才有可能。事实上,现在的机会挺好的,2005年以前机会都非常大,以后机会会比较小。但是,如果有耐心的话,你还是会有机会的,机会都是出在耐心里。我记得有句话说“雄心的一半是耐心”,我认为雄心的三分之二都是耐心。如果你越有野心,你就越要有耐心,你的野心才有可能实现。如果你有野心而没有耐心,那都是胡思乱想,别人一眼就能看穿。最后在竞争中,对手一眼就看到你的意图,那你还有什么可竞争的?

1.2.3 程序员是吃青春饭的吗
很多人都认为程序员是三十岁以前的职业,到了三十岁以后,就不应再做程序员了。现在的很多程序员也有这种想法,我觉得这种想法很不对。
在20世纪80年代末到90年代初,那时软件还没有形成行业,程序员不能以此作为谋生的手段时,你必须转行,因为你年轻的时候不用考虑吃饭的问题,天天“玩”都可以,但是以后就不可能了。
据我了解,微软里面的那些高手,几乎都是四五十岁的,而且都是做底层的。他们是上世纪70年代就开始“玩”程序的,所以对于整个计算机,他们是太清楚了。现在有些人主观臆断地希望微软第二天倒闭就好了,但那可能性太小了。因为那些程序员是从cpu是4004的时候开始,玩到现在奔腾iv,没有哪一代东西他们没有经历过。
你知道他们现在正在玩什么吗?现在正在玩64位的cpu。你说你普通的程序员,有这个耐心吗?没有这个耐心,你绝对做不了,你也绝对做不了高手。他为什么能做?因为他不仅是玩过来的,而且他还非常有耐心,每一步技术他都跟得上,所以对他来说,没有任何的难度和压力。
因为计算机技术没有任何时候是突变的。它的今年和去年相差不会很大,但是回过头来看三年以前的情况,和现在的距离就很大。所以说,如果你每年都跟着技术进步的话,你的压力就很小,因为你时刻都能掌握最新的技术。但是,如果你落下来,别说十年,就是三年,你就赶不上了。
如果你一旦赶不上,就会觉得非常吃力;如果你赶不上,你就会迷失方向;如果你迷失了方向,你就觉得计算机没有味道,越做越没劲。当你还只是有个思路的时候,别人的产品都做出来了,因为你的水平跟别人相差太远,人家早就想到的问题,你现在才开始认识。水平越高,他就看得越远,那么他的思维就越开阔;水平越低,想的问题就越窄。
64位cpu是这个十年和下个十年最重要的技术之一,谁抓住这个机会,谁就能抓住未来赚钱的商机。cpu是英特尔设计的,对这一点他肯定清楚。举例来说,如果从64位的角度来看现在的32位,就像从现在的角度去看dos。你说dos很复杂吗?当你在dos年代的时候,你会觉得dos很复杂。你说现在的windows不够复杂吗?windows太复杂了,但是你到了64位的时候再去看windows,就如同现在看dos一样。
整个64位系统的平台和思维方式、思路都比现在更开阔,打个比方说,现在的windows里面能开n个dos窗口,每个dos窗都能运行一个程序。到达64位的时候,操作系统事实上能做到开n个x86,开n个windows 98,然后再开n个windows 95都没有问题,系统能做到这一步,甚至你的系统内开n个windows nt都没有关系。这就是64位和32位的差别。所以,微软的那些“老头”,四、五十岁的那几个做核心的人,现在正在玩这些东西。你说微软的技术它能不先进吗?是linux那几个玩家能搞定的吗?
微软的技术非常雄厚,世界计算机的最新技术绝对集中在这几个人手里。而且这几个人的思维模式非常开阔,谁都没有意识到的东西他早就开始做了。现在64位的cpu都出来一二年了,你说有什么人去做这些应用吗?没有,有的就是那几个unix厂商做好后给自己用的。

所以,追求技术的最高境界的时候,实际上是没有年龄限制的。对我来说,现在都三十三了,我从来没有想过退出这行,我觉得我就能玩下去,一直玩到退休都没有问题。我要时刻保持技术的最前端,这样的话对我来说是不困难的,没有任何累的感觉。
很多人说做程序不是人干的事情,是非人的待遇。这样,他们一旦成立一个公司,做出一点成绩,在辉煌的时候马上就考虑退出。因为他们太苦了,每天晚上熬夜,每天晚上烧了两包烟还不够,屋子里面简直就缺氧了,好像还没有解决问题。
白天睡觉,晚上干活,那当然累死了,这是自己折腾自己。所以,做程序员一定要有一种正常的心态,就是说,你做程序的时候,不要把自己的生活搞得颠三倒四的。如果非得搞得晚上烧好多烟才行,这样你肯定折腾不到三十岁,三十岁以后身体就差了。
事实上,我基本上就没有因为做程序而熬夜的。我只经历过三次熬夜,一次是在学校的时候,1986年刚接触计算机时,一天晚上跟一个同桌在计算机室内玩游戏,研究了半天,搞着搞着就到了天亮,这是第一次。然后在毕业之前,在286上做一个程序。还有一次就是超级解霸上市前,那时公司已吹得很大了,那天晚上没法睡觉。
一般来说,我也是十二点钟睡觉,第二天七点就起了。所以说,只有具有正常的生活、正常的节奏,才有正常的心态来做程序员,这样,你的思路才是正常的,只有正常的东西才能长久。搞疲劳战或者是黑白颠倒,时间长久后就玩不转了,玩着玩着就不想玩了。

⑨ 程序员竞争日益激烈,如何不断提升自己立于不败之地

能有这样的危机意识很重要,至少可以证明你还有进步空间,比那些当一天和尚撞一天钟的人强多了。

那么在想让自己如何立于不败之地之前是不是要先想一下,为什么这个行业的竞争会越来越激烈呢?

其实这也很好理解,一方面是技术在不断的更新换代,虽然编程的思想目前还没有什么太大的变化,但是具体的技术则是日新月益的。

另一方面每年都会有无数的新人涌入到这个行业中来,虽然软件开发还数于新兴行业,但毕竟并不是所有企业都能盈利,因此不可能把所有程序员都喂饱,因此,竞争才会越来越激烈。

明白了原因之后就可以针对原因找办法了,想要让自己可以保持长久的竞争力,一方面需要不断的更新自己的技能,也就是要不断的学习,当你比别人对于新技术的掌握熟练程度更高,自然也就有了更强的竞争力。

除此之外,如果你觉得自己的年纪不能再继续和年轻人拼下去了,那么要早做打算,程度员做的再久也只是个码农,而想要有更大的发展空间,就要考虑一下把自己打造成管理型的人才,这样当你可以从程序员转化成项目管理人员的时候,你的经验,你的身份,你的待遇,就不可同日而语了。

一个成熟且经验丰富的管理人员,基本就已经处在了不败之地了,至少程序员的竞争你不用再考虑了。

阅读全文

与如何把程序员做得长久相关的资料

热点内容
吃鸡手机国际服服务器超时怎么办 浏览:68
努比亚Z5无命令 浏览:640
展示网站云服务器 浏览:870
代码混淆器php 浏览:365
贝恩pdf 浏览:207
丙烯pdf 浏览:366
云服务器华硕 浏览:711
sublime3运行python 浏览:188
怎么把安卓视频传到苹果上面 浏览:81
手机拍鬼片用什么app 浏览:640
爬山虎app是干什么用的 浏览:505
有哪些写给程序员的歌 浏览:49
成都市命令 浏览:993
建立系列文件夹 浏览:983
苹果开机白屏带文件夹问号 浏览:733
体验服为什么服务器会关闭 浏览:41
酒店命令 浏览:750
中走丝线切割编程视频 浏览:80
衣服压缩袋手泵原理 浏览:714
通达信编程书籍 浏览:981