相关图书 |
|
 |
|
|
在线试读 |
|
 |
|
|
|
出版日期:2011年5月 |
版别版次:2011年5月第1版第1次 |
|
印数 :3000 页数:250 |
附带物 :
无附带物 |
|
|
程序员成长路线图--从入门到优秀前言
|
前言: 只要在编程序就应该被称之为程序员。以这个标准来衡量,我可能是中国从事程编程工作时间最长的程序员之一。几十年前的我是一名程序员,几十年后的今天依然是程序员,未来几十年还会是程序员。 2008年我提出了EOM(企业经营模型)理论,并把EOM系列文章发表到博客园网站上,也许EOM对于普通的程序员显得过于理论和抽象,没有丰富的工作经历和一定的编程技术,一般人就很难理解,网上反应平平。2009年年末,为了让程序员能够通俗地了解EOM,于是我从程序员所关心的热门话题开始,由浅入深地发表了几十篇博文,最终让大家看到了...
前言: 只要在编程序就应该被称之为程序员。以这个标准来衡量,我可能是中国从事程编程工作时间最长的程序员之一。几十年前的我是一名程序员,几十年后的今天依然是程序员,未来几十年还会是程序员。 2008年我提出了EOM(企业经营模型)理论,并把EOM系列文章发表到博客园网站上,也许EOM对于普通的程序员显得过于理论和抽象,没有丰富的工作经历和一定的编程技术,一般人就很难理解,网上反应平平。2009年年末,为了让程序员能够通俗地了解EOM,于是我从程序员所关心的热门话题开始,由浅入深地发表了几十篇博文,最终让大家看到了EOM是程序员成长中的一个重要的结果,是和程序员成长密切相关的。没想到这些文章一上网就引起网友得热议,无论是点击率,回帖数,还是作者网友之间交锋激烈程度都很高,而且转载甚多。我的朋友、同事、家人甚至出版社见此状况都极力建议我出书,让更多的程序员能够分享这种成长。 于是我在2010年5月正式和出版社签约,开始进行《程序员成长路线图--从入门到优秀》的撰写工作。在写作过程中,我和我的合作者对网上发表过的文章进行了整理,并根据本书的编写大纲增写了很多新文章,把这些文章按照程序员的成长阶段分为入门篇、成长篇、成熟篇和优秀篇,形成了程序员成长的一个完整的“路线图”。在这个过程中我重新回到了我成长的每个阶段,每个阶段的故事依然让我感到鲜活、感动和不忘。我努力地去发现程序员最关注的问题,努力地去分析这个问题后面的原因,?力地去给出解决问题的建议。我想我的努力会给读者带来不一般的体会。 本书适用于各层次的程序员:有刚出校门寻找工作的新手,有在工作岗位年限不长的程序员,有工作多年成长成为的项目经理、技术高手,有在编程事业中表现突出优秀人物。各层次的程序员都可以从中找到自己想要看的要点:例如:新手想知道如何找工作、如何面试、工资待遇、掌握什么语言、编程的前途如何等等一些经验和观点。成长期中的程序员关注的如何面对加班、如何提高自己的编程能力,如何确定自己的编程水平等等。优秀程序员可能关注优秀程序员应该具备哪些素?,其具备哪些技术水平,如何来证实优秀,软件发展方向是什么,自己事业未来发展方向是什么,如何实现自己价值等。 每个程序员成长之路各不相同,都会经历很多大大小小的成功和坎坷,很多人在这个过程中迷茫而不知所措,希望这本书能写成程序员成长的“圣经”,打破那种程序员只看技术类书籍就能提高就能成长的狭隘想法,希望程序员能多多看到其他程序员成长的经历,这些经历不但是技术上的,而且是在心理上的、职场上的、事业上的、梦想上的。程序员可以从中能学到很多成功的经验,避免常见的问题,使得程序员能够更快、更综合地?长起来,更好地在这个职业中有所发展。 在此,我要感谢我的合作者张磊、吉阳同事,我要感谢我的朋友、同事、编辑、家人给我的每一次的鼓励。他们中很多人都是我文章的第一读者,在我写作过程中给我提出了许多有益的建议。没有他们的鼓励和支持我可能无法完成这项工作。我还要特别感谢远在英国的女儿倪好,她的鼓励如同我给予她的鼓励一样,本书将是我给她的一件礼物,这份礼物伴随她快乐成长。 除了本书之外,我还打算在近期开始编写有关软件设计师、项目经理、EOM、NSS等方面的系列书籍。我想通过这些系列书籍与对于有志于我国软件业发展的各位同仁分享自己的经验和观点。 由于篇幅有限,话题广度和深度也不可能拓展太多,请有兴趣的读者访问我的博客,参与讨论程序员以及软件业相关话题。 博客:http://n216.cnblogs.com/ 邮箱:eom_n216@hotmail.com N216 2011/11/15
<<
显示前言详情
|
|
程序员成长路线图--从入门到优秀内容简介
|
《程序员成长路线图--从入门到优秀》既不是纯技术文章,也不是纯个人传记,而是采用随笔形式,以促膝交谈的方式系统地讲解程序员成长过程,希望与读者产生共鸣,无论是新手还是成熟的程序员都可以受益。阅读本书,轻松中不乏经验之谈,随意中不乏中肯之言。本书以程序员的技术成长和心理成长为叙述的两条主线,希望成为程序员成长的良师益友。 作为IT人,谁不曾心怀梦想?谁不曾充满激情? 谁不曾遭遇编程时的各种痛苦? 谁不曾品尝过程序编成的喜悦? ?不曾遇到跳槽或留守等各种十字路口的抉择? 谁不曾想尽快摆脱新手变成...
《程序员成长路线图--从入门到优秀》既不是纯技术文章,也不是纯个人传记,而是采用随笔形式,以促膝交谈的方式系统地讲解程序员成长过程,希望与读者产生共鸣,无论是新手还是成熟的程序员都可以受益。阅读本书,轻松中不乏经验之谈,随意中不乏中肯之言。本书以程序员的技术成长和心理成长为叙述的两条主线,希望成为程序员成长的良师益友。
作为IT人,谁不曾心怀梦想?谁不曾充满激情? 谁不曾遭遇编程时的各种痛苦? 谁不曾品尝过程序编成的喜悦? ?不曾遇到跳槽或留守等各种十字路口的抉择? 谁不曾想尽快摆脱新手变成高手以实现自身价值的最大化? …… 但是很多程序员在职业道路上只是自发成长,他们靠的是自己对技术的追逐和对项目开发经历的积累,靠的是所在企业或单位的成长环境。如果我们能够认识程序员的成长规律,注意每个阶段的问题,掌握每个阶段的技术和技能,在我们前进的方向上有的放矢,这样就可以减少失误,摆脱平凡,直达成功彼岸。 《程序员成长路线图--从入门到优秀》作者N216于2008年开始在博客园网站发表有关EOM(企业经营?型)的文章,随后陆续发表了EOM与程序员系列文章。这些文章深入讨论了程序员成长各个阶段的热点、重点、难点问题,并引起网友广泛关注。网友的评论与回复:观点丰富,言辞中肯,精彩纷呈。 在中国,作者N216作为编程时间最长的程序员之一,结合其数十年程序员的亲身经历,针对程序员成长各个阶段经常遇到的问题提出了自己的看法和见解。这些看法和见解为程序员提供了解开成长过程中的各种困惑的一把金钥匙。希望本书可以陪伴在程序员职业生涯的每个阶段,真正成为职业成长的行动指南。
入门篇: 程序员的梦想——中国的比尔·盖茨 语言选择与就业方向 选择大公司还是小公司 新手如何学习一门新的语言 新手应当具备的基本素质 成长篇: 加班,加班,加班 为什么程序员不愿写文档 为什么程序员的社会地位在下降 如何快速确定自身水平 程序员应该掌握的实用编程技能 成熟篇: 有关程序员的性别、年龄、个性、编程方法的话题 跳槽还是留守 你能当老板吗 谈谈程序的参数化 程序员成熟的标志 优秀篇: 成熟到优秀的瓶颈问题 制作有价值的软件才是程序员内在的目标 从程序制作到构架制作 从定制软件到通用软件 优秀程序员应该具备的素质
<<
显示内容简介详情
|
|
程序员成长路线图--从入门到优秀目录
|
前言 引言:我的程序员成长之路
第一部分 入门篇 1.1 程序员的梦想——中国的比尔?盖茨 1.2 谈谈程序员的基?知识 1.3 语言选择与就业方向 1.4 新手如何学习一门新的语言 1.5 理性看待考证热 1.6 选择大公司还是小公司 1.7 新手面试常见问题与对策 1.8 薪水的苦恼 1.9 求书、求网还是求人 1.10 新手看高手 1.11 新手应该具备的基本素质
第二部分 成长篇 2.1 加班,加班,加班 2.2 大量编程带来的快乐和烦恼 2.3 需求总是变化,程序总在修改 2.4 为什么程序员不愿写文档 · · · · · ·
前言 引言:我的程序员成长之路
第一部分 入门篇 1.1 程序员的梦想——中国的比尔?盖茨 1.2 谈谈程序员的基?知识 1.3 语言选择与就业方向 1.4 新手如何学习一门新的语言 1.5 理性看待考证热 1.6 选择大公司还是小公司 1.7 新手面试常见问题与对策 1.8 薪水的苦恼 1.9 求书、求网还是求人 1.10 新手看高手 1.11 新手应该具备的基本素质
第二部分 成长篇 2.1 加班,加班,加班 2.2 大量编程带来的快乐和烦恼 2.3 需求总是变化,程序总在修改 2.4 为什么程序员不愿写文档 2.5 为什么编程者总是高估自己低估别人 2.6 我?还是我们? 2.7 为什么程序员被喻为“IT农民工” 2.8 加薪的问题 2.9 门门通还是精一门 2.10 程序是给自己看的还是给别人看的 2.11 程序越长水平越高吗 2.12 动手能力强与技术水平低 2.13 调试高手和编程高手 2.14 如何快速确定自身水平 2.15 程序员应该掌握的实用编程技巧
第三部分 成熟篇 3.1 大项目或小项目都是程序员成熟之道 3.2 “顶梁柱”与“螺丝钉”的不同 3.3 如何对待新人 3.4 有关程序员的性别、年龄、个性、编程方法的话题 3.5 程序员的上升空间在哪里 3.6 跳槽还是留守 3.7 你能当老板吗 3.8 动手与动脑的关系 3.9 编程语言有高低之分吗 3.10 面向过程和面向对象的编程 3.11 功能和界面哪个更重要 3.12 你考虑过程序的复用问题吗 3.13 谈谈程序的参数化 3.14 漫谈程序的效率和水平 3.15 好的程序像一首诗 3.16 如何计算程序员自身的价值 3.17 程序员成熟的标志
第四部分 优秀篇 4.1 成熟到优秀的瓶颈问题 4.2 梦想回归 4.3 激情!激情!激情! 4.4 摆脱技术束缚,拓展业务视野 4.5 预测趋势,让你的目光看得更远 4.6 有意识才会有行动——谈谈市场意识 4.7 制作有价值的软件才是中国程序员内在的目标 4.8 从程序制作到架构制作 4.9 从定制软件到通用软件 4.10 何为EOM 4.11 用EOM的眼光批判“我要做全国最好的标准权限组件和通告权限管理软件”1 4.12 用EOM的眼光批判“我要做全国最好的标准权限组件和通告权限管理软件”2 4.13 用EOM的眼光批判“我要做全国最好的标准权限组件和通告权限管理软件”3 4.14 用EOM的眼光批判“我要做全国最好的标准权限组件和通告权限管理软件”4 4.15 程序员的春天:EOM与程序员 4.16 优秀程序员应该具备哪些素质
第五部分 附录 5.1 创新模型简介 5.2 项目简介 5.3 作者和网友之间的精彩回帖节选
<<
显示目录详情
|
|
相关资源
|
引言:我的程序员成长之路 程序员的成长经历往往是相似的,大部分的人走过了最前面的相同一段路,而有的人则走的更远。回首自己这些年来走过的历程,也许能让年轻的程序员少走一些弯路,成长的更快;或许更好一些,能让大家从中得到一些启发,早日进入优秀的程序员阶段,回归梦想,释放激情。 第一阶段,最初是在学校里学习计算机基础知识,学习经典的程序设计语言,编写测试用的小程序。这段时间可以说是对计算机和程序设计的入门阶段。这个阶段主要是培养了自己对计算机软件的兴趣,打下了良好的计算机知识的基础。 第二阶段,而后参加工作,从事计算机软件开发工作,按照工作要求,边学边编,终于可以让自己的程序投入运行了。这个阶段突然感觉到了自己的价值,感觉到软件的神奇,软件成了实用产品。这个阶段实现了学习到生产的过渡。 第三阶段,随着工作的增加,开始编写各种程序,开发各种系统,这个时候忙于编程知识的积累和应用。应该说这个阶段自我感到很充实,有做不完的事,还属于程序设计的语言级阶段。 第四阶段,随着编程技巧有了一定积累后,我(开始)想这样的问题:我是不是最好的程序员?我能否编写出最好的程序?这个阶段是一个反思的阶段。我对自己的要求是:不但要会编程序,而且要编好程序,从数量开始转向了质量。 第五阶段,开始在提高自己的软件水平上做文章。经过各种系统开发,尤其是大系统的开发,发现了软件中有许多功能是重复的。因此,有一段时间把精力花在编制各种库函数上,通过不同系统调用相同的函数,来减少重复开发,实现功能共享。当时比较得意的是库函数不是我一个人在调用,而是整个项目小组都在调用,甚至不同的系统也能调用,从而体会到编写库函数特别有价值。这个阶段的标志是库函数,程序员水平上升到库函数那一级。 第六阶段,到了库函数那个层次后,很快就发现,单单实现程序函数级的调用是远远不够的。当你做了很多项目,包括大项目和小项目,尤其是跨行业的项目之后,你就会把库函数的共享思想,用于项目开发。你就会想一个问题:为什么一个项目能有相同的构架?如果有相同的构架,那么开发就有了相对的标准,我们就有可能通过配置的方法实现相同构架的系统。于是我提出了IASG(交互式软件自动生成器)思想,并在C语言和其他一些语言实现IASG实例。记得最快的一次编写一个系统(公安自行车信息管理系统,主要用于丢失自行车信息登记)只用了3个小时(从需求到安装盘)。这个思想对我影响很大。这个阶段是上了一个很大的台阶,从程序上升到软件。核心思想就从库函数共享上升到软件共享。具体过程是建立一个系统的构架,构架中有许多共同的功能,例如,参数设置,用户权限管理,库表管理等等。另外,还提供信息建立查询开发模板,通过配置和特殊功能的编制就很快形成了一个系统。现在想起来IASG离我已经有20年了。 第七阶段,到了IASG阶段后,我发现无论技术如何提高,都无法改变开发落后于需求的现实。通俗地说就是:程序员水平再高,仅仅是拉车水平高,但是,应该在什么路上拉车程序员并不知道。如果这条路是一条光明的路,则程序员越拉越有劲,有奔头;如果这条路是条死路,则程序员拉功尽费;如果这条路是条漫长的路,不知明不知暗,则程序员可能要拉死为止。现实中程序员水平低、收入低、被称之“IT农民工”;系统需求不明确,系统开发周期一拖再拖;系统重复开发多,信息甚至不能在一个企业中实现共享,更不用说在企业之间,行业之间实现共享了;各种企业级的软件ERP、CRM、BI层出不穷,也没有哪个能满足中国的市场;各种新技术新概念也在不断出现,也没有哪种技术概念能真正发挥其内在价值,还是处于被学习被运用的下场。 这个阶段是程序员脱离了技术本身,开始思索开始求源的阶段。这个阶段是程序员的思想上有了飞跃。以前光拉车不看路,现在要抬头看路了。 第八阶段,有了抬头看路的想法,于是我踏上寻路之途。我首先看一下我们脚下的路是什么路,为什么这条路是那么不平坦、不宽广?从软件生命周期来看,软件主要由用户需求发起的,用户需求是软件生存的根本理由。由于企业的不同、用户的不同导致不同的需求,这种大量的无序的需求,这种需求驱动方式必然造成了我前面说的各种现象。这个阶段是寻找根源阶段,找到了根源,我们就可以有机会去解决问题。这个过程相对比较困难,这不仅需要编程技术还需要很多方面的知识,要了解这个根源就迫使你去学习和积累更多程序以外的知识。 第九阶段,当我找到软件是需求驱动方式之后,我就开始去考虑什么是用户需求?用户为什么要提出这些需求?我们可以更深入地分析用户需求产生的根源,我们能否让无序需求变成有序需求呢?当然这些问题我们都进行了深入分析,其过程也很难在这里进行展开说明。我只是说,最后结论是用户的需求来源于企业的经营。很多人思考问题还是就需求而需求,并没有站在企业经营角度上去考虑问题。千万不要小看这个变化,这个变化最终会导致一个理论的产生。于是我们尽可能地站在企业经营角度上看待企业经营方式、企业管理、企业信息化等。但是,我们最终要解决企业经营这个概念问题,如果我们都不能明确企业经营这个概念,或者我们不能科学地定义企业经营这个概念,那我们的一切基于企业经营的各种具体现象就会如同无本之源无序的泛滥。就像ERP、CRM等所谓企业信息化产品,都没有一个企业经营定义的支撑,只能就企业经营的某个方面提出解决方案。这些产品不缺乏需求的支持,缺乏的是最最基本的企业经营定义的支持。而这个概念就是EOM。 EOM是从定义企业经营角度入手,把我们今后要开展的各种研究和开发活动都放在一个理论可支持的基础之上。有了企业经营定义之后,我们才有可能来分析我们需要什么软件,我们的软件采用什么技术才能实现企业经营的目标。而程序员则通过EOM了解到企业经营需要什么样的软件,这个软件有多大的价值,这个软件采用什么技术才能实现,自己要提高什么方面的技术水平才能获得更大的价值。 这个阶段就是EOM阶段,通过EOM了解软件的根源和有价值的软件所在,进而选择自己的未来的方向。 第十阶段,当我建立了EOM之后,我便开始了EOM实现阶段。这个实现阶段分两个部分,通过两个部分的结合我们就可以逐步地看到EOM软件产品的实例,看到EOM的真正价值所在。 第一部分是EOM的业务实现。当我们明确了EOM之后,我们就可以根据EOM来重新规划企业信息化的整体构架,我们可以细分这个构架中的各种平台产品、各种通用产品、各种专业产品、可以细分出这个构架实现的各种技术构架和实现手段,可以细分出这个构架中的各种标准功能和标准信息。这样我们的程序员就可以根据自己的特长和爱好以及价值的判断来选择其中的软件产品和技术。在明确目标,看好大路的情形下,通过自己的努力,不断提高自己的各种技能水平,让自己的价值和?业经营价值有机的结合在一起,实现自己的理想。 第二部分是EOM的技术实现。有了EOM并根据EOM理论构建了企业信息化的构架后,我们就必须从技术上来实现这个构架,否则,这个构架永远停留在理论上的存在,不具有可行性。我们可以采用现有的各种技术来实现这个构架,但是,现有的技术都是基于原有的业务需求而建立和发展的,它适用于原来的应用对象。现在EOM是一个全新的企业经营理念,因此,我们必须建立一种新的软件构架来适应这个理念,来最好的实现这个理念。有幸的是,我们找到了称作 NSS(NEW Software Structure)软件新构架?技术,这个技术体现了适应企业经营发展方向,将软件合理分层,用最新的软件技术按照构架的方式规范软件开发的模式,实现最大范围的功能共享,实现软件的可扩展性。 这个阶段可让程序员在软件产品业务设计上,也可以在软件产品技术实现上等多个方面进行深入钻研,成为领域专家。这和我们平时涉及的简单的需求分析和简单的技术实现有着本质的区别。 从我程序员经历可以看出,程序员成长是无止境的,只要有的放矢地去努力,就会一个台阶、一个台阶登高向上的。我认为程序员成长经历主要有三大阶段,通用技术阶段、市场阶?、专业技术阶段。 1)通用技术阶段是程序员专注编程水平提高的阶段,也就是说“只拉车不看路”阶段。这个程序员能做的那个程序员也能做,程序员的替代性很强,程序员市场价值相对较低,程序员只关注编程技术本身。 2)市场阶段是程序员跳开技术层面开始考虑为什么要开发这个软件,这个软件有什么价值,程序员开始不甘于“农民工”作为,通过求软件之源来重新认知自己的方向。 3)专用技术阶段是程序员认知了这个软件和技术有很大的市场价值,全身心投入到这个领域中去,使得程序员在这个领域成为专家。程序员不但要懂技术,更要懂客户业务,技术和业务变得不可比,这种稀缺性造就了程序员极大的价值。 这三个阶段其实就是三个过程,每一个过程都是一次飞跃。程序员知道自己可以飞到多高,那是程序员的学习和眼界;程序员能飞到哪里,那就要靠程序员自身的努力。一个程序员可以没有能力,但是不可以没有眼界。
N216(原名:倪燕农),目前在某国有银行省分行信息科技部工作,从事项目开发和管理工作。1982年毕业于东南大学软件专业,曾在江苏无线电厂、某国有银行长期从事计算机软件开发和管理工作。他擅长汇编语言、C、VFP、VB、C#等开发语言,从事过操作系统级程序开发、各种应用系统开发,特别擅长开发管理信息系统。1990之前他曾在省级及国家级公开刊物上发表过7篇论文。主持开发过几十个大小项目,开发过公安人口信息系统、报表中心系统等大型软件系统,涉及公安、金融等多个行业。他提出了IASG(交互式软件自动生成器)、EOM(企业经营模型)、NSS(软件新构架)等创新概念。目前他计划编写有关软件设计师、软件项目经理、软件公司、企业信息化管理、EOM专著等系列丛书。博客:http://n216.cnblogs.com/,E-mail:n216@hotmail.com 张磊,毕业于南京邮电学院,硕士研究生,现在某国有银行省级分行信息科技部任助理技术经理,曾负责开发过国际结算部MIS系统。 吉阳,毕业于东南大学,现工作于某国有银行省级分行信息科技部,曾负责开发计划财务部MIS系统。
|
|
|