导航:首页 > 程序命令 > 怎么把程序员做的长久

怎么把程序员做的长久

发布时间:2022-12-13 11:50:42

❶ 怎样做一名高效率程序员

1、理解编程语言的原理

三流的人才懂应用,二流的人才懂开发,一流的人才懂原理。各种语言之间存在着相似的地方,掌握语言的原理是必不可少的。最重要的,让语言去适应项目,反之亦然。

2、向优秀程序员学习

你有一个苹果,我也有一个苹果,我们交换苹果,你我还是有一个苹果;你有一种思想,我也有一种思想,我们交换思想,你我就有了两种思想。

与优秀的程序员为伍,你将吸收的最实用的经验,这远比你一个人自学、死磕编程来的快一些。有一句话说到好,与臭棋佬下棋,棋会越下越臭。不可否认这样一个事实:和什么样的人在一起,就有什么样的格局,就会有什么样的人生。

3、了解数据结构和算法

如果你要成为一个高效的开发者,就必须学会快速排序、学会辨认O(n2)程序、学会编写递归函数。

学会多种语言,你便会更清楚不同的框架是相同问题的是如何解决的。尽可能去了解底层命令(plumbing),以便能够作出明智的决定(Web框架是怎么存储session状态的?Cookie到底是什么?)。

4、精通一个编辑器

高效开发者通常是用IDE编辑器吗?其实不是的,他们更常用的文本编辑器,因为这样更会学到东西。

如果使用编辑器选择通用的Emacs或Vim,自然是最好的。其次,挑选你的首选平台最支持的。使用宏,不断地写代码;使用Visual Studio或SublimeText的自动补齐功能。

5、整洁的代码胜过巧妙的代码

如果想让别人可以轻松读懂你编写的代码,请尽量使用最少的代码来完成任务。在编写代码过程中,遵循DRY(Don’t repeat yourself)的原则,使用明确定义的对象和库,将任务分解成小而简单的代码段。

6、掌握代码调试技巧

现如今市场和需求变化相当快,项目的周期有时就会缩短。一个月的工作计划,会缩短到2个星期。项目的压力难免会导致程序员的代码质量会有所下降!

因此,调试技巧在这样的环境下就显得尤为重要。高级程序员会在函数的开始和结束输出Log,把所有的参数和返回值打印到日志系统,便于追踪。在解决问题的过程中,使用开发工具一行一行进行调试,实时观看参数的变化。

7、重新回顾代码

重新去回顾和审视自己写过的代码,通常会有两种体验,一种是我怎么写了这么烂的代码;另外一种则是对自己写过的代码充满了成就感。回顾代码有时可以触发我们新的想法,甚至还能对编码有一个更深层次的思考。

❷ 遇到职业迷茫,程序员或者计算机这门技术型的行业真的可以做长久吗是不是 35岁就退役了

可以这样理解,搞计算机软件编程工作要求大脑要好,思维能力要强,脑力劳动特别强,所以年龄大了会跟不上,但是搞计算机硬件不会35岁就退役,只要有体能,动手能力强,多学习,工作到40、50岁应该没问题。仅供参考。

❸ 怎么做一个好的程序员

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

❺ 作为程序员,纯靠技术究竟能不能一直生存下去

一、不要以为只有学习技术才可以换来稳定的生活和高的薪水待遇

做技术的没有自己的时间,一定是个随时叫随时到的人。更可怕的是,会让你接触的人际关系非常单一,除了有限的技术人员之外你几乎见不到做其他行业工作和职位的人,你的朋友圈子小且单一。

相反那些从事售前和市场开发的朋友,却有更多的工作之外的时间,甚至他们工作的时间有的时候是和生活的时间是可以兼顾的,他们可以通过市场开发,认识各个行业的人士,可以认识各种各样的朋友,只有接触人,才能看到更多的商业机会和发展前景。

根据2018年中国程序员薪资生存现状调查报告

❻ 程序员未来前景如何大龄程序员出路在哪里

年龄大的普通程序员,将来的出路无非就是以下三个:
1、稳定地待在一家公司,有一定产出效率,成为一颗螺丝钉,不出彩也不出丑,就像之前棉纺厂的工人那样,直到这家公司不行了,找另一家,继续做个普通一兵。其实这事儿和几十年前的工人一样,只是时代不一样,职业的名字变了。
2、寻找相对优势,到稀缺你技术、能力、经验的地方,找到存在感。比如一线城市回退到二线、三线;比如互联网顶级公司的普通程序员进入小公司;比如互联网行业的普通程序员进入传统行业有软件部门的公司。
3、转行,想干什么干什么去,很多人认为,一个 35 岁以上的程序员相比较一个 20来岁的毕业生,精神状况、身体状况必定是不如刚刚大学毕业的年轻人,所以要尽早转行。那么问题来了,程序员是吃青春饭的吗?程序员的职业发展到底如何呢?
首先,我觉得时至今日,相比其他职业,程序员仍然是一个投入产出比比较高的职业。程序员不是一个“吃青春饭”的职业,而是一个常青的职业。程序员其实也并没有我们想象中那么累,很多互联网公司的工作环境、工作氛围、员工福利都是非常不错的:弹性工作,定期团建,免费健身;一日三餐、零食饮料应有尽有。对于头脑灵活、思维敏捷,但还没有明确职业目标的理工科毕业生而言,把程序员作为职业生涯的起点,应该会是一个不错的选择。以北京为例,应届毕业起薪在 8000-10000 元,比其他职业高出不少。程序员现在小蜜蜂云工作了解很多远程可办公的,全职兼职都是有的,可供的选择还是比较多的。
程序员在职业生涯第一个阶段,通常是 3-5 年。这个阶段要以职业探索为主,脚踏实地写好每一行代码。只有快速学习和成长,掌握过硬的专业技能,这样才能在职场立足,走好未来的路。现在程序员的职业领域已经细分到了令人发指的地步,比如:大数据工程师、云计算工程师、某某语言工程师、系统架构师、web 前端工程师、嵌入式软件工程师、数据库开发工程师等等。

❼ 干了两年程序员了,不知道下面的路该怎么走了,请前辈们指点下好吗

我有几个做程序员的朋友,因为我是做职业规划的,之前有朋友也咨询过我类似的问题,答复如下:

1.首先,程序员是非常枯燥的工作,做了大概两年左右都会有倦怠期,这个时候应该问问自己,我还要不要继续做IT类工作。

2.若确认继续做此类工作,那么有两个选择,第一是继续钻研技术,平时多到网络平台找同行交流或学习。第二是转运维类工作,我有两个朋友就是由编程转到了运维。其实还有第三,可以走管理方向,不过这个需要自己多学习管理类技能,同事也要有这方面的兴趣。

作为一名从业多年的程序员,同时也是一名教育工作者,我来回答一下这个问题。

对于从业两年的程序员来说,正处在技术成长期,如果未来想在技术领域走得更远,此时应该注重开发经验的积累,同时应该广泛涉猎各种技术体系,尤其要注重各种新技术的学习,包括大数据、物联网、云计算、区块链、人工智能等技术体系。对于程序员来说,在从业的最初五年,一定要多做“加法”,更多的技术储备能够为岗位升级奠定一个扎实的基础。

对于专注于行业领域的应用级程序员来说,还应该重视行业经验的积累,在产业互联网时代,行业经验对于程序员未来的发展有非常重要的影响。对于大部分基础知识比较薄弱的程序员来说,如果不能在技术研发的道路上走得更远,就应该考虑未来的发展方向,如果具有丰富的行业经验,会在很大程度上拓展自身的选择空间。从当前行业发展趋势来看,程序员可以考虑向产品经理、项目经理、行业信息化专家等方向发展。

对于从业两年的初级程序员来说,如果条件允许的话,还可以考虑通过读研来提升自身的岗位级别,目前有不少初级程序员都会选择考研。按照 历史 经验来看,大部分程序员在考研之后都会获得岗位升级,不少人在读研之后会选择进入互联网大厂发展,薪资待遇也有了一定程度的提升。从这个角度来看,程序员读研也是一个不错的选择。

最后,随着产业互联网的发展,当前程序员应该注重云计算平台、物联网平台和人工智能平台相关技术的学习,未来这些平台将有广阔的发展空间。

两年也就相当于是刚入行的一个程度,那这个程度就是要多努力干活,多学多练,想任何其他的都是白费功夫,因为你没有其他的时间积累,在二至四年的这个时间里,要把自己的工资技术水平提升到你所在的那个城市圈子里面的中上等的水平,然后你要有一个比较谨慎的思维,不要空有一个想法。

那么这个时候你个思想和你这个能力就不匹配了。我们首先要选择考虑的就是北上广深。你现在还可以努力干到35岁左右。另外技术这个行业它分为一个是偏技术型,另外一个是业务驱动型,还有就是属于技术骨干性。偏技术型的话,不建议你选这个,因为不管是程序员也好,前端也好,都是工程师,都是干活的,不搞科研,虽然很多it公司技术部要求很多,但是都是干活的,没有说太深的一些技术要求,基本上就是用于日常的技术啊bug。

另外一个是业务驱动型,也叫业务,就是你要主导需求就是客户你能找到自己的客户,然后还要和前端一起去搞定这些问题,你要有老板的一个思维,自己干的时间长了,那么你就能找到自己的这个路了,不管是你创业还是说去其他的地方去做都对自己非常有好处。

你现在考虑的可能就是说以后怎么发展他这个技术程序员发展的话一般是年龄平均到35岁左右的时候,你就可以通过前期的一些积累,然后铺垫到35岁的时候,你就可以去做其他的行业的,因为你到35岁的时候,不管是去面试或者是带领团队熬夜,很多时候有些东西都跟不上了,所以建议你到那个时候去转行。

你好,作为一个工作4年的同学,我想以个人经历回答下这个问题。对于工作两年的程序员来说,大都是处于技术的快速上升期,应该也接触了挺多的技术面,包括但不限于分布式、数据库、网络、大数据等,并且可能对某个框架或者技术有了自己的深入见解。

对于以后的发展,如果是想往 中间件方向发展 的话,需要掌握分布式原理、网络通信、消息队列、数据库操作、缓存等,大多数中间件都涉及到分布式支持。可以看几个不同类型的中间件的原理与设计实现,比如MQ可以看Rockermq,数据库可以看MySQL,缓存可以看Redis,网络通信库可以看Netty,配置中心可以看Apollo等,注意,每种类型的中间件或者框架重点学习一个即可,因为思想都是相同的,理解了一个之后在学其他的很快就能上手掌握。当然,除了自己的技术学习之外,一个好的平台也是很重要的,不仅仅能够认识一帮志同道合的朋友,还能有实际的业务平台去实现技术的价值,这里推荐阿里的中间件相关岗位,目前中国中间件团队的java水平基本是阿里最高水平了,在这里诞生了很多知名的开源软件。

针对1-5年的程序员关于技术点来说,可以参考芋道源码整理的下面一张图进行查漏补缺:

上面罗列的技术目前我也在学习中,对于技术人来说,知道自己想要什么,要比自己知道怎么要什么更重要。知道自己想要什么,你就会想方设法去实现它。不管怎样,脚踏实地做好自己的工作,学习技术,肯定没错。

说实话我对程序这东西一窍不通,但我知道不管什么事情没有了程序那就乱了,电脑没有程序就死机了,人干事情没有了程序那就没有头绪,我觉得你还是好好干吧,这个行业永远淘汰不了。永远是最需要的东西!

说实话,只是普通的编程圈子不会很大,跳出这个圈子会发现还有很多其他相关的职业。如果在一个小公司,程序员工资虽然偏高,但在运营商务销售其他职务心里多少还是会有些轻视,毕竟现在普通程序员太多了,大部分人做的东西千篇一律,而他们认为工资其实是靠他们的能力赚取的。

如果想在小公司发展,可以深入了解业务,和一些其他职位的主力人员维护好关系,倒时候想创业可以合伙,想转行也会轻松些。

如果想在大公司发展,可以走管理,大公司一般比较看重资历,学历,管理能力。

还有一种走技术路线的,一般只存在于大公司,这种部门在有的公司很闲只是撑个场面,有的是真正能做出实用的东西值得敬佩。

做任何行业都要坚持,兄弟你才做了两年,相当于是刚入门,以后要走的路还会很远。

就现在来说,程序员还属于是高收入行业,工作还比较好找,趁年轻时好好干,多积累一些经验,多做一些大的项目,以后的路会越走越宽。

不太清楚你目前的困惑点在哪里,是学习新技术感觉力不从心了?还是对技术没有兴趣了?还是不想当程序员了?还是对程序员的发展路线迷茫了?不管怎样,干了两年的程序员,对编程这个工作还是有些经验了,也能够解决工作中的一些技术问题,但还处于相对初级的一个水平,毕竟积累不太够。

建议继续做2-3年开发工作,提升编程水平,提升解决问题的能力,逐渐成长为公司的技术骨干。等到那个时候,你的选择会相对多一些,也会理智一些。例如:你在开发过程中,觉得自己更喜欢跟人打交道,想做项目管理,那么,你多做2年开发工作,并不耽误你后面转为项目经理。你可以将接下来的2年作为一个潜伏期,在做好本质工作的同时,注意一定要做好你的工作,你的工作做好了,自然会得到别人的尊重,也会赢得人脉,千万不可以为将来不做开发了,就开始敷衍、不用心,做好当下,再考虑将来的发展方向,是换一个公司,换一个岗位,还是换一个城市?毕竟程序员的待遇还是可以的,多做2、3年,没啥损失。

在迷茫的时候,不要做任何决定,静观其变。

大家好!我是键盘手,

关于这个问题我想说一下我个人的看法,我个人也是吃技术饭的,现在过了三十五岁了,打工已经没有公司要了,也不想和大学生去抢饭碗,去工作人在心不在。以前二十几岁的时候,总认为吃技术饭经验很重要,年龄越大经历越丰富,薪资就越高,而现实是,现在的公司一般不招三十五岁以上的人员,而且有些公司把三十五年以上的员工解聘掉,主要是人过了三十五岁,思想和创新能力、学习能力没有二十几岁时候强,所以对于技术员来说就是一道坎,很多人到了这个岁数都不敢随意跳槽,也不敢创业。

所以我个人认为如果你不是很喜欢这个行业,就早点作出选择,当然越早越好,如果你喜欢,那就深造下去,见意在三十岁之前能够有所作为,不要再给别人打工,我过了三十五岁才明白,打工是最不划算的买卖。

就这个问题,我根本不了解你的任何情况,我能指点个毛线。再说我还不是前辈。

干了两年程序员了,没有说干的好还是不好, 回答里面的各位大佬,你就认为人家 是干的不好,说不定这个哥牛的一B。

下面的路怎么走, 我不知道~ 我也是渣渣,不够格当人生导师~

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

软件开发之路是充满荆棘与挑战之路,也是充满希望之路。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程序员,完成工作后赶快远离电脑,据《胡播乱报》报道,电脑辐射会在白皙的皮肤上面点缀一些小黑点,看起来鲜艳无比…… 拖起明天的梦想还得靠自己!

❾ 如何才能修炼成一名不可替代的程序员,避免裁员危机

程序员,就是从事程序开发、程序设计、程序维护的专业人士。

作为一种专业性极强的技术性专业,程序员的工作难度非常高,只有专业技能水平高超的人才能在这个领域获得良好的发展前景。……那些实力不足的人,只能被最终淘汰。

因此,要想在程序员这一行里成为不可替代的人,避免自己被淘汰出局的情况,就必须具备以下几方面能力:

1,高人一筹的专业技能。

在职场上,要想确保自身生存,就必须具备一项专业技能。……要想确保自己不被淘汰,就必须具备高人一筹的专业技能水平。

因此,要想让自己成为不可替代的程序员,要想让自己避免被淘汰的情况,就必须确保自己的专业技能水平高人一筹。

2,强大的罗辑思维能力。

程序,是一个逻辑性极强的系统。

一个程序的各个部分之间、各项功能之间,都存在着极强的关联,也拥有着非常强的逻辑关系。

因此,要想编写出性能优异的程序,就必须拥有极强的逻辑思维能力。……这是确保自己拥有更强实力、确保自己不被淘汰的重要能力。

3,高超的数学水平。

程序的表象,是一段代码。而其核心,则是数学模型,是具体的算法。……只有具备高超的数学水平,才有能力编写出算法精妙、逻辑严谨的程序来。……这是自己具备更高水准的关键因素。也是自己高人一筹,不可替代的关键因素。

4,精通至少一门编程语言。

编程语言是程序员在编程时所用的工具。……只有熟练掌握手中的工具,才能让自己编写出优秀的软件。……编程语言有很多种,一个程序员不可能面面俱到。……但是一个合格的程序员必须掌握至少一门编程语言,这就是自己工作时最得力的工具。……运用这个工具,自己就可以编写出优秀的软件,就可以获得更好的业绩,最终成为不可替代的优秀人才了。……自己也就不可能被淘汰了……

❿ 程序员老了怎么办

很多人都是说程序猿是吃青春饭的,上了年纪的程序猿将会面临着脑力或者体力不支的问题,导致一些老程序猿不再被公司重用或者重视,甚至面临失业的危险。然而我却不这么认为,其实程序猿老了未必就没有用了,很多老程序还是大用用武之地的。

阅读全文

与怎么把程序员做的长久相关的资料

热点内容
小米sd卡解压 浏览:996
程序员那么可爱陆漓替老袁说情 浏览:28
当女程序员遇见问题 浏览:746
32位编译器什么意思 浏览:355
php多参数函数 浏览:17
通达信板块动作源码 浏览:751
matlab完全自学一本通pdf 浏览:250
php源码本地安装 浏览:961
服务器怎么用不会断电 浏览:301
主从服务器有什么用 浏览:213
jstlpdf 浏览:15
安卓原神在哪个app下载 浏览:808
单片机编程技术什么意思 浏览:104
e点课堂源码 浏览:46
免费打击垫app哪个好 浏览:532
程序员必装的6款软件 浏览:750
基于单片机的遥控器设计 浏览:521
安卓如何取消圆图标 浏览:11
收件服务器怎么样 浏览:48
建筑设计规范pdf 浏览:99