写给年轻程序员的一封信

很多年轻的程序员发emails给我,说希望能够得到一些如何尽快跻身优秀程序员行列的建议和方法。关于这个问题,我已经有提到过很多次,现在已经没什么可以补充的了。不过 为了满足大家的要求,在这里我再详细地归纳总结一下:

——和其他开发人员协作。编程已经进入了“地球村”的辉煌时代,无论我们身在哪里,无论我们为谁工作,只要拥有可爱的互联网,我们就可以和世界上任何一个角落的程序员一起攻克代码难题、合作开发各种软件。并且,现在有越来越多的开发人员,在网上把他们丰富的经验教训总结出来,提供给大家共享。我的朋友Evan Light利用开放的办公时间,正在致力于开发一个帮助Ruby使用者们匹配合作的网站。我也在这项目上做过。有没有兴趣做开源软件?如果有的话请发邮件给我。让我们一起协作吧!

——阅读经典书籍刊物。像《代码大全》、《程序员修炼之道》、《程序员设计实践》、《设计模式》等等,都挺不错的。

——好好利用网络资源。这一条必须特别强调。因为几乎所有的编程知识我们都可以在网上找到。老实说,有时候我会觉得,所有我需要的编程技能都是在网上学会的。

——研究别人的代码。GitHub万岁!如果你想学习Ruby语言,并且希望能在最快的时间掌握它,那么可以按《Best of Ruby Quiz》所说的,先钻研下他人的代码。

——进入本地程序员群。如果没有这样类似的群,那么创建一个。接下来需要做的是组织会话。不要坐井观天的以为“老子天下第一”,多多与大家交流,知道自己的不足之处,然后谦虚学习。

——写博客。不要担心不知道该写什么。那些非常有名的博客牛人他们写的就是:他们自己的编程经历和程序错误,以及他们是如何克服这些问题的。反思,对于我们学习编程的帮助不可估量,而写博客就是用于反思的手段。而且写在博客上你还可以得到其他人对你的评价和建议。

——为开源项目制作补丁。这一点已经众所周知,我就不再赘述了。

——抛个硬币,花代表Vim,字代表 Emacs,选择了之后就开始认真学习吧。编辑器是你编程生涯中的左膀右臂,所以,一个强大又灵活的编辑器绝对能让你的编程水平更上一层楼。

——熟稔一种编程语言是远远不够的。但是首先你得学好一种,这样你某一天遇到紧急情况,就能迅速应对、快速编程,而不必绞尽脑汁、漫无目的、费时费力地想(就因为你已经忘记得差不多了)。不过,我想说的是,要是你已经掌握了一门,那么是时候学习第二门了,一方面可以验证第一门编程语言,另一方面通过这种方法还可以温故而知新。而且最好选择的是风格大相径庭的。我读过的一篇博文《Seven Languages in Seven Weeks》就给出了关于此点内容超棒的编程范例,有兴趣可以看看。

——做一个编程语言和平台的邮件列表。有时候,我们会找不到正在关注的博客、黑客新闻、Twitter中的激烈争辩以及各种发人深思的讨论。这个时候邮件列表就大显威武了,相对于其他手段,它既方便礼貌又实用多多。

——StackOverflow绝对是你的良师益友。

——不要浪费时间去研究所谓的最好的工具。我曾经用了几周时间,想为我准备开工的项目找个“不鸣而已,一鸣惊人”的最好框架,但是后来却发现这个框架严重限制了我的工作效率。所以,千万别被“最好”这两个字的表象所迷惑,掉进坑里。如果你觉得你作为程序员还不算经验丰富,那么最好先从有很多用户使用的语言和框架开始。最最重要的一点是,当你遇到障碍物而你越不过去的时候,你得知道去哪里,才能寻求帮助、拿到更有利的工具。

——不要错过实习机会。

——不断练习、练习、再练习,因为辛勤的汗水才能浇灌出成功的花朵。在工作中写代码,在家里写代码。好好修炼代码招式。编程其实和别的技术没什么不同:最后的成功,都归结于不断的练习和辛勤的努力。

译文链接:http://news.html5tricks.com/latter-to-young-programmer.html
英文原文:Letter to a Young Developer
翻译作者:IT新闻 – 蒋丽丽

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/447509.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Docker中RocketMQ的安装与使用

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 搜索RocketMQ的镜像,可以通过docker的hub.docker.com上进行搜索,也可以在Linux下通过docker的search命令进行搜索…

大浪淘沙:不是所有的IT公司都以成功收场

本文列举了50家创业公司没有什么先后顺序,最后显示,其中21家是独立公司,19家被收购了,4家正在走下坡路,6家已倒闭。但是我希望有更多的公司彻底倒闭,留下实力最强大的公司。公司倒闭也许是重新开始的标志。…

解决:阿里云ECS服务器 远程连接不上、极慢 (主机监控的实现)

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 个人低配版的阿里云ECS服务器,突然发现用 Xshell 或者 git-bash 都连接不上... 第一反应发工单去问下为什么,然…

TIOBE 2014年7月编程语言排行榜:仅发布1月,Swift进Top 20!

摘要:TIOBE7月编程语言排行榜发布,本月最值得关注的是,苹果公司在WWDC 2014上推出新的编程语言Swift,发布至今仅一月有余,Swift竟挤进TIOBE排行榜的Top 20,排名第16位。Swift能取得如此骄人的成绩&#xff…

Math对象方法总结(向上取整、向下取整、四舍五入、取随机数,取最大值、取最小值)

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。

Docker 方式安装 gitlab ( 阿里云ECS )

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 1.查找镜像: docker search gitlab 2. 拉取镜像: docker pull 镜像名 我选择的是搜索出来的第一个镜像&…

商用的码流分析工具/YUV viewer

目前市场上有一些商用的码流分析工具是比较好的,能够辅助我们进行各个标准的码流分析: 1. Elecard StreamEye系列 可以分析H264/MPEG4/MPEG2的码流,暂时不支持其它标准。 2. H264VISA 比较好的H264码流分析工具 3. Vegas vegas是interra s…

生成多个 SSH-Key 、生成多个公钥和私钥

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 当有多个仓库要同时使用时,需要配置多个公钥、私钥。于是就要先生成多个。 PS:初次生成参见文章:查…

使用Lucid Virtu在有独立显卡的情况下使用Intel硬件加速H.264编码

在硬编码领域,大家都知道CUDA技术对于H.264视频编码速度的提升。然而实际上常见的高清H.264视频压缩都不是用CUDA技术进行硬编码,而是用传统的x264进行软编码,因为通过CUDA硬编码的视频效果远远差于x264软编码压缩出的视频效果。随着Intel Sa…

执行ssh-add时出现Could not open a connection to your authentication agent

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 若执行ssh-add /path/to/xxx.pem是出现这个错误:Could not open a connection to your authentication agent,则先执行如下命…

Intel硬件加速 VS CUDA完胜 视频转码感受

对比试用平台介绍 在体验了酷睿 I5 2300 在3D游戏和多任务、高清播放等方面的突出性能后,今天我利用空闲时间针对酷睿 I5 2300在高清转码方面上与本人的旧平台上对比了一下.,其结果也让人感到震撼。好了闲话不多说了,先来给自己新旧PC做个介绍…

解决 : Shell 脚本 $‘\r‘: command not found 问题

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 1.经查证,只是 Windows 的空行在 linux 中不识别,故需要用 dos2unix 来转换。 2. 安装 dos2unix,2 …

H.264 软/硬编码器 画质量化分析评测

第1页:前言——视频压缩无处不在H.264 或者说 MPEG-4 AVC 是目前使用最广泛的高清视频编码标准,和上一代 MPEG-2、h.263/MPEG-4 Part4 相比,它的压缩率大为提高,例如和 MPEG-2 相比,同样的压缩后画面品质,h…

解决:Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.8.2:deploy (default-deploy)

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 1. 执行 mvn clean deploy ... 想把 jar 包更新到私服仓库,报错: Failed to execute goal org.apache.maven.pl…

YV12 and NV12异同,

用videoCapture和IAMStreamConfig拿到的支持的格式列表。发现支持2中图像格式,YV12和NV12。具体是怎么样的内存分布不知道。查了些文档。自己修改了几个图。看出了点端倪YV12先看看 http://www.fourcc.org/yuv.php 上比较标准的定义:YV12 This is the f…

上传 jar 包到 nexus3、上传本地 jar 包到 maven 私服

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 1.登陆进入 nexus3,打开要上传的仓库目录:maven-releases 2. 选择要上传的本地 jar 包,并填写好对应…

从桌面到移动:异构计算翻天覆地的技术变革

摘要:在智能手机上,强大的计算单元,不仅仅是CPU一颗,还包含了GPU、DSP等器件。在传统的台式电脑中,异构计算已经说了好多年了。这篇文章有点长,但值得静下心来慢慢阅读。从桌面到移动,这是关于异…

集合源码阅读:ArrayList

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1.继承关系&#xff1a;public class ArrayList<E> extends AbstractList<E>implements List<E>, RandomAccess, Clon…

全球最杰出的14位程序员

摘要&#xff1a;ITWorld整理全球最杰出的14位程序员&#xff0c;包括Jon Skeet、Linus Torvalds、Jeff Dean等。一起来看下让我们膜拜的大神都有哪些&#xff1f; 近日&#xff0c;ITWorld整理全球最杰出的14位程序员&#xff0c;一起来看下让我们膜拜的这些大神都有哪些&…

集合源码阅读:LinkedList

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 # LinkedList -- 增删快。# 1.继承关系&#xff1a;public class LinkedList<E>extends AbstractSequentialList<E>impleme…