文字显示结果
组合搜索  计算机图书分类目录
 
程序员成长路线图--从入门到优秀
程序员成长路线图--从入门到优秀

关注程序员的技术成长与心理成长   探讨程序员关注的热点、重点、难点问题   系统揭示程序员成长阶段的各种问题   以随笔形式、促膝交谈的方式,易产生共鸣
出版社: 机械工业出版社   华章公司   
书 号: 9787111339137
作 者: 张磊   吉阳   N216   
 
 软件与程序设计类别

  综合
  C++
  VB
  JAVA
  .NET
  Delphi
  Kylix
  Pascal
  Python
  CORBA
  MFC
  Palm
  TCL/TK

 
相关图书
 
 
在线试读
 
 

所属类别: 软件与程序设计 -> 综合
出版日期:2011年5月
版别版次:2011年5月第1版第1次
印数  :3000  页数:250
附带物 : 无附带物
 

程序员成长路线图--从入门到优秀前言
前言:  只要在编程序就应该被称之为程序员。以这个标准来衡量,我可能是中国从事程编程工作时间最长的程序员之一。几十年前的我是一名程序员,几十年后的今天依然是程序员,未来几十年还会是程序员。  2008年我提出了EOM(企业经营模型)理论,并把EOM系列文章发表到博客园网站上,也许EOM对于普通的程序员显得过于理论和抽象,没有丰富的工作经历和一定的编程技术,一般人就很难理解,网上反应平平。2009年年末,为了让程序员能够通俗地了解EOM,于是我从程序员所关心的热门话题开始,由浅入深地发表了几十篇博文,最终让大家看到了... << 显示前言详情
 

程序员成长路线图--从入门到优秀内容简介
《程序员成长路线图--从入门到优秀》既不是纯技术文章,也不是纯个人传记,而是采用随笔形式,以促膝交谈的方式系统地讲解程序员成长过程,希望与读者产生共鸣,无论是新手还是成熟的程序员都可以受益。阅读本书,轻松中不乏经验之谈,随意中不乏中肯之言。本书以程序员的技术成长和心理成长为叙述的两条主线,希望成为程序员成长的良师益友。  作为IT人,谁不曾心怀梦想?谁不曾充满激情?  谁不曾遭遇编程时的各种痛苦?  谁不曾品尝过程序编成的喜悦?  ?不曾遇到跳槽或留守等各种十字路口的抉择?  谁不曾想尽快摆脱新手变成...
<< 显示内容简介详情
 

程序员成长路线图--从入门到优秀目录
前言
引言:我的程序员成长之路

第一部分  入门篇
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  为什么程序员不愿写文档
· · · · · ·
<< 显示目录详情
 
相关资源
引言:我的程序员成长之路
  程序员的成长经历往往是相似的,大部分的人走过了最前面的相同一段路,而有的人则走的更远。回首自己这些年来走过的历程,也许能让年轻的程序员少走一些弯路,成长的更快;或许更好一些,能让大家从中得到一些启发,早日进入优秀的程序员阶段,回归梦想,释放激情。
  第一阶段,最初是在学校里学习计算机基础知识,学习经典的程序设计语言,编写测试用的小程序。这段时间可以说是对计算机和程序设计的入门阶段。这个阶段主要是培养了自己对计算机软件的兴趣,打下了良好的计算机知识的基础。
  第二阶段,而后参加工作,从事计算机软件开发工作,按照工作要求,边学边编,终于可以让自己的程序投入运行了。这个阶段突然感觉到了自己的价值,感觉到软件的神奇,软件成了实用产品。这个阶段实现了学习到生产的过渡。
  第三阶段,随着工作的增加,开始编写各种程序,开发各种系统,这个时候忙于编程知识的积累和应用。应该说这个阶段自我感到很充实,有做不完的事,还属于程序设计的语言级阶段。
  第四阶段,随着编程技巧有了一定积累后,我(开始)想这样的问题:我是不是最好的程序员?我能否编写出最好的程序?这个阶段是一个反思的阶段。我对自己的要求是:不但要会编程序,而且要编好程序,从数量开始转向了质量。
  第五阶段,开始在提高自己的软件水平上做文章。经过各种系统开发,尤其是大系统的开发,发现了软件中有许多功能是重复的。因此,有一段时间把精力花在编制各种库函数上,通过不同系统调用相同的函数,来减少重复开发,实现功能共享。当时比较得意的是库函数不是我一个人在调用,而是整个项目小组都在调用,甚至不同的系统也能调用,从而体会到编写库函数特别有价值。这个阶段的标志是库函数,程序员水平上升到库函数那一级。
  第六阶段,到了库函数那个层次后,很快就发现,单单实现程序函数级的调用是远远不够的。当你做了很多项目,包括大项目和小项目,尤其是跨行业的项目之后,你就会把库函数的共享思想,用于项目开发。你就会想一个问题:为什么一个项目能有相同的构架?如果有相同的构架,那么开发就有了相对的标准,我们就有可能通过配置的方法实现相同构架的系统。于是我提出了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系统。
 
Copyright © 2010 TianMei Technology All rights reserved. To comment on this site
  辽B-2-4-20100065