《2022年程序员的发展 .pdf》由会员分享,可在线阅读,更多相关《2022年程序员的发展 .pdf(4页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、程序员人生一、为什么要做一个程序员可能这个问题很幼稚、太简单,但是每个程序员的答案并非相同的,在大众的眼里可能程序员是所谓的快乐白领人员,其实程序员的另外一面,不为大众所关注,没日没夜的工作、通宵达旦是家长便饭,整天和键盘打交道,枯燥的生活又有谁能体会?在这种情况下,如果你做程序员仅仅为了舒服、拿点程序员级别的工资,我劝你该行吧。做程序员就要有对软件失业的执著、对源代码近乎朝圣般的痴迷,这一切都不是一般人能忍受的,但是当你的产品,你的程序被用户认可了,成为一个合格的产品,这时候,带给你的是另一番喜悦;二、程序员终极目标1. 专家级程序员:专家级程序员对于所掌握的专业技术的熟练程度非一般程序员能
2、及,各类常见编程问题在他们手中都能迎刃而解,可以说这类专家“ 越老越值钱 ” 。2. 培训专家:不仅需要深厚的技术功底,同时还要具备优秀的沟通和表达能力,因为他们的主要工作不再是研发某种技术,而是传播技术知识。这条路很宽, 有一些优秀的技术培训师除了担任本职工作,还会兼职到大学里讲课。虽然培训专家的技术可能达不到专家程序员的水平,但是工作内容相对更为丰富,接触的人也更多。3. 技术总监:这条路线是从初级程序员成长为高级程序员之后,以做项目为工作重点,进而发展成项目经理、开发经理, 最终成为技术总监甚至公司副总裁。这些程序员走的是技术管理路线, 从做项目开始,逐渐积累管理经验,然后成长为优秀的技
3、术管理者。技术总监在公司甚至技术界的影响力非同一般,对于那些有志于成为公司领导层的程序员,是个很大的诱惑。4. 总架构师、总设计师:这类程序员的兴趣,不是某种特定的技术,而是偏重对软件产品或者软件应用项目的设计。如果将软件项目开发团队比作一个乐队,那么程序员就相当于一名乐手 (比如小提琴手、长笛手等),他们负责将自己的乐器演奏好;项目经理是乐队指挥,负责指挥和协调这个乐队的配合;架构师则相当于作曲家。从入门的架构师开始,逐渐成为资深架构师乃至总架构师。5. 创业:等到自己有了一定的技术积累,再掌握一些市场需求以及管理方法,他们会开始创业之路。一旦成功,这类人的影响力会非常大,像Google 和
4、雅虎的创始人,都是技术创业的成功典范。 但是这条路也是最艰辛的,有句话叫做 “ 不当家不知柴米贵” 不亲自创业的人也很难体会它的艰辛。创业涉及方方面面,稍有差池就会功亏一篑,投身创业的程序员并不少,但是真正能成功的少之又少。踏上这条路不仅需要过人的勇气和魄力,更需要坚韧不拔的毅力,以及深度的商业智慧,再加上市场机会,才能够赢到最后。6. 技术支持:进而发展成为精通业务的技术和行业咨询专家。这类程序员会在成为高级程序员之后加入销售团队,直接面对客户, 负责技术层面的问题。如果对某一行业 (比如银行、电信)非常熟悉, 久而久之, 就成为精通这个行业技术的专家;如果对于某一类解决方案(比名师资料总结
5、 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 4 页 - - - - - - - - - 如 ERP、CRM 、SCM)非常擅长,就可以发展成为跨行业的技术专家。会将自己从事技术工作的内容或心得写出来,然后发表文章赚取稿费。只要对技术足够精通,这类人是很受杂志欢迎的。在北美还有一种自由职业者叫做合同工,就是不定期的承接项目,在项目开始前签订协议,项目完成后结束合作。虽然这种职业目前在中国还不太多,但是其自由性对于很多程序员来讲,也非常有吸引力。= 无论走哪条路, 都有一个前提条件:
6、从初级程序员进阶为高级程序员。因为在这之前, 你甚至没有选择的机会。从初级进阶到高级,通常需要25 年的时间,因个人素质而异。程序员要耐得住寂寞和枯燥,年轻的程序员更要克服浮躁的心态。在职业生涯的起步阶段,很多人总会摸不着头脑,这时一定要静下心来,多向资深程序员求教,慢慢熟悉技术、熟悉开发流程和行业。有时你会感觉掉进了一个知识海洋,身边全是陌生的事物,很难抓住。所以就更要四处探路,逐渐寻找到方向,在寻找中进步。成功进阶为高级程序员,也并不意味着前途一片光明。如果说从初级到高级需要的是学习,那么从高级到专家,需要的是不断地尝试和坚持。比起前一个阶段,这个过程更为漫长,通常需要 58 年。在这期间
7、, 因为有了之前的积累,并且已经取得一定的成就,人会更加自信,同时也会更加彷徨,有一个问题会时常盘旋在脑中:将来的路到底要怎么走?这时就可以利用自己所积累的资源,多做一些尝试,尝试不同角色、不同的项目,与不同的客户打交道,时间长了,自然会找到最适合自己的发展方向。总结起来, 初级程序员和高级程序员时期,都属于职业生涯发展的第一阶段,我们可以称之为黄金时期。 这阶段程序员的年龄在2030 岁之间, 因为年轻, 所以更善于学习,而且体力充沛, 很多走过这个阶段的程序员有过通宵工作的经历。在这个时期, 你有大把的时间学习提高,为将来的事业打下坚实的基础。而一旦超过了30 岁,无论从体力还是精神上,都
8、会有所改变, 从 3040 岁是转型时期。 这时的程序员 (很多人已经不再编程)已经明确了自己的发展方向,并且向着目标努力,让自己有所建树。4060 岁是专家时期,至此,一名优秀的程序员会彻底实现“破茧成蝶”的愿望,成长为专家。三、如何实现目标1.有目标根据自身的能力和爱好确定自己的目标;大家目前的目标:应该是高级程序员和 项目经理2.坚持、用心把自己的目标进行分解,在每个过程都有用心去实现,并坚持到最后;3.养成良好的习惯程序开发是一件灵活性很强的工作。例如:变量I 增加 1,在 C 语言里面可以有:I、 I、I=1、I=I 1 等多种写法。但是,这并不说明编程就可以随心所欲,天马行空。良好
9、的编程习惯可以提高工作效率,减少不必要的失误。尤其是对初学者来说更是要注意的是:第一点:编程的时候,首先要建立好的数据结构。编程序的时候,如果在开始数据结构设计错误,那么在后来你不得不花大代价来修改程序。不要模块都写好了,突然发现基本数据结构不合理,结果全部推翻重写。“磨刀不误砍柴工” ;名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 4 页 - - - - - - - - - 要求每个员工开发项目的时候,自己开发的模块,在写代码之前要先理清思路,画结构流程图;第二点:代
10、码尽可能重用与模块化。无论是面向过程还是面向对象,代码重用都是基本原则之一。例如:如果要画一个青苹果和一个红苹果,就写一个函数来画苹果,把颜色作为参数传进去。这样只要调用同一个函数传递不同参数就可以画出不同颜色的苹果。这样做的好处一是程序?! 第三点:良好的编写风格。一个程序,不可能是绝对完美,以后永不用修改的。既然要修改,就必然要重读和理解原来的代码。而良好的编程风格,可以使人更方便和迅速理解程序的结构,从而可以最大限度地提高修改的效率。要求: 1.统一 Count 明显比叫iii 更容易被理解其真实的逻辑含义和数据类型。所以变量和函数名多起几个字母,让它有意义一点,将来理解也比较方便。2.
11、代码的逐层缩进格式。这几乎已经成为一种标准,这种格式使得代码之间的层次关系非常明显,对于程序的逻辑理?代码位置的有条理性。把相关功能的代码集中起来,放在一起,这样在以后阅读代码时候,可以尽量避免在不同文件模块之间频繁切换。由于要考不利于理解。如果循环的确太多、代码太长,就应该考虑重新再划分出更细的子函数。好的编程风格当然不止这些。3.注释必须都要写;第四点:注重程序测试,注意异常处理。这往往是业余编程爱好者和职业程序员的一个明显的差别。业余编程爱好者往往只注重程序可以正常运行,而职业程序员除此之外还必须关注程序在异常情况下也可正常运行,至少可以正常终止。而这是建立在对程序充份理解和测试基础上的
12、? 对于广大编程初学者来说,存在着这样普遍的认识:学习程序设计选择编程语言很重要,开口闭口就是VisualBasic 、Visual C 、 Delphi 、Power Builder 等一些现在比较流行的开发工具。经常看见有初学者问:我学C/C,究竟是学VisualC 好,还是学 Borland C Builder 好呢?或者就是要求在Visual Basic 和 Delphi 之间作出选择。学习程序设计和学习程序设计语言究竟是怎么一个关系?初学者究竟应该如何取舍呢?就此我们打个简单的比方:学习程序设计就好比学习射击,而程序设计语言就对应射击中的气枪、手枪、步枪等各种枪械。学习射击必须要选择
13、一种枪械,不可能没有枪还能学好射击的,也不可能同时学会使用所有的枪械。但是,如果掌握一种枪械的射击,再学别的也就触类旁通了。因为在熟悉一种枪械的同时,也学习了射击技术本身。再学其他的,自然事半功倍。学习程序设计也是一样,必然要从学习一门程序设计语言开始入手。同时在学习的过程中? 建议: 学习程序设计不必苛求一定要从某一种语言入手,可以在 Visual Basic 、Delphi 、Borland C Builder 或者 DOS 下的 Pascal、Turbo C(或 Borland C)中间选择自己比较容易接受的一种进行学习。从中主要学习的是编程本身的思想,学习的是用程序设计的眼光来看待问题
14、。或许,学习的效果不能马上看到,但是可以学到扎实的基本功,而这对于将来的进一步发展是有很大好处的。这些基本功包括:一、强化逻辑分析和建立数学模型的能力编程的目的是什么?是要解决现实中的问题。而现实中的问题是用自然语言描述的,名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 4 页 - - - - - - - - - 目前的计算机对其无法理解。我们要做的就是必须用计算机能理解的方式将问题“告诉”计算机。也就需要我们对现实问题进行逻辑分析,建立合理的数学模型,然后以程序和数据的
15、形式输入计算机,R、G、B 三色份量来各表示一种颜色,对于颜色的处理被转化为对 R、G、B 三个整数的处理。我们只要改变这三个整数,就可以将其改变成另外一种颜色。对于其它的现实问题,我们也要像这样使其可以被计二、数据结构和算法知识程序设计发展到现在,已经有了一套比较普遍、完整的数学模型(我们称之为数据结构)和对应这些数学模型的处理方法(也就是算法)。目前的程序就是以此为基础的。在程序员中间流传着一句经验之谈:“好的数据结构是程序的一半。”其重要性可见一斑。作为一个程序员三、丰富的实践经验程序设计本身就是一门实践性很强的学科。一个只存在于纸上的程序如同没有翅膀的鸟永远不能飞翔在现实的天空。任由代码写得再巧妙,风格再优美,也只是一张纸上的一连串字符而已。就好比是一份作文练习,或许写得很好,但是不交给老师去批阅,和一张白纸又有什么区别呢?!最后,作为一个程序员还有一点小要求:那就是身体素质要好,能熬夜才行四、软件设计1.设计按照标准文档(简介文件标准 ) 2.名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 4 页 - - - - - - - - -
限制150内