阿蒙:程序员高手是怎样炼成的?

2024-01-17 23:18

本文主要是介绍阿蒙:程序员高手是怎样炼成的?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  首先声明,偶不是高手,以免引起不必要的冷嘲热讽,呵呵。
 
估计很多的朋友在很小的时候就看过奥斯特洛夫斯基同学的《钢铁是怎样炼成的》,偶小时候在农村混,看的最多是各式各样的牛屎以及长得极象牛屎的山头,这些所谓的名著偶直到大学才有机会拜读,但说实话,偶是个俗人,还是更喜欢看一些痞子写的文字或带COLOR的BOOKS。偶之所以写这么个主题,主要是太多的朋友给偶发EMAIL或在VCHOME.NET提问,偶其实也与大家一样为生活而奔波,因此没有时间一一作答,在这作一次回答,还望海涵。
 
高手是一个哗众取宠的词汇,世上本来并没有高手,说的人多了也就有了高手,我看程序员只有老少之分,并无高低之分,比如偶就是一个老程序员,因此作为程序员,我们追求的应该是写出有用有价值的软件产品,呵呵,废话少说,切入正题吧!
 
1.迷恋 + 热情;
 
爱因斯坦同学说:兴趣是最好的老师,这就是说一个人一旦对某事物有了浓厚的兴趣,就会主动去求知、去探索、去实践,并在求知、探索、实践中产生愉快的情绪和体验,并不断地激发学习的动力,这种说法很美妙,众所周知,程序员是一种有点乏味有点枯燥有点辛苦的技术工作,要能坚持下去,并能做得很好,没有迷恋没有热情是很难很难的,偶就很迷恋,迷恋C++,迷恋computer,迷恋network,偶迷恋for、if、while、case等等就如同歌手迷恋五线谱的小蝌蚪一样,我觉得程序代码真是无所不能,简简单单的几行代码就能实现丰富多彩的功能,你难道不觉得很NB吗?呵呵,因此,作为一名老程序员,我建议年轻的程序员们一定要对coding保持迷恋保持热情,那样我们才有可能做得更好。
 
2.在项目中磨练与成长;
 
很多朋友经常问:他看了很多书,也做了较多的练习,但感觉水平并没有得到提高,这是为什么?呵呵,我觉得每个人不同,有些程序员通过看书,也能学到很多东东,但我个人觉得最好的提高方法,还是要参与到某一项目中去锻炼,从设计到开发到测试到维护一整套的磨练流程,项目是有周期的,有周期就有压力,有压力才能不分昼夜地去学习与实现,学习的效果也会很显著与深刻。
 
3.数不胜数的加班;
 
偶这里所讲的加班并不单指工作上的OT(即overtime),而更多的是学习上的OT,偶认为程序员学习的黄金时间在毕业后的前三年,这三年你如果有一个好的环境好的团队好的上司,再加上你的勤奋努力,三年后你将有一个质的飞跃,当然如果不幸,环境不好,团队不好,上司不好,那就只能靠你自已了,我的哲学是:人的一生70%靠自已,因此你要有坚持不懈的精神,保持一颗积极上进的心,偶的那三年基本上每天都在公司里呆到22点,即使回宿舍也是看书学习,偶比较笨,但可贵的是偶知道“笨鸟先飞”、“勤能补拙”诸如此类的大道理。没有人愿意平平庸庸地度过这一生,你努力了,你就成功了。
 
4.正确的学习方法;
 
也有很多朋友问学习方法,这是很让偶头痛的问题,其实我之前的文章中也有总结我的学方法:“简单总结一下我的学习方法,笔者是按以下的顺序来学习的:C/C++ ――> SDK ――> MFC ――>COM/DCOM/ATL/COM+,当然这个顺序的前提是你已经具备了一定的数学,数据结构及算法,操作系统等基础知识,学好C++是很关键的,尤其要理解清楚OOP思想,养成以面向对象方法去思考问题解决问题的习惯;学习SDK的目的主要是理解Windows OS的内部机制比如内存管理,多任务及多线程等,特别要透彻地理解Windows的消息机制;有了前面的知识,学起MFC就容易了,有些网友经常与我聊,说他看了一年多的书,也写一些程序,但对MFC还是一头雾水,我想主要的原因还是学习不够系统性,很多知识及经验是循序渐进的,千万不要幻想一步登天,要有持之以恒的学习及实践精神。” 我并不敢说,我的方法是正确的,只能说对我而言是合适的,作为老一辈的程序员,我们有幸学过与写过很多纯windows的程序,我依然记得当年用vc++1.5写的程序,都是用SDK,要写的代码很多很多,那是个美好的年代,我怀念它。
 
5.失败--->打击--->努力--->成功--->成就感;
 
刚刚做程序员时,由于技术水平有限,经验也欠缺,因此经常会犯一些错误,也写了很多失败的程序,然后被上司骂得狗血淋头,那时非常地有挫折感,决定奋发图强,后来慢慢地长大,能写一些成功的程序,受到一些表扬,那成就感真是爽呆了!这种过程经历得越多越好,我们的抗压能力会不断地提高,脸皮也会越来越厚,呵呵,因此,奉劝各位程序员如果你暂时遇到挫折与失败,不要灰心丧气,不要退缩,而要奋起直追,学好了,以后再去骂其它的初级程序员,呵呵,开玩笑的。
 
6.敢想+能说+会写;
 
中国的教育体制造就了太多太多的五好青年,循规蹈矩,逆来顺受,前怕狼后怕虎,缺乏创新意识,这个社会什么都不缺,就缺敢想敢做的人。
 
能说对于程序员来讲,确实是要求过高,但如果你想走上较高的层次,偶认为这一点是很重要的,因此我们需要寻找各种各样的机会来锻炼这方面的能力。
 
会写就是能写出漂亮的方案文档,能针对不同的客户写出不同的文档,比如技术文档,商务文档,销售文档等。
 
7.善于利用各种资源;
 
这一点不用多说了,现在的资源很丰富,善于运用各种帮助文档,另外,互联网上的资料应有尽有,要学会GOOGLE与使用。
 
8.细节决定高手。
 
老子说了:天下难事,必做于易;天下大事,必做于细。这句话精辟地指出了想成就一番大事业,必须从简单的事情做起,从细微之处入手。随着现代社会分工的越来越细和专业化程度的越来越高,一个要求精细化的管理和生活时代已经到来,亲爱的程序员朋友,请你注意了,编程越来越容易了,可恶的微软与比哥一天到晚都在想如何让我们变得更傻,越来越依赖于他们的工具,在未来,也许什么人都能很容易地做个程序员,到那时,如何来评价你的能力?-----细节,这个行业,最终和最高的竞争层面就是细节的竞争。因此建议您把小事情做到位,养成良好的习惯,具体点说:就是写好每一份注释,在提交文档之前要一而再再而三地检查,代码要简洁干净,每一个算法都要高效,把胡子剃干净,别扣错钮扣,穿整洁的衣服,讲话注意文明礼貌,红灯停绿灯行,不随地丢垃圾.......呵呵,离题了。
 
呵呵,终于写完了,新年第一篇,希望大家多给面子,给点阳光,让我灿烂灿烂,给点口水,让我泛滥泛滥,给点温暖,让我腐烂腐烂,给个眉眼,让我陶醉陶醉。阿蒙网站:http://www.vchome.net
 


这篇关于阿蒙:程序员高手是怎样炼成的?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/617478

相关文章

怎样通过分析GC日志来定位Java进程的内存问题

《怎样通过分析GC日志来定位Java进程的内存问题》:本文主要介绍怎样通过分析GC日志来定位Java进程的内存问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、GC 日志基础配置1. 启用详细 GC 日志2. 不同收集器的日志格式二、关键指标与分析维度1.

秒变高手:玩转CentOS 7软件更换的方法大全

在 CentOS 7 中更换软件源可以通过以下步骤完成。更换源可以加快软件包的下载速度,特别是当默认源速度较慢时。以下是详细步骤: 前言 为了帮助您解决在使用CentOS 7安装不了软件速度慢的问题,我们推出了这份由浪浪云赞助的教程——“CentOS7如何更换软件源加快下载速度”。 浪浪云,以他们卓越的弹性计算、云存储和网络服务受到广泛好评,他们的支持和帮助使得我们可以将最前沿的技术知识分

LabVIEW程序员是怎样成长为大佬

成为一名LabVIEW编程领域的“大佬”需要时间、实践、学习和解决复杂问题的经验。尽管LabVIEW作为一种图形化编程语言在初期可能相对容易上手,但要真正成为精通者,需要在多个层面上深入理解。以下是LabVIEW程序员如何逐步成长为“大佬”的路径: 1. 打好基础 LabVIEW的大佬们通常在初期会打下非常坚实的基础,理解LabVIEW编程的核心概念,包括: 数据流编程模型:Lab

程序员必备心理学——心流

心理学之心流 前言一、“心流”是什么?二、心流的好处二、如何进入心流心流状态的四个阶段第一个阶段:挣扎第二个阶段:放松第三个阶段:心流第四个阶段:巩固 进入心流的技巧 总结题外话 前言 你是否常常感觉自己明明学习了一整天,但是就是感觉没有太多的收获。这个时候除了你的学习方向等问题之外,也可能是你的学习方法太低效了。作者本人就经常有这种情况,好在偶然间在b站刷到一个大佬的这个心

十四、我们应当怎样做需求分析:子用例与扩展用例

用例模型作为UML中4+1视图中非常重要的一员,非常集中地体现了面向对象的分析与设计思想。用例模型将现实世界中连续的一个一个业务流程,按照场景划分到了一个一个的用例中。由于场景的出现,使得用例中的业务流程存在着高度的内聚性,从而成为了日后各种对象的雏形。同时,在用例分析中,又将那些存在于各个用例中的,相同或相近的业务操作提取出来,形成一个一个的子用例或扩展用例,又体现了面向对象设计中的复用性。现在

十三、我们应当怎样做需求分析:查询报表分析

在我以往的用例分析中,使用这样格式的用例模式,对于大多数业务操作流程来说是得心应手的,但对于有些功能来说总感觉不对劲。感觉不对劲的,就是那些查询、汇总与报表功能。对于这部分功能,需要我们描述的不是什么操作流程,而更重要的是那些数据项、数据来源、报表格式、数据链接,以及使用者、使用频率的说明。而这些,在以往的用例说明格式中统统都没有,怎么办呢?俗话说“东西是死的人是活的”,把我们的用例格式改改吧。

九、我们应当怎样做需求分析:功能角色分析与用例图

在我们进行一系列需求调研工作的同时,我们的需求分析工作也开始启动了。需求调研与需求分析工作应当是相辅相伴共同进行的。每次参加完需求调研回到公司,我们就应当对需求调研的成果进行一次需求分析。当下一次开始进行需求调研时,我们应当首先将上次需求分析的结果与客户进行确认,同时对需求分析中提出的疑问交给客户予以解答。这就是一个需求捕获->需求整理->需求验证->再需求捕获的过程。  但是,当我们经

八、我们应当怎样做需求调研:需求捕获(下)

前面我们讨论了,需求分析工作是一个迭代的过程:需求捕获->需求整理->需求验证->再需求捕获······需求捕获是这个迭代过程的开始,也是整个需求分析工作中最重要的部分。没有捕获哪来后面的整理与验证工作?但是,非常遗憾,按照我以往的经验,需求捕获是我们最薄弱的环节。前面我提到的许许多多项目开发的问题都可以归结为需求分析的问题,而许许多多需求分析的问题又都可以归结为需求捕获不完整的问题。需求捕获是整

七、我们应当怎样做需求调研:需求捕获(上)

前面我们讨论了,需求分析工作是一个迭代的过程:需求捕获->需求整理->需求验证->再需求捕获······需求捕获是这个迭代过程的开始,也是整个需求分析工作中最重要的部分。没有捕获哪来后面的整理与验证工作?但是,非常遗憾,按照我以往的经验,需求捕获是我们最薄弱的环节。前面我提到的许许多多项目开发的问题都可以归结为需求分析的问题,而许许多多需求分析的问题又都可以归结为需求捕获不完整的问题。需求捕获是整

六、我们应当怎样做需求调研:迭代

前面我一直在反复强调这样一个观点,需求分析不是一蹴而就的,是一个反复迭代的过程。它将从第一次需求分析开始,一直持续到整个项目生命周期。为什么这样说呢?让我们一起来分析分析。  在第一次的需求分析阶段,我们在一段时期内需要与客户进行反复地讨论,这个过程往往是这样一个反复循环的过程:需求捕获->需求整理->需求验证->再需求捕获••••••  需求捕获,就是我们与客户在一起开研讨会