资深程序员给新人程序员的八点建议

07年已经是陈皓在程序员行业里的第十个年头了。总结这十年,毕业的头两年,陈皓在银行中昏昏沉沉中度过,“这是我最失败的时候,两年的时间几乎完全白费了。”。后来在上海的两年,我拼命地学习看书,并不断总结所做的项目,这个阶段是我补课的阶段,也是我量变的阶段。到了北京的这五年,是我从量变向质变转换的阶段。

拼命看书

刚毕业的时候,陈皓也像很多刚毕业的学生一样,根本没有对自己的职业进行过比较好的规划。“还记得当时什么都没有想,就是想做一些实际的事情,好好的钻研一些技术。实在没有别的什么想法。”在毕业头三年中(1998年到2001年),不要说是对未来的职业有所规划,对所学的技术也是毫无规划。

离开银行后到上海加入了一家专做银行的系统集成的公司,发现自己和别人的差距非常的大,所以开始拼命地看书和学习,在到上海的头一年中,看了四、五十本书,研究的技术包括PB, delphi, SQL, HTML, CSS, DHTML, java, Perl, CGI, ASP, PHP, JSP, XML, UML, MFC, Lotus Notes, Unix, Oracle, Informix, C++, ActiveX, ODBC, ADO, .NET, COM, 乃至CISCO路由器的配置,Photoshop, 3DMAX……陈皓学得很杂很泛,完全没有目的,只是觉得别人懂的自己也要懂。

“看了许多许多的书,完全没有好好想想自己应该走什么方向。现在回头看来也不知道是好还是不好。”

也许是看的书太多,懂的东西太多,后来有机会参与了一次全国性质的项目。后台是AIX+Informix用C开发,前台是用PB的PFC做界面,通过IBM的CICS这个中间件连通前后台。在开发这个项目的一年时间里,陈皓对Unix/C/C++以及分布式系统有了非常深刻地认识,并深深地迷上了它们,同时对大型软件工程的流程和管理有了非常深刻的了解。

这个项目对陈皓的影响非常大,除了技术上的收获之外,更让陈皓逐渐确定了自己的规划。

技术之外

2002年底,北京一家做分布式计算/网格计算平台的加拿大公司对我产生了兴趣,经过5轮面试陈皓拿到了offer,又一次开始了我的奔走——从上海来到了北京。

新的公司让陈皓的Unix/C/C++得到了非常大的巩固,“这个公司也让我这个土狼学到了很多很多,特别是认识和观念上。”特别是在带领一个team对公司欧洲用户做Customer Service方面的工作时,陈皓学到了很多客户管理的知识,英语能力、与人沟通的能力以及对软件的认识得到了完全的升华。

陈皓开始使用一种和以前完全不一样的方法去思考问题——从用户的角度对问题进行思考。“此时,技术方向对我来说已不重要,技术对我来说已经变得非常简单,因为技术只需要看书看文档就可以获取。”陈皓开始用全新的方式思考如何管理一个团队,如何制造一个成功的软件,如何管理客户。并由此有了更进一步的职业规则——成为一个成功的技术主管、建立一个成功的团队、开发一个成功的软件产品。

给新人程序员的八点建议

走过弯路,有过迷茫,回首九年陈皓感慨万千。“今天,我对许多刚上路的朋友都会说,人生的规则很重要,从上大学时就要好好规划。”他结合自身经历,对许多刚踏入程序员行列的新人程序员,他给出了以下八点建议:

1.在大学的时候尽量多地进入公司参与实际工作,一方面积累工作经验,另一方面,提前认识工作和自己,以便毕业时更准确地把握自己的方向。

2.从毕业开始到毕业后至少5年内,踏踏实实地专研技术,这是一个积累过程,千万不要把心思放在钱和职位上。钱和职位只是能力的附属品,不要让其喧宾夺主。

3.从毕业后3年到7年的时间,注意学习工作当中的方法以及相关的管理和流程,不但要知其然,还要知其所以然。

4.30岁以前,踏踏实实地学习。学技术,学做人,学做事。30岁以后再谈自己的发展。

5.毕业后的前5年主要是量的积累,要不停地积累知识和方法。毕业后的5到10年主要是质变,应该着重于思维和想法的更新。后五年应该有很强的包容能力和接受新东西的能力,千万不要太过固执和坚持自己的想法。

6.换工作要“承前启后”,前面的工作会成为后面工作的一个基础,而后面的工作又会成为前面工作的一个很自然的延续。

7.不要只把心思放在技术上,技术是hard skill,只要下工夫就一定会掌握。更要注意与人沟通等为人处事的soft skill上。hard skill像一个大树的根,而soft skill则像一个大树的枝叶。树根是你的根基,能让你站得很稳,而枝叶能让你向天空伸展,获得发展。

8.对于程序员来说,应该始终记住,技术不是主要的,主要的是通过技术能够解决什么样的问题。一定经常想要解决什么的问题,要满足什么样的需求,而不是要用什么样的技术。


  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: 以下是从一名小白快速成为资深程序员的一些建议: 1. 学习编程语言和工具:作为一名程序员,必须掌握至少一种编程语言和相关工具,例如IDE,文本编辑器等。建议初学者先学习易于理解和入门的编程语言,例如Python或JavaScript,并且学会使用一些基本的工具,例如Git和命令行。 2. 掌握算法和数据结构:算法和数据结构是编程的核心,它们可以让你编写更高效、更简洁的代码。建议学习基础的算法和数据结构,例如排序、查找、链表等,并掌握它们的时间复杂度和空间复杂度。 3. 参与开源项目:参与开源项目可以让你学习到其他优秀程序员的代码,了解行业最佳实践和编码规范。在Github等开源平台上找到感兴趣的项目,开始贡献代码和解决问题。 4. 阅读相关书籍和文档:阅读相关书籍和文档可以让你深入了解编程语言和工具,以及其他相关的技术领域。建议读一些经典的书籍,例如《深入浅出Python》、《JavaScript高级程序设计》等。 5. 持续练习和实践:编程是一门实践性很强的技能,需要不断地练习和实践。可以尝试解决一些编程练习题、编写自己的项目、参加编程比赛等。 6. 学会自我学习和解决问题:作为一名程序员,你需要不断学习和解决各种问题。可以学会使用搜索引擎和技术社区寻找答案,并学会提出明确的问题和进行有效的调试。 ### 回答2: 想要从一名小白快速成为资深程序员,以下是几点建议: 1. 学习扎实的基础知识:作为一名程序员,必须掌握基本的编程语言、数据结构和算法等基础知识。可以通过学习相关教材、参加在线课程或参加编程培训班来打牢基础。 2. 实践项目:理论学习只是第一步,实践才是提高的关键。通过完成一些编程项目,不仅可以强化知识,还能锻炼解决问题的能力和思维方式。可以找一些开源项目或者自己构思一个小项目进行实践。 3. 持续学习:程序员是一个朝气蓬勃的行业,技术更新迅速。要想成为资深程序员,需要持续学习和跟进最新的技术趋势。阅读技术书籍、博客,参加技术交流会议和培训,保持学习的动力。 4. 参与开源项目和社区:积极参与开源项目和技术社区的讨论,你能从资深程序员的经验中学到很多。这也是锻炼自己技术能力和交流能力的良好途径。 5. 寻找导师或 Mentor:找一位资深程序员作为导师,能够帮助你指导学习方向,解答疑问,并提供实践经验和建议。 6. 勤于总结和分享:将学习过程中获得的经验和知识以博客、技术文章等形式进行总结和分享。这样不仅能够加深自己对知识的理解,还能提升自己的表达能力和影响力。 最重要的是,要坚持不懈地学习和实践,不断提升自己的技术能力和思维方式,才能成为一名资深的程序员。 ### 回答3: 要从一名小白快速成为资深程序员,关键在于持续学习和实践。以下是一些具体建议: 1.选择合适的编程语言和领域:根据个人兴趣和市场需求选择一门编程语言,并专注于相关的领域,例如移动应用开发、网络安全等。熟悉一门语言和领域将有助于深度学习和提升技术水平。 2.系统学习编程基础知识:打好基础是成为资深程序员的关键。学习算法、数据结构、计算机网络等基础知识,并掌握常见的设计模式与编程规范。 3.通过实践不断积累经验:通过编写实际项目来应用所学知识,并逐步提升自己的编程技能。参与开源项目、参加编程比赛等都是不错的实践机会。 4.持续学习新技术与工具:学习不同领域中的新技术和工具,保持与行业发展的同步。阅读技术书籍、参加技术社区、关注技术博客等都是获取新知识的途径。 5.与他人交流与合作:活跃参与技术社区和开发者社群,与其他程序员交流、学习和分享经验。通过与他人的合作,可以了解不同的解决方案和开发方法。 6.注重代码质量和项目管理:学会编写高质量、易于维护的代码,并熟悉常用的版本控制工具与项目管理方法。良好的代码风格和项目管理能力将提升职业水平。 7.不断挑战自己:设定目标和挑战,不怕失败,勇于尝试新的技术和项目。不断超越自己,拓宽自己的技术范围与视野。 成为资深程序员需要时间和经验的积累,没有捷径可走。因此,持续学习与实践是最重要的一点。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值