`
v5browser
  • 浏览: 1138250 次
社区版块
存档分类
最新评论

给年轻程序员的建议

 
阅读更多

偶尔的,我会被人问道:如何成为一名优秀的程序员,更或者,如何成为一名程序员。每次人们问起,我都力图给出不同的答案。因此,我的答案是各种各样的。


下面就是我认为的成为一名优秀的程序员需要做的一些事情。记住,想成为一名程序员,很多条路可走,这里列出的只是我的方法。


1.解决你自己的问题


从外面获取答案和自己解决问题、找到答案,这两种方式是有区别的。当你自己解决一个问题时,你不仅解决了这一个问题,也意味着解决了跟它类似的数百万问题。这是一个先投资后收获的过程。有时,你可能需要花2到3天的时间解决一个问题,这没什么;这是你的前期投资。


2.从做小程序开始


我说的小程序,是指100行左右的。目前为止,《Java程序设计教程实验手册(翻译版)》这本书是我见过的最好的编程书。从第一章到第十章,里面的所有习题都做一遍。当你做完了这些,你就对编程有了相当的掌握了。


3.仿造软件


找一个你喜欢的网站或游戏,把它仿造出来。在你真正的想做一件项目前,先做完这个。这个能促使你学到前沿的编程技术,而且能让你更容易的被招聘公司选中。做3-5个这样的仿制项目后,你就能实现任意的你想要的东西了。


4.每个项目都要学到新东西


每次项目都努力使用一些听到过但从未使用过的新东西。没有使用过Jquery,那下次项目中就使用它;没有试过测试驱动开发,下次项目就是你的实验品;你明白我的用意,对吗?


5.说“行”


如果有人请求你为他做些什么东西,记得要说“行”——如果你从来没有给别人做过什么东西的话。我知道你可能会想,我自己还有无数的东西要做呢,但从经验来看,除了把主要时间花在自己有利可图的项目上外,你也应该花一些时间做一些慈善项目。这样做你会得到人们的认可,人们会想着你,如果有机会的会话,他们就会引荐你。


6.交结程序员朋友


这是另外一个获得引荐机会的方法。总有机会,你的程序员朋友的盘子装满了,他们需要有人把多余的商业机会接下来。这时他们需要你出现。同样,当你的盘子装不下时,你也需要有人帮你把活接走。


7.成为一个领域专家


广闻博识,同时要至少精通其中一项。编程世界很大,没有人能掌握所有东西,所以,要有一个专长。例如,成为一个本地应用或金融软件方面的专家。


[英文原文:Advice to young programmers]
分享到:
评论

相关推荐

    老程序员给年轻人的建议和忠告 给程序员的20条建议

    老程序员给年轻人的建议和忠告 老程序员的共识 给程序员的20条建议

    给年轻程序员的几句话

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

    那些牛X的程序员,35岁以后都去了哪?

    对此嵩哥的建议是接受这个设定:干程序员这行就是前期英雄发育快, 打后期很吃力。所以在你发展顺风顺水的时候,就应该开始考虑自己的Plan B了。 就像Jack Ma所说的:在晴天补屋顶。 人无远虑, 必有近忧。 为了...

    Java开发者应当理解的专业术语

    本文将和你分享一些 JVM “专业术语”,程序员在对 JVM 做任何的性能和垃圾回收调整之前理解和记住这些“专业术语”是非常重要的。在文章的后还提供一些小技巧,包括一些高性能微调的佳实践。关于 Oracle HotSpot 的...

    scratch-wasabi:用于开发Scratch项目的学习内容-CoderDojo Sushi Edition

    它们旨在帮助年轻的程序员开始创建自己的Scratch项目,尤其是游戏! 我们已经选择了一些最常用的组件,并将它们放在一起,希望编码人员可以“挑选和混合”他们在自己的项目中想要的东西。 例如,您可能想考虑如何...

    欧拉公式求圆周率的matlab代码-Competitive-Programming-Learning-Path:该文档的独特之处在于,它将包含

    如果您是资深的,在竞争性编程方面经验丰富,我们敦促您通过撰写此文档来帮助年轻的新兴程序员。 您也可以随时将您的建议直接发送给我们。 #免责声明 本文档中提供的所有文档,书籍,课程和链接都可以在网上免费

    学习 3D 中的地形:focus on 3D terrain.pdf

    这套教程就像给予程序员一个最喜爱的主题.其实对于地形的开发.并不是一个简单的问题.而是相当复杂的过程.本游戏地形开发教程.给你最好的解决办法,并让你设计出一个完美的幻境世界的思维。其实,甚至可以说,目录游戏...

    人工智能的发展历史概览.pdf

    1955年: Allen Newell(研究员),Herbert Simon(经济学家)和Cliff Shaw(程序员)共同撰写了第⼀个⼈⼯智能计算机程序 逻辑理论家。 1958年: McCarthy开发了Lisp,这是⼈⼯智能研究中最受欢迎且最受青睐的编程...

    自己动手写操作系统(含源代码).part2

    回答前面读者的质疑,学软件编程并不需要看这本书,想成为优秀程序员和黑客的朋友,我强烈建议你花时间来阅读这本书,并亲自动手实践。正如于渊在本书结尾中所说“我们写自己的操作系统是出于一种好奇,或者说一种...

    自己动手写操作系统(含源代码).part1

    回答前面读者的质疑,学软件编程并不需要看这本书,想成为优秀程序员和黑客的朋友,我强烈建议你花时间来阅读这本书,并亲自动手实践。正如于渊在本书结尾中所说“我们写自己的操作系统是出于一种好奇,或者说一种...

    ggplot2:数据分析与图形艺术

    ggplot2是R世界里相对还比较年轻的一个包,在它之前,官方R已经有自己的基础图形系统(graphics包)和网格图形系统(grid包),并且Deepayan Sarkar也开发了lattice包,看起来R的世界对图形的支持已经足够强大了。...

    c#学习笔记.txt

    可以把任何类型的数值给object类型. 7,string类型 string 类的实例表示 Unicode 字符串。尽管 string 是引用类型,但相等运算符(== 和 !=)被定义为比较 string 对象(而不是引用)的“值”(7.9.7 字符串相等...

    基于mindspore框架和GAN实现的漫画脸生成python源码+项目说明+模型.zip

    在使用过程中,如有问题或建议,请及时私信沟通。 2.主要针对各个计算机相关专业,包括计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网等领域的在校学生、专业教师或企业员工使用。 3.项目具有丰富的...

Global site tag (gtag.js) - Google Analytics