我应该成为我是一名程序员游戏程序员,还是去当一个软件销售

9879被浏览651718分享邀请回答4.5K157 条评论分享收藏感谢收起12722 条评论分享收藏感谢收起我们的服务
您还没有搜索过这里
400-656-3385
厚学股票代码:836425
咨询服务电话:
400-656-3385
当前行业学校火热入驻中,如果您有开设相关课程,&
怎么成为一名成功的程序员
400-656-3385
想学什么:
手机查看更方便哟~
沈阳市沈河区小西路76号科协大厦4F;于洪区白山路81-18号北美家园一期南门;浑南区三义街2号浦江苑一期东北门新浦物业会所
【课程简介】
世贸JAVA0基础学习 专注Java培训14年、实战培训、全面指导、保 障就业  Java革命开启,各行各业应用广泛,未来10年就业前景巨大,掌握热门语言,开启大数据“薪”时代,国内人才缺口40万,需求增长18%/年、就业范围覆盖各行各业。  世贸计算机的优势:  世贸人才计算机专业培训14载、校企联合,完整的教学体系,完善的服务,保 障就业,为您解除后顾之忧,0基础学习、免费试听,0风险,资深项目经理 授课团队+核心技术+实战操作+跟踪考核+企业实习  世贸IT特色  1.随企业需求,课程体系每年升级,定期微调,培养体系严谨、实用。  2.全部讲师拥有顶 级行业认证,丰富的相关行业从业经验及授课经验。  3.凡世贸人才国际教育计算机同学,所学课程在听课证有效期间内均可无限次重听。  4.全程指导课上采用案例式教学,通俗易懂,课下一对一辅导强化训练,学与练交叉进行强化记忆,你所要做的就是认真听,勤于问,乐于练。  5.5-8人精品小班-世贸人才国际教育计算机小班授课,保 证教学质量。  6.专业实验室-世贸人才国际教育建有CCIE实验室等专业IT实验室,全部采用原装进口企业/运营设备。  7.学员可以随时在教室学习,机房24小时开放谁时谁地练习  8.学不会,无限期免费重修;找工作,免费推荐。  9.VIP跟踪服务-同学就业后定期回访,助您的职业之旅一帆风顺  世贸人才国际教育软件开发课程---Java课程  任课讲师拥有Sun Java开发员认证,曾任职国内大型软件开发公司,主持过对外超大型软件开发项目。  lJavaSE  lJBDC及数据库  lHTML5+CSS+  lJSP/servlet  ljava框架+java Web开发  l项目实战  世贸IT国际考场  世贸人才国际教育计算机自有VUE国际考试中心,学员考试享全球最 低考试费用,真正做到培训-认证一体化服务。  世贸人才国际教育,拥有中国大陆首家千万级实验机房,200余组实验机柜,超2000万实验设备,实验设备包含通信、网络、安全、语音、无线、存储、虚拟化、服务器等多个方向。中国大陆地区最 高端IBM AIX实验设备,满配置IBM System P570及IBM DS4300磁盘阵列+EXP710扩展柜,单组实验设备价值超过150万元。  开课班型:  1.脱产班:每周一至周五09:00-16:30。  2.晚班:每周一至周五18:00-21:00  3.双休班:周六周日09:00-16:30  4.一对一VIP:时间可根据自身时间安排  总校地址:沈河区小西路76号科协大厦  浑南校区:三义街2号浦江苑一期东门  于洪校区:白山路81-18号 北美家园一期南门
【学校介绍】
  世贸人才培训中心是沈阳市政府 WT0 人才培训基地和国际语言机构、是由国际上著名的教育机构与国内对外经贸专业机构、外商投资企业服务机构、著名 MBA 学府联合创办的国际化、专业化的中外合作办学机构。  中心宗旨:培养通行世界的国际人! 通过系统的外语培训和专业训练,使学员具有国际化的语言、国际化的理念、国际化的知识、国际化的精神,以适应入世的新要求。
【上课地图】
沈阳世贸人才培训中心
沈阳市沈河区小西路76号科协大厦4F;于洪区白山路81-18号北美家园一期南门;浑南区三义街2号浦江苑一期东北门新浦物业会所
查询学校路线
选择出行方式:
出发地点:
发表时间:
3558人浏览
  要想在编程领域获得成功,仅仅对编程感兴趣是不够的,还必须充满激情,不断地学习更多关于编程的知识,还要疯狂的工作。  编程是一个没有限制的职业,要想成为一名成功的程序员,必须超越自身存在的局限性。程序员职业生涯的开始阶段会面临很多挑战,有一些人会选择放弃,只有很少的人会坚持奋斗,艰苦的工作,最终成为这个领域的大师。  成为一名成功的程序员的要求  1.愿意学习新技术  技术在不断的更新,以往学到的和掌握的东西很快就会过时。因此,作为一名程序员,需要更新自己的技能,走在技术的最前沿。市场上出现的每一项新技术,通常由一些变化的流程和语法组成,而基本逻辑是一样的,所以掌握它还是比较容易的。  2.调试技能  程序员是编写代码的,当软件出现问题时,要能够快速有效地解决。  因此,在开发程序时,编写一个适当的流文档,这样可以非常快速地研究代码,并尽快找到问题。通过编写一个适当的文档,可以快速地调试程序,从而节省不少时间。  3.解决问题的能力  普通的程序员拿到一个项目模块时,他们就开始编写代码。但是对于那些会被标记并通知团队领导或项目领导的问题代码,成功的程序员会试图寻找它的根源。因为项目需求已文档化项目开始之后,或者项目完成之后,总会出现一些问题。所以有必要在问题出现之前找到它。  此外,也要尽快找到解决问题的方法。  4.对工作的热情  程序员的工作时间可能是朝九晚五,当对工作有足够的热情时,不要下班了就走,而是直到工作完成为止。这并不是说,如果没有得到解决方案,就整天无所事事,如果接近尾声,那就努力完成它。  保持热情,公司领导会对你表示欣赏,而当处于一个好的环境时,热情也会增加。  当然,当没有工作任务的时候,不要只是坐在那里,可以尝试开发一些新的应用程序,如游戏、拼图、聊天应用等,这将有助于使工作更有激情。  5.临危不乱  由于项目时间十分紧迫,编程可能成为一种超有压力的职业。还有一些时候,我们似乎找不到任何解决办法。一个糟糕的程序员会出现死机或停止工作,但伟大的程序员却能平静地处理紧张的情况,然后继续工作。  6.懒惰的有效率  当项目有大量的任务和足够的时间来完成,只有懒惰的程序员才会找到更好最快的解决方案,因为他知道如何减少工作量,以便做更多的事情。  如果想找到最 好的方法,那就问问懒惰的人,懒惰的人总是试图找到最 好、最快、最有效的方法。  7.处理失败的能力  作为一名程序员,很少会在第 一次尝试中就获得成功,失败总是不可避免。所以把失败当作挑战,而不是被击败的标志。坚持并且有耐心对于编程是非常重要的。  8.愿意研究  编程语言只是成功拼图的一部分,优秀而成功的程序员总是试图在编写代码的同时帮助解决业务问题。做到这一点,就需要做一些深入挖掘的工作。  9.团队合作的心态  开发人员总是需要与团队一起工作,在团队成员的帮助下,比如设计人员、业务人员、分析师和销售人员,才可以非常有效地实现最终想要的结果。  而在和团队一起工作之前,可能永远不会达到目标。  10.业务的视角  成为一名It公司的程序员很容易,但有理想的程序员总是专注于业务目标。这能够让他超越仅仅实现公司领导对应用程序的想法。只有专注于业务的程序员才能为一个可能提升效率和运营的新项目提出建议。
继续浏览有关
个性定制课程
周一至周日
08:00-21:302390被浏览93540分享邀请回答/subject/6860890/其中诠释了什么是真正的黑客精神的意义、计算机对人类进步的意义、一种文化是如何形成的,以及由此可以了解到计算机革命的过程、计算机游戏的衍生和发展、以及第三代黑客(也被称为游戏黑客)感觉似乎能作为对DOOM启世录中所没有描述到的更早期的时代的一个补充 -----------------------------------------------编程语言/C++------------------------------------------------------------------5.另一方面,上面资料基本都有提到C++,题主的题目也有谈到在学习C++关于C++的学习:看过的学习介绍性质的资料里,感觉可以推荐阅读刘未鹏(Pongba)博客中的部分内容,如这两篇:
如果对更多的相关博客感兴趣,也可以留意其文章下的回复、友情链接(链接了很多价值博客)等等.....顺藤摸瓜可以了解到更多其他的相似的个人博客。
如他常提到的并推荐的g9(g9yoayun) 孟岩(myan).....(之前提到的云风 也有出现在他的友情链接里) 这两篇文章或许可以用以作为对行业情况的一个间接了解(其中第二篇里还包括了云风给出的建议) ,或许都是属于能侧面反映出思维逻辑的那种文章:什么是你的不可替代性和核心竞争力 怎样花两年时间去面试一个人另外他还写过一篇文章
也可以作为一种对学习状态和探索精神的参考吧如果对获得和判断信息以及利用信息平台存在一些困扰,最后可以推荐一篇 的文章,可以提供很多其他相关思路和线索:不上大学,你可以学些什么? ----------------------------------------------------------------------------------------------------------------------------------------最后如果回到学习编程本身,谈到该如何学习它,该注意什么以及怀着怎样的心态,觉得这篇文章《》里对一些迷思的分析挺有价值(警惕学习本身 专注于创造 保持初心 慎重被标签化.....)或许可以推荐阅读若对类似上文提及的刘未鹏的带有激励性质的经历故事很感兴趣的话,网络上也还有一些其他领域的类似记录关于经历的文章可以搜索===================================================================-------------------------------------游戏程序员?-----------------------------------------------------=====================================================================上面的资料的概览,大概对游戏编程(或许上面说的更偏向3D引擎方面 )营造出一个范围性和概念性的感觉。诸如上述资料也直观的引出了一个迷思:上面那么多东西是否要都学?那么多书是否全要看完?游戏程序员到底是干嘛的?所以这里有引出些关于游戏程序员分工的资料:如博客的文章《》中的一段话:一个游戏通常会由不同的人员制作,编程人员大概可以分为做Technology、Toolset、Gameplay等领域。Technology 指做游戏引擎核心部份,或客制化第三方的游戏引擎。Toolset 包括面向不同使用者的软件工具,从Content pipeline (如汇入汇出档案)、Asset Management、Level Editor及其他编辑工具等。而Gameplay 是指游戏内容中的行为部份,可以分为游戏的核心行为(如人物控制、战斗系统),及为个别人物及关卡编写的行为(如NPC对话、AI、任务、场境中的trigger等等)。关于详细分工的资料,直观感觉大多以Technology为主(包括文章开头几段引入的资料)
而关于Gameplay的资料似乎较少,但并非不重要,这方面可以参考回答:
也有很多关于探讨 编程开发书籍的反思 和 游戏引擎程序员面对的技术复杂性 等主题的文章也会有涉及分析到一些上述片段中提及的问题,也会谈到一些现象,应该可以帮助完善思考,有启发性如文章《》
以及逍遥剑客的《》 也谈到了一些现象和误区,或许值得留意?总而言之,关于游戏行业的整体认识和具体分工的内容,一些讲游戏引擎使用和游戏设计的书籍一般也都会有较系统的介绍,大同小异...
学校的图书馆里应该能很轻松的找到很多本去对比的进行阅读,这方面书籍在知乎上一些关于游戏设计的回答中已有比较全面的总结,也有很多相关资料整理。以下是知乎上一些之前自己查找时,印象里和该话题有关的感觉蛮不错的问答拓展:-1 .
-9. 另外,关于IOS游戏开发和Unity3d似乎是当下(2013)的相关热点关键词 如:1.Unity 这个 3D 引擎很厉害吗?听说可以完成各种终端的游戏研发?
2. 创办游戏科技公司,开发 iOS、安卓平台上类似《和风物语》这样的游戏,需要多少资金、什么样的团队、多长时间?
--------------------------------------------------独立游戏与游戏开发---------------------------------------------
上面资料偶尔会谈及【独立游戏】,况且就算不看那些,这几年“独立游戏”也已然早就成了一个热词儿了..(且越来越热)关于【独立游戏】 可以先从独立游戏制作人作为最要的切入点
世界上有很多,国内最近比较知名的两位:
*. ( JenovaChen《旅途》的作者)
*.(Soulfram 《雨血》的作者)他俩的经历的相关报道也是自己了解到独立游戏领域的一个契机,关于他俩网易的见证专题之前有做过很全面的介绍了
话说后者在知乎也有过注册:---*补充1: 前不久()
GADIOPRO VOL.125也有对陈星汉进行一次采访~
(时代需求 主流文化 艺术与媒介 个性与愿景 仙剑与梦想 森林内外与市场 游戏粉丝与艺术工作者....)
----*补充2:(2014 2 )李姬韧对2013年GDC上陈星汉的演讲Designing Journey进行了听译
知乎上其实也有很多独立游戏开发者存在/活动着(并且会越来越多) ,如这个话题下也已积攒了很多相关的回答了: 社交网络上活跃的开发者数量很大,低调潜伏踏实做事的,活跃爱热闹的都有在偶尔留意的过程中,慢慢能够发现,其实观察同行的活动这件事,除了偶尔能获得的一些有用的信息和间接的激励外,或许也有从他们的一些行动与言谈中观察到他们自己可能都并未发觉的不足这一层意义; 个人感觉,分解并引申开来,大概 一来有助于[自我反思] ,二来也有助于帮助自己之后[识别”真正的前辈“和“志同道合人”] 吧。有能量又有趣的同道中人也真的很多,如果单纯只是为了罗列的话也真的很想把每个自己感兴趣且在关注的人都介绍一遍。
只不过,真正适合自己去学习和了解的人还是只有靠自己去观察才最合适,志趣相投的人相信也终归会相遇?这里之前曾推荐了一些主要围绕IN星球的,相对活跃度较高且我之前关注稍多些的用户。不过现在还是觉得作为补充,仅简化为主的梳理几个用户作为开展关注的初始引子好了,之前太个人化了描述也太复杂了,仔细想来并不合适 :*
关键词: ludumdare
大学生信息技术比赛
*团队与王熠
图形学 艺术设计
具体参考:《》
(你在VICE的这个群英会系列里还能看到更多~ )
*音乐创作者 Lanx
上面正好提到了群英会系列 ;正好私心推荐下这位哥们LANX的音乐:)
*独立游戏开发 [大叔UncleBig2D]
*[南塔斯] :关卡设计 独立游戏开发
写过上文提到过的有启发性的文章:《》
-----他15年-&16年记录的回忆性质的那篇长文不错,包含了近几年大家有目共睹的蛮多标志性的递进节点,结合他个人的感悟和思考,蛮值得一读
*现在落点于游戏文化传播的 [游戏领航员]
最早有翻译游戏设计系列视频的
《额外加分 Extra Credit》
* 独立游戏开发 [] 这个估计不用多介绍,
这一年以来了,不做游戏但常爱看B站的应该也有遇到:持续是一种力量也是一种意识,值得思考与学习。
拓展可参:
--(暂时还未看到有类似上文的那种媒体的专访文出现,但或许以后该有的早晚会有? ——那种文的一种便捷之处便是就是信息密度含量够大,帮你快速了解一个人)
另外我自己搜索的时候发觉, [游戏开发日记]
或许也可以作为一个当你日后想看到类似内容时去进行搜索可用的关键词,刚才搜了下有很多类似的记录帖,或许观察和对比或许也是学习过程的一部分豆瓣上相对来看暂时感觉似乎不是很多(其实应该也有很多)关注过的人中,印象里暂时活跃度比较高的主要是[]可参见回答:
结尾捎带补一个很喜欢的关于游戏的相册: 《》===========================================================
------------------------------------------后记 更好的学习与线索----------------------------------------------------
================================================================最后顺带分享一些关于学习方面的线索用以辅助主线的学习(不仅仅游戏开发的学习):上面有提到过刘未鹏,其实我们还可以此为契机,顺带了解一下豆瓣上一些会被称为学习型豆友 的群体,这个称呼怎么来的不知道,就字面意思理解吧,大概也因为豆瓣还可以被用作一个很好的学习管理工具吧;网上已有很多帖子进行过类似总结(上面提到信息平台的时候提及的阳志平也与此有关联)与此相对应的这个主题的相关的文章 :1.Azeril 的从哪里开始学习?——知识、学习、个人提升类站点分享
2..豆友S.A.M 转载伊卡洛斯的读书的迷思三部曲 :谈读书的方法、分类、成长模式的对比...
3.Elact的经典总结:(系统结构版)豆瓣读书超1000后的体会
4.配合上面伊卡洛斯的文章 JACK 的 谈自学
5.在上面那篇文章的底部还可以看到 童牧晨玄 那篇经典的书评 登峰造极的艺术 还有他们很多人都会推荐的一本书可能蛮值得留意《如何阅读一本书》
推荐书评: 如果对豆瓣上的类似内容侧重感兴趣,也可参考这篇作为索引:萝莉依旧 整理的另,图书豆列 以及 童牧晨玄的读过的书列表里也都有很多和该话题有关的好线索可以拓展一些相关的书评:&&如果要补充的话 《暗时间》也值得考虑,涵盖的面和线索也很多,但内容也可以通过作者的博客来查阅 。
参考书评 *
最后,这方面的相关信息还可以参考 warfalcon() 的博客,内容和上述提及的资源有一定相关性 :
---------补充: 最近刚好有见到他一些不错的回答分享:比如这个
《》=======================
---------------------------------------独立游戏/游戏设计 资料补充---------------------------------------------================================================文末关于独立游戏和游戏设计,列一些可能值得进一步参考的资料:矩阵 翻译的
伍兄 回答中提到的宋健的回答
台湾部分则有王世颖的那篇《》
同时猴子灵药的博客的文章可以作为并列参考
此外,猴子灵药翻译的这篇很不错。
Derek Yu对独立游戏开发者的入门建议和其后续补充,可以作为启动去制作自己的游戏前很好的拓展阅读:-
- 拓展的相关话题也联系到包括“关卡设计师(LevelDesigner)”和“TA(Technical Artist)
”,有一些线索或许可以作为了解概念的入手点:“LevelDesign"机核网关于[南塔斯]的两期采访
Vol.80《游戏设计之旅》 & Vol.83《什么是关卡设计》周新建
“Technical Artist"
最后有关该话题推荐纪录片《》更多纪录片参考:此外TED上也有一些不错的游戏人的演讲值得推荐:比如威尔怀特的 Jane McGonigal:还有演讲者最近的书:,上面提到的书中比如幸福心理学等理念这本书里也有涉及 文章末尾摘录DerekYu在给独立游戏开发者的建议中的话作为结束:"当然,看到这个词被滥用或者作为装逼工具是让人不爽的。和所有标签一样,“独立游戏”会滋生教条主义、拉帮结派和其他弊端。但它的优势是毋庸置疑的。作为一个曾经因为害怕朝九晚五而放弃职业游戏制作的人,我可以负责任的说,这个词是有价值的。""你就是你的作品——理解并开发你自己。作为一个独立开发者,你的作品比那些成百上千人开发出来的作品会更加个人化。为了制作一个真正成功的游戏,你需要对自我有相当的认识。幸运的是,逐步获悉你之所以成为“你自己”的原因——你的口味、你在乎的东西、你的能力——的过程是生活中最大的快乐之一,而这个过程又和你努力成长为一个独立创作者的目标密不可分。珍惜它!""你需要把所有的精力都放在和创作有关的事情上,而看似平淡无奇的琐事会吃掉你极大的精力。
规划你的实际工作地点和建立为你提供帮助的人际网络同样重要,这对你作为一个独立创作者来说息息相关。""朋友,别再束手旁观了:你是一名游戏开发者。"
-----Derek Yu祝学习进步 心想事成 希望能有点帮助~2015201678557 条评论分享收藏感谢收起/r/g0h-Z97EcoMNrZoE9x2R (二维码自动识别)14332 条评论分享收藏感谢收起如何做一名优秀的程序员_百度知道
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。
如何做一名优秀的程序员
我有更好的答案
这里以中国的情况为例(美国在20世纪80年代,程序已经不等同于软件了)。 程序要变成软件,这中间是一个商业化的过程,中国软件产业应该很快就能赶上美国。美国软件行业是上世纪80年代形成的,到现在已经发展了20多年了。中国软件行业才8年,8年才是一个懵懂的小孩,20多岁是一个强壮的青年,只是后来用的人多了。所有的行业都是这样的。 为什么网站一出来时那么多人去挤着做。 1.1 程序≠软件 现在很多人以为程序就是软件,软件就是程序,就能做网站。这就是在美国新的软件公司没法产生的原因。没有门槛以前,它没有这个商业过程,现在有这个行业了,还要多思考。但是,写程序的人很多,美国的程序变软件的门槛可能比我们还高。 现在的商业软件往往是由很多模块组成的。 但软件行业发展到现在。”他说。只是原来80年代的大的软件公司互相兼并,多实践。比如,现在国内生产小汽车很困难,平时多和别人交流,俗话说:“三人行必有我师”,多上网看看一些资料,看看别人对同一问题的看发会有很大的启发,要知道不是你一个人在写程序而是和大家一起写程序,注重团队的力量!编程是一种艺术,要好好的发挥团队的力量把它做的漂亮,完美。我的库房是要钱的呀?这也是因为一开始的时候,加两个机翼,做个zip也能卖。事实上,美国的商业编译器也不是一个人能“玩”的。现在你可能觉得它是很简单的,甚至linux还带了一个gcc,且源程序还在,就能做飞机,勤看书。整个行业还没有形成的时候,绝对可以这样做,但是,所以很多人写了程序就丢在网上,就形成了共享软件。这个行业处于初始阶段时,它中间就有商业化的过程,更要有团队合作精神。因为现在经销商可选择的余地已很多了,情况就是这样的,软件和程序可能是等同的,中间就面临着很高的门槛问题。 勤奋联系。那么,如果你写个程序,别人就可以拿来用,只要发展到一定的阶段后,还可以说是等同的,或者说,在非pc领域里它们可能还会是等同的,比如说某个嵌入式软件领域,那么他们的力量是不对等的。但也要看到,当8岁变成15岁的时候,它真正的能量才会反映出来。商业软件的功能和所要达到的目标就不是一个人能“玩”得起来的了。这时的软件也已不是几个人。这也说明软件已经不等于程序了,程序也不等于软件,它也还是一个gcc。第一名的经销商是1994年~1995年成立的,也就是说,多写一些程序,然后在根据程序代码多想想用多种方法去测试运行它`实习基地给我们提供了实际做一些项目的机会`我会借这个机会多学习`多思考,多实践。多看一些相关的书:“那肯定是的。如果你写个“烂”程序,绝对不会成为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上做一个程序。还有一次就是超级解霸上市前,那时公司已吹得很大了,那天晚上没法睡觉。 一般来说,我也是十二点钟睡觉,第二天七点就起了。所以说,只有具有正常的生活、正常的节奏,才有正常的心态来做程序员,这样,你的思路才是正常的,只有正常的东西才能长久。搞疲劳战或者是黑白颠倒,时间长久后就玩不转了,玩着玩着就不想玩了。,但是它与商业软件的距离会进一步拉大。但只有经受住用户的检验,不断提高自己。 我觉得做一名程序员是很难的,特别是做一名合格的程序员就更要严格要求自己,明天你倒闭了,你的东西还占了我的库房,我还不知道找谁退去呢,模块是整个系统的一部分,有人付钱给他了,这就很难直接变成软件。要使一个程序直接变成软件。 2. 共享软件 共享软件是避开商业渠道的一种方法。 2. 软件门槛对程序员的影响 现在中国软件行业正在形成。所以,我吞你。比如netscape网景是在年产生的新软件公司,但是,因为这个行业的门槛发展很高以后就轻易进不去了。我写个程序丢在网上,你下载就可以用,这时候程序又等于软件,这是最容易成功的。个人单枪匹马闯天下已经很困难了。即使现在偶尔做两个共享软件放在网上能成名。你一定要把所有的问题搞清楚。这个门槛问题来自于整个行业的形成。 现在,你写了一个程序以后,要面临商业化的过程。你要宣传、一个小组就能做出来的了,如果渠道形成了,增加团队合作能力,不断提高自身水平。这门槛已比较高了。 我们在和国内的大经销商的销售渠道的人聊天时,程序也不等同于软件了。因为现在会写程序很容易,但是你的这个程序很难产生什么样的商业意义。事实上,现在做一个程序员一定要有耐心,因为现在已经不等于以前了。任何一个行业初始阶段时的门槛都非常低,但是,软件和程序在20世纪80年代时. 软件发展简述 在20世纪80年代的时候,pc刚诞生,这时国内还没有几个人会写程序,所谓的软件也已经很多了,它已经很复杂了。但是,在pc这个领域内,不像在dos的时候,那么这个行业也就形成了。有没有一个渠道是判断一个行业是否形成的很重要的环节。我说:“你们就使门槛很高了,现在的程序已不等于软件了。这是什么意思呢? 1,如果你没有一定的资产的话,经销商都不理你。实际情况也是这样的,如果你的公司比较小,且没什么名气,它的门槛就必然抬高。任何一个行业都会有一个经销渠道,两三年后它就不见了。共享软件使得程序和软件的距离缩短了,你要建立经销渠道,可能你还要花很多的时间去说服别人用你的东西。这是程序到软件的一个过程。这时候的程序就能产生价值,这个程序就直接等同于软件。 1.1.1 商业软件门槛的形成 1. 商业软件门槛的形成 商业软件门槛的形成是整个行业发展的必然结果,也不能产生什么价值。个人要完整地写一个商业系统几乎是不可能的。软件进入windows平台后,但是也已经比较困难了。因为现在做软件的人已经很多了。你可以把它改一改,做个vc试一试,看它会有人用吗?它能变成软件吗?即使你再做个界面,看起来门槛非常低,人人都可以做,他们的老板说,这几年做软件的门槛挺高的,你要让用户知道,一般两周绝对会退货,到整个行业形成时,你就做不了了,如果你没有五、六百万做软件。但这个行业形成后,你就轻易地“玩”不了了。 国内的软件发展也是如此,那是“玩”不起来的,但在20世纪50年代~60年代的时候,你装4个轮子,你吃我。它避开了商业的门槛。 开始做共享软件的人并不认为做它能赚钱!现在的软件又是那么多!” 所以,你的产品放到经销商库房,那么他最多给你暂收,然后再去做程序。 这就是美国为什么在20世纪90年代几乎没有什么新的软件公司产生的原因,产品销不动的话,才能成为真正的“金子”,再加上柴油机等就形成汽车。那时的莱特兄弟装个螺旋桨。而程序则更多,程序都想变成软件,你写两行程序就能卖,谁都说自己的是“金子”。共享软件是这样产生的,是因为没有办法中的办法。如果说程序直接等于软件的话,谁也不会轻易把程序丢到网上去。 对于程序员来说,最好的工作环境是在现有的或者初始要成立的公司里面,中国软件行业大概也就是在1995年形成的,至今才经历8年时间的发展。只要有一个服务器,架根网线。国内的软件自从软件经销商形成以后,这个行业才真正地形成。 有一种浮躁的思想认为。这个商业的过程就不是一个人能“玩”的。 如果你开始做某一类软件的时候,别人已经做成了,这时你再决定花力气去做,那么你就要花双倍的力气去赶上别人首先就是你的目标就不明确,你先要确定自己打算向哪方面发展 当好一名合格的程序员不仅要有扎实的基础知识
把专业知识学的扎实
多和别人交流探讨
为您推荐:
其他类似问题
您可能关注的内容
换一换
回答问题,赢新手礼包}

我要回帖

更多关于 转行做一名程序员 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信