[好文推荐] 给年轻程序员的8条建议

看到一篇写的很好的职业生涯建议,想想真的是这些道理.

翻译如下:

如同儿歌 “Ooh La La” 所唱的一样,我多希望年轻时就懂得现在才领悟的那些道理呀。那时候,我心里只有代码,才不会去想想自己的职业人生,也不会去主动维持良好的朋友关系。要是有人指点一二,那能少走多少弯路啊!

1.保持联系方式

我刚毕业时一门心思都扑在计算机上,如果谁将我和心爱的电脑隔离我甚至会很反感。好吧,这样说可能夸张了一点. 尽管那时候就认识很多行内知名的专家,也参加各种交流会议认识很多值得做朋友的人, 但很可惜,并没有留下他们的名片,也没有花什么心思去结交。只有在找工作时会加一些邮箱联系人(那时候还没有 meetup.com, 也没有微信)。

对于 现在的程序员 来说, “需要工作” 看起来有点难以理解. 但说真的, 那时候如果你只会基本的语法和使用搜索引擎(还没有谷歌), 短时间内很难找到个好工作。曾有段时间, 程序员们把找猎头称为是 无尽的骚扰。在多年以后很可能会再次上演这样的一幕。

更重要的是, 很多比我经验丰富的程序员也工作得不开心,甚至不算成功。有的是没有机会,有的是没能在合适的时间遇到正确的人。确实, 时机和运气都很重要, 但你也可以给自己创造机会. 也许你前9次去参加交流活动, 都没找到和你聊得来的人,你只是去做鲜花和背景, 但很可能第十次就遇到真正赏识你的人。

同时, 请多关注你的同龄人(peers)。也许在20多岁的时候, 你没有什么实力和影响力, 同龄人差不多也是如此。但5-10年以后, 情况就大不一样了,当年很无聊或者烦人的那些家伙, 可能会助你得到某些重要的机会。

2. 解决问题

幸运的是, 后来的我慢慢明白了这个道理。有个诀窍是使用排除法, 找3个推测去证明都错了,比证明某个推测正确要简单得多。此外,想一想可能的各种情况。比如说有提示说端口冲突, 但却怎么也找不到, 那也许是连接的网络不对,或者是IP地址未赋值,等等,也许连错误提示也是错误的。

解决问题的本质和中学时的代数很相似。消除所有可消除的变量,然后解出x。

3. 根据市场和规划选取一种语言/技术

当然, 你想用喜欢的语言, 但 Python 真的是你的最爱吗?(此处可代入任意其他语言). 你想将宝压在哪个上面? 是否比较小众, 可以赚更多的钱, 或者因为企业和社区使用广泛? 或者你想去的公司主推这门语言?

无论如何, 选一个靠谱的语言, 而不因为语法奇怪或者仅仅是猎奇。Hadoop吊炸天,这是一个事实。分析师预计其市场在几年内将会翻很多倍, 所以有巨大的上升空间. 各个公司也在大力建设基础设施,这是90年代以来从没见过的事。我认为 PaaS是极好的, 但在这个领域看不出对程序员有什么好机会. 大胆释放你的梦想和情怀, 但私下里还请细细斟酌。你现在喜欢的技术可能没几年就过时了。

4. 软件行业很少有真正的创新,比想象中更少

在软件行业干了5年的人, 已经能看到有很多换汤不换药的东西, 厂商换个名字重新包装下又可以大卖一番。如果工作了10年, 看到的事情可能更多。当你和老程序员交流时,就会发现你觉得很时髦的东西,他们却不以为然. 是有一些创新, 但大多都是把以前的技术组合一二。尽管 Hadoop 很火爆, 但 HDFS 只是一个分布式文件系统(distributed filesystem), 而分布式文件系统已经有很多年历史了。

5.把这当做你的事业, 而不是一份份工作。

刚工作的时候,我一直在跳槽,想想原因也挺傻的: 办公环境不满意, 觉得自己值更多的钱. 这一直困扰着我。也并不会长远考虑: 对未来有帮助吗? 一般来说工资低一些无所谓, 但要有更多的成长,有机会承担责任, 或者有更好的发展空间。也许我还是会进大公司 —— 然后就不陪他们玩了. 大公司的IT部门想晋升很难,而且机会也相对较少。

6. 每周工作40小时以上

并不是让你在外包公司或者血汗工厂累死累活, 但你应该多花一些时间在工作上. 如果你只在上班时间学习(公司用到的技术), 那么未来的路也就很狭窄, 而公司只会根据自身利益来培养你。

7.编程并不难

我不同意 Joseph Gentle 的观点。将软件和硬件分离以后, 很多人仍然把软件开发搞的一团糟. 要编程只需掌握 阅读(reading)、专注(concentration) 并有一定的 逻辑思维(logic) 即可。幸运的是, 现在有大量的书籍、课程和模板可以让你学习(请参考第6条). 在开发中和别人进行良好的协作? 这倒是有点难度。

8. 说句心里话, 请学会沟通

如果写作不好, 可以参加培训班。如果不擅长与人交谈, 那么请克服怯场, 参加一些培训, 或者在镜子前练习, 也可以参加一些交流活动或者讲座。沟通交流应该是和写代码一样重要的东西。

如果你工作超过五年, 你会给刚入行的同事什么建议呢?

附赠一句K神的劝勉: 只要把技术学精通了,迟早都能变现!

原文链接: http://www.javaworld.com/article/2597522/learn-java/what-i-wish-id-known-starting-out-as-a-programmer.html

原文日期: 2014年08月21日

翻译日期: 2016年03月12日

翻译人员: 铁锚 http://blog.csdn.net/renfufei

时间: 2024-11-08 04:32:56

[好文推荐] 给年轻程序员的8条建议的相关文章

如何提升你的能力?给年轻程序员的几条建议

收藏自腾讯开发平台:http://gad.qq.com/article/detail/7151319 一转眼工作已有8年,前两天公司一位初入职场的同事希望我给一些建议与经验.我觉得这个话题很有价值,这里以个人的想法与经历写成此文,希望给年轻的开发者们一些启发. 我工作过的公司有4家,NVIDIA, Google, Slide和Glow.其中两家是知名的大公司,Slide我是D轮过后加入的,那时约150人.Glow则是从它第一天创立,一直走到现在.个人的工作也从Developer,Tech Lea

[转]如何提升你的能力?给年轻程序员的几条建议

转自 http://tech.glowing.com/cn/advices-to-junior-developers/ 一转眼工作已有8年,前两天公司一位初入职场的同事希望我给一些建议与经验.我觉得这个话题很有价值,这里以个人的想法与经历写成此文,希望给年轻的开发者们一些启发. 我工作过的公司有4家,NVIDIA, Google, Slide和Glow.其中两家是知名的大公司,Slide我是D轮过后加入的,那时约150人.Glow则是从它第一天创立,一直走到现在.个人的工作也从Developer

给php程序员的40条建议 优化你的php代码(一)【转载】

给php程序员的40条建议 优化你的php代码,这些经验是资深php程序员多年的积累结果,经验之谈,对php开发者有很好的指导意义!搜集如下,可以时常翻出来看看. 1.echo 比 print 快. 2.尽量避免使用__get,__set,__autoload. 3.$row[‘id’]的效率是$row[id]的7倍. 4.尽量采用大量的PHP内置函数. 5.str_replace函数比preg_replace函数快,但strtr函数的效率是str_replace函数的四倍. 6.如果一个方法可

给新程序员的10条建议

(注:本文曾发表于<程序员>201509A期) 我最开始不是做软件开发的,是一个售后技术支持工程师,你懂的,就是公司卖出的设备坏了,我就到现场去鼓捣两下,换个零件,重启下系统什么的.后来我转行做软件开发,颇经历了一些曲折,遇到了很多实际的困难,再后来我成了程序员,干上了手艺活儿,就这么一路过来了,还出了两本书,<Qt on Android核心编程>和<Qt Quick核心编程>. 后来我也和一些刚入行的开发人员共事过,有的朋友可以很快度过适应期,有的朋友则会花费比较长的

程序员的10条建议

我最开始不是做软件开发的,是一个售后技术支持工程师,你懂的,就是公司卖出的设备坏了,我就到现场去鼓捣两下,换个零件,重启下系统什么的.后来 我转行做软件开发,颇经历了一些曲折,遇到了很多实际的困难,再后来我成了程序员,干上了手艺活儿,就这么一路过来了,还出了两本书,<Qt on Android核心编程>和<Qt Quick核心编程>. 后来我也和一些刚入行的开发人员共事过,有的朋友可以很快度过适应期,有的朋友则会花费比较长的时间,遇到各种不那么酸爽的事儿.你知道,我是一个 爱瞎琢磨

成为优秀程序员的101条建议(2)

33. 不断增强你现有的技能 如果你现在掌握一项技能就应该去运用它.除非有意识地进行改进,否则技能会随着时间的推移而逐渐消失,而且这个行业发展非常迅速,持续练习也很重要.要摆脱“我一直都是这样做”的心态,并进入“有更好的方法来做到这一点吗?”的思维方式. 如果你现在有一大包甜甜圈,这并不意味着你每天都可以吃一个??并长期保持这种状态. 34. 了解背后的原理 有时你必须表达自己的意见,因此了解其背后的原理非常重要.为什么解决方案 A 比解决方案 B 更好?提供有效的论据,你的意见将更加健全. 3

给Java程序员的几条建议

对于Java程序猿学习的建议 这一部分其实也算是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是LZ你是如何学习Java的,能不能给点建议? 今天LZ是打算来点干货,因此咱们就不说一些学习方法和技巧了,直接来谈每个阶段要学习的内容甚至是一些书籍.这一部分的内容,同样适用于一些希望转行到Java的同学. 在大家看之前,LZ要先声明两点. 1.由于LZ本人是Java后端开发出身,因此所推荐的学习内容是Java Web和Java后端开发的路线,非Java Web和Java后端开发的同学请

推荐!国外程序员整理的机器学习资源大全

推荐!国外程序员整理的机器学习资源大全 本文汇编了一些机器学习领域的框架.库以及软件(按编程语言排序). 伯乐在线已在 GitHub 上发起「机器学习资源大全中文版」的整理.欢迎扩散.欢迎加入. https://github.com/jobbole/awesome-machine-learning-cn C++ 计算机视觉 CCV —基于C语言/提供缓存/核心的机器视觉库,新颖的机器视觉库 OpenCV—它提供C++, C, Python, Java 以及 MATLAB接口,并支持Windows

推荐!国外程序员整理的机器学习资源大全(转)

本文由 伯乐在线 - toolate 翻译自 awesome-machine-learning.欢迎加入技术翻译小组.转载请参见文章末尾处的要求. 本文汇编了一些机器学习领域的框架.库以及软件(按编程语言排序). C++ 计算机视觉 CCV —基于C语言/提供缓存/核心的机器视觉库,新颖的机器视觉库 OpenCV—它提供C++, C, Python, Java 以及 MATLAB接口,并支持Windows, Linux, Android and Mac OS操作系统. 通用机器学习 MLPack