给年轻程序员的几句话

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

  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 条评论
登录 后参与评论

相关文章

来自专栏Cloud Native - 产品级敏捷

产品为何总是做不好 (六): Product Owner 惯性的行为

2016.9.3,  北京, Ken Fang 回顾这近二十年的敏捷、软件工程的旅程,我的收获是相当的丰富的;尤其是我面对面了许多不同层级的部门领导、数千位的团...

1956
来自专栏绿巨人专栏

为什么.NET感觉上比Java差一点

3638
来自专栏CDA数据分析师

原来,你是这样的R语言

? 今天给大家介绍一款在开源世界里集万千宠爱于一身的软件——R语言。 有多受宠呢?简单说,你能想到的地方都有它的身影。 做学术?看看R在各大语言排名系统的表...

24210
来自专栏java一日一条

优秀的前端开发工程师简历是怎么样的?

在阿里常年招聘,筛过各式各样的简历,每到招聘季,筛简历、面试过程非常耗精力,当然,原因之一是我想招非常优秀的人,宁可多花些时间,另一方面,除了那些不合格的简历之...

571
来自专栏腾讯社交用户体验设计

产品趋势的设计软着陆

1723
来自专栏程序员互动联盟

伟大的开发者

如何成为一名优秀的开发者?你觉得自己算是一名优秀的开发者吗?如果是的话,你有没有考虑过,作为一名优秀的开发者,应当具备哪些优秀的品质?原文作者Gregor Ri...

3214
来自专栏华章科技

大数据商业智能的十大戒律

如今,各路企业和组织都不再使用上一代架构来存储大数据。既然如此,为什么还要使用上一代商业智能(BI)工具来进行大数据分析呢?在为企业选择BI工具时,应该遵守以下...

882
来自专栏日常学python

Python小白应如何入门

经常有粉丝加了我之后就问,python零基础怎样入门?刚学python需要注意什么?没有接触过编程怎么学python?等等 之类问题,今天我就对这些问题说下我的...

790
来自专栏大数据文摘

【干货】吴甘沙清华讲:大数据的10个技术前沿(上)

1705
来自专栏Java学习网

编程能力的四种境界

  人类心理学研究中的一个基础支撑科目就是分析人的潜意识和意识。弗洛伊德是最早的一位能够清楚的认定和描述我们的心理活动“领域”的人。在他这著名的一生的早期,他就...

3645

扫码关注云+社区