给年轻程序员的几句话

我收到了不少新手的来信,他们都希望能成长为一名真正的程序员。我绝对不是第一个谈论这个话题的人,所以,我不知道应该做哪方面的补充。不管怎样,下面的是一些一直记在我心头的、有必要读一下的建议:

  1. 找其他开发人员合作开发。 我们正处在科技历史上第一个绝好的时代,你几乎不用在意在哪工作、为谁工作。只要你 有一个还过得去的网络,你就可以和另外一个在世界任何角落里的人一起来完成某段程序。我知道,越来越多的有经验的开发人员开始把他们的一部分时间投入到这 种知识共享里。我的朋友Evan Light特地留出了时间来开发一个帮助Ruby爱好者合作行动的网站。我从事这样的事情也有一段时间了。你想开发一些FLOSS程序吗?发邮件给我,我们会帮你准备些东西。
  2. 阅读经典著作:《代码大全(第二版)》, 《程序员修炼之道》, 《程序设计实践》, 《设计模式》等。
  3. 阅读WikiWiki (有时也被称作WardsWiki)。 这一条怎么强调也不为过。经常我会感觉到所有我学到的真正关于编程的知识都是在浏览这些网站的过程中慢慢的学到的。
  4. 学习别人的代码 GitHub万岁!如果你会一点Ruby,想从别人整理好的现成经验入手,你可以读一下《Best of Ruby Quiz》。
  5. 参与开发者论坛 如果没有这样的网站,创建一个。讨论问题。我不在意你认为自己是一个多么菜的菜鸟。没有任何一种形式能比通过讨论一个问题来学习这个问题更有效的方法了。
  6. 写博客 不要在意是否是原创。互联网上很多非常有用的博客都是广泛的搜集程序员的经验和错误,以及如何克服这些问题的博客。反省是学习过程中最重要的一件事情,写博客能帮助你反省。会出乎你的意料,你不久就会收到你的读者的反馈。
  7. 我相信你之前听说过这一条:参与开源项目,修改其中的bug或捐献代码。
  8. 丢硬币 是头像就选择Vim,否则选择Emacs。学习使用这些编辑器。应该让这两种编辑器伴随你余下的编程生涯。强大灵活的编辑器会让好程序员更好。
  9. 多学习几种编程语言 但起初应该先学一种语言。你应学习一种重要的语言,它能让你对编程语言有个大致的认识, 让你第一天就爱上编程,你需要花大量的时间去学习这种语言中的各种知识,否则你漏掉知识点或不久就会忘记。一旦你掌握了这种语言,你需要学习新的语言来验 证在第一种语言中学到的知识。尽量选择风格迥异的语言。我曾看过Seven Languages in Seven Weeks这本书,它让我认识了各种各样的编程模式,很好的书。
  10. 订阅跟你使用的语言和平台相关的邮件新闻 人们有时会忘了,在各种博客,Hacker News,以及Twitter里,还有一个精彩的充满讨论的世界。邮件列表是一个很通用、很有用的来比较各种讨论观点的工具。
  11. StackOverflow是你的朋友。
  12. 不要花太多的时间去研究所谓的“最好的“工具 我曾经愚蠢的花上数天或数周去为某个项目找出一种”最好“的框架来提高开发效率。不要落入这种陷阱。当你还是一个不太熟练的程序员时,选一种大家都在用的语言和框架。重要的是当你遇到瓶颈是你知道如何处理。之后你才可以去寻找一种完美的…
  13. 寻找实习机会。
  14. 以及最基本的:练习,练习,练习 在班上练,在家里练。锻炼编程基本功。编程跟其它技术一样:最终,一切归结于练习。

来自openbbs

原文发布于微信公众号 - 程序员互动联盟(coder_online)

原文发表时间:2015-06-19

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏老九学堂

这是一篇非常具有操作性的程序员初学者攻略。

1 前言 如今编程成为了一个越来越重要的「技能」: 作为设计师,懂一些编程可能会帮你更好地理解自己的工作内容; 作为创业者,技术创始人的身份则会让你的很多工作显...

2826
来自专栏Golang语言社区

程序员三种境界背后的含义,大多数人不知道……

春节假期,与几位友人小聚,大家互道工作顺利、平安健康云云,期间一位驰骋商界多年的老友问:”你现在在华为做什么工作呀?”我很骄傲地说:”系统架构师“,可是他却愣了...

763
来自专栏恒思考

软件必备模块-软件的哲学

我一直觉得设计哲学这个东西是一个很虚的东西,直到我看了一个关于苏联暴力美学的帖子,里面有一段写ak-47,t34等等。虽然也有人说这是苏联的战略忽悠局。经过一年...

852
来自专栏企鹅号快讯

C加加零基础初学者该如何学习C加加以及编程

都说Java是世界上最受误解的语言,其实C++何尝不是。现在网上流传的错误的C++学习方法一抓就是一大把。很多人在学习C++的过程中也走了许多弯路,浪费了不少时...

19910
来自专栏全栈工程师成长之路

如何学习一门编程语言

3619
来自专栏达观数据

干货分享 | 人工智能如何驱动未来教育发展?

ABOUT 1月13日下午,在沪江北京研发中心、沪江智能学习实验室和CCtalk在京举办的“智能引擎,驱动教育”技术沙龙中,达观数据创始人&CEO陈运文作为受邀...

3419
来自专栏AI科技大本营的专栏

Python 为何能坐稳 AI 时代头牌语言

作者 | 子白 谁会成为AI 和大数据时代的第一开发语言?这本已是一个不需要争论的问题。如果说三年前,Matlab、Scala、R、Java 和 Python还...

3206
来自专栏web前端教室

可能是所有初级前端都要迈的一道坎

许多新同学在刚刚进入公司开始工作的时候,都会有一个阶段,就是刚开始的时候动力十足,等时间长了适合了之后,就开始觉得公司所派发的工作任务,太过单调,而且发现这种单...

1819
来自专栏理论坞

每个UI / UX设计师都需要知道心理学

心理学,在用户使用APP时扮演着重要角色,对于APP的用户体验有很大的影响。通过心理学,了解到我们的设计如何被用户使用,得到反馈,从而进行调整,以便我们的APP...

693
来自专栏AI科技大本营的专栏

论机器翻译之浅薄

翻译 | shawn 编辑 | 波波、费棋 【AI科技大本营导读】尽管机器翻译明显玩不转备受期待的长篇内容,但我们得承认,在快速获知单词含义层面,它确实为人们...

2526

扫描关注云+社区