1.练内功。 不要只花功夫学习各种流行的编程语言和工具,以及某些公司招聘广告上要求的科目。要把数据结构、算法、数据库、操作系统原理、计算机体系结构、计算机网络、离散数学等基础课程学好。大家不妨试试高德纳斯所著的The Art if Computer Programming里的题目,如果你能够解决其中的大部分题目,就说明你在算法方面有一定的功力了。
2.多实战。 通过编程的实战积累经验、巩固知识。很多中国大学生毕业生缺乏编程和调试经验;学习C语言,考试过关就算学会了;课题项目中,只要程序能够编译、运行、并且输入输出满足就算了事。就些做法是不行的。 写程序的时候,大家必须多想想如何 把程序写得更加精炼、高效、高质量。建议大家争取在大学四年中积累编写十万行代码的经验。我们必须明白的是:好程序员是写出来的,不是学出来的。
3.求实干。 不要轻视任何实际工作,比如一些看似简单的编码或测试。要不懈追求对细节一丝不苟的实干作风与敬业精神。我发现不少程序员对于知识的掌握很肤浅,不求甚解、没有好奇心,不会刨根问底。比如,学会了C++,是否了解一个对象在编译后,在汇编代码中是如何被初始化的?这个对象的各个成员在内存中是如何存放的?当一个成员函数被调用时,编译器在汇编代码中加入了哪些额外的动作?虚函数的调用是如何实现的?这些东西恐怕在编程语言或编译原理中都没有详细提到,只有通过踏实的实干才能真正掌握。
4.重视数学学习。 数学是思维的体操,数学无处不在。学计算机至少要学习离散数学,概率论,布尔代数,集合论和数理逻辑。这些知识并不难,但是对你未来的工作帮助会很大。尤其当你对一些“数学密集型”的领域如视频,图像处理等有兴趣时,这些些知识将成为你手中的利器。
5.培养团队精神。 学会与人合作。今天的软件工程早已经不是一个人可以单独操作的,而必须靠团队合作才能成功。不懂得合作的人是不能成大器的。大家要去寻找可以与人一起做项目的机会。
6.激励创新意识、培养好奇心、不要死记硬背。 没有掌握某种算法技术的根本原理,就不会有应变和创新的能力。想成为一位好程序员(其实从事任何一个行业都是如此),重要的是要培养钻研,好奇,创新,动手,合作的优秀习惯,不满足于填鸭,不满足于考试交差,不满足于表象。这不是学几门课就能够一蹴而就的。
7.有策略地“打工”。 在不影响学业的前提下,寻找真正有意义的暑期工作或兼职。去找一个重视技术的公司,在一个好的“老板”指导下完成真正会被用户使用的程序。不要急于去一个要你做“头”而独挡一面的地方,因为向别人学习才是你的目的。找工作也是一样,不要只看待遇和职衔,要挑一个你能够学习的环境,一个愿意培养员工的企业,一个重视你的专业的公司。最后,还要挑一个好老板。
希望大家都能够把握机会,养成好的学习习惯,把算法学精学透;希望大家都能有一个美好的未来!
|
分享到:
相关推荐
对于那些不希望长期从事编码工作的程序员,建议#7鼓励他们迅速地进行职业规划和转型。在技术行业,终身学习是一个不变的法则,程序员应随时准备更新自己的技能集和适应新的职业角色。 建议#8提出,一旦产生了离职的...
"写给即将入行的程序员的一封信" 该文档提供了 Akash 对程序员的建议,旨在帮助新手程序员快速入门。以下是该文档中的重要知识点: 1. 不要等待,马上开始编程。编程经验是最重要的,不要等待学习完所有知识再开始...
以下是一些推荐给程序员的书籍,这些书籍涵盖了项目管理、软件工程、编码实践以及编程哲学等多个方面,对于提高程序员的专业技能和个人成长都有极大帮助。 #### 1. 《人月神话》(The Mythical Man-Month) 作者:...
【标题】中的“一个老程序员的心里话”和【描述】中的“一位从业十多年的老程序员通过他的亲身经历为大家总结出来的一些经验”表明这篇文章是关于一个经验丰富的程序员分享他在IT行业长期工作所积累的见解和建议。...
标题 "程序员必看1500单词" 指向的是一个专为程序员设计的英语词汇学习资源,其中包含了1500个与编程、软件开发、计算机科学相关的英文单词。这些词汇对于程序员来说至关重要,因为编程语言本身就是英语为基础,理解...
##### 第七重:Guru Programmer - 宗师程序员 **定义:**宗师程序员是极少数能够达到的境界。他们在技术领域达到了极致,并且具备深远的影响力。 - **特征:** - 在行业内享有极高的声誉,被视为精神领袖。 - 对...
### 一个程序员的工具箱:全面解析 #### 引言 在信息技术(IT)领域,特别是对于程序员来说,拥有一套高效、实用的工具是至关重要的。这些工具不仅能提高工作效率,还能帮助解决各种技术难题。本文将详细介绍《一个...
- **关键点:** 选择一个适合自己的技术栈对于程序员的成长至关重要。 - **详细解释:** 作为新入行的程序员,选择一个合适的技术栈(例如Ruby、Java等)是非常重要的一步。Sam Kaufman提到,不同的技术栈能够带来...
第7章通过一个算法演示验证程序,说明C语言在算法实现中的应用;第8章讲述如何扩展C语言编程,增强C语言的使用范围和能力;第9章提供了调试C程序的技巧,帮助程序员提高问题解决能力;最后第10章总结了C程序员的发展...
### 高效程序员的10个习惯 #### 一、对事不对人 在软件开发过程中,团队成员之间经常会因为设计方案、技术选择等方面的意见不合而产生冲突。这种情况下,很容易将注意力从问题本身转移到个人身上,导致原本的技术...
8. **心理健康**:程序员工作中的压力可能对心理健康产生影响,书中可能涵盖如何处理工作压力、保持良好心态的建议,甚至包括休息和放松的技巧。 9. **职业规划**:明确个人职业目标,制定长期和短期规划,可以帮助...
1. **程序员健康面临的5大问题**:这个PDF可能涵盖了程序员常遇到的五种主要健康挑战,如长时间坐姿导致的颈椎、腰椎疾病,视力下降,睡眠障碍,心理压力过大(如焦虑、抑郁)以及缺乏运动导致的体能下降等。...
本文基于标题“程序员学习建议”以及描述“程序员的职业生涯则是一个要求不断学习的过程,永远不能固步自封。”,旨在为初入IT行业的新人以及正处于职业发展迷茫期的程序员提供实用的学习指南。 #### 二、信息技术...
首先,"程序员的七种武器"通常指的是编程者必备的技能和素质,可能包括扎实的编程基础、良好的问题解决能力、持续学习的态度、团队协作精神、对新技术的敏感度、项目管理技巧以及优秀的沟通能力。这些都是在面试中...
从提供的文件内容中可以看出,这是一本为程序员专门撰写的养生书籍,名为《程序员养生书v0.9.pdf》。...作者通过分享自身经历,让程序员读者能够更好地认识到健康的重要性,并通过实际可行的建议来改善生活和工作状态。
十九、HR对应届生的简历建议,请慎用英语:讨论了应届生在简历中使用英语的利弊,给出了一些专业建议。 二十、HR简历照片的重视程度只有5%:说明了简历上照片对于整体印象的影响很小,不必过于重视。 二十一、HR...
黑马程序员的Javaweb源码集是一个丰富的学习资源,包含实际项目案例和练习,覆盖了Web开发的基础到进阶内容。通过阅读和分析这些源码,学习者可以更好地理解Web开发流程,学习如何组织代码结构,以及掌握常见的设计...
【软考程序员09-18年真题.7z】是一个包含过去十年(2009年至2018年)的软件考试程序员级别试题的压缩文件。这个压缩包对于准备参加软考程序员考试的考生来说是极其宝贵的资源,因为它提供了大量实际考试题目,可以...
标题中的“6个Java程序员的年度总结-精”意味着这是一份包含六个Java程序员在过去一年中关于编程工作、学习和成长的总结性文档。这些程序员可能是来自不同背景、经验水平和项目领域的专家,他们分享了他们的知识、...