Skip to content

Latest commit

 

History

History
82 lines (32 loc) · 6.33 KB

what-should-known-starting-as-programmer.md

File metadata and controls

82 lines (32 loc) · 6.33 KB

[好文推荐] 给年轻程序员的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