如果程序员能早知道这些该有多好!

本文提供了资深程序员给初学者的八条宝贵建议,包括重视人际交往、学会有效解决问题、根据市场需求选择编程语言和技术专长等,旨在帮助年轻程序员更好地规划和发展职业生涯。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

正如老牌乐队Faces的一首《Ooh La La》唱的那样,I wish that I knew what I know now when I was younger。年轻时,我只是单纯地喜欢写代码,对于自己的职业生涯和人际关系很少关心。如果我能早知道下面的8条建议,我就不会有现在的这么多麻烦。

1.注重人际交往

在我刚工作的时候,我真的非常专注于计算机,任何打扰我的人都让我有些烦恼。好吧,我确实有些夸大。尽管当时遇到了一些行业的知名人士和值得交的朋友,我却没有保留他们的任何名片。我从不刻意记他们的名字,也不主动去了解他们。找工作的时候我只去用户组。

我发现对于你们这些年轻的程序员来说找工作似乎是小菜一碟。但相信我——有许多次,有人对我说,你作为一个开发者,只知道基础的语法和怎么使用搜索(在我刚工作时还没有谷歌),想马上找到工作是不够的。甚至有一次,我只能不停地给猎头打电话和发邮件。这种情况后来时有发生。

更严重的是,许多比我技能更强的开发者很难找到满意的工作,因为他们从来都不想办法脱离现状。他们从来不在正确的时间见正确的人。可能时机和运气都不错,但他们仍然没有抓住机遇。即使你前九次参加聚会都没人与你交谈,你也应该为第十次聚会做好准备,万一下次就遇到有趣的人了呢。

此外,多关注你的同龄人,和他们多联系。尽管你们现在才20出头,能力和影响力都有限。但在五到十年之后,一切将大不一样,可能当初你因为觉得某人无趣、帮不了你而忽略他,现在他手中的珍贵机会也将忽略你。

2.解决问题

幸运的是,过了一段时间我就对解决问题习以为常了,但早期对我来说真是一场战争。解决问题的诀窍是不要深陷一个问题无法自拔。选择三个说法,去证明它们是错误的,而不是证明你自己是正确的。而且,不要只关注一种说法。假如有人说出现了端口冲突,而你不能发现任何端口冲突,那可能是网络错误或者未分配到IP地址,这种错误不是真正的错误。

3.根据市场和你的职业目标来选择编程语言或技术特长

每个人都想做自己喜欢的事。但你生命中的“真爱”Scala (或者其他语言),你真的愿意和它荣辱与共?哪怕它没落了,你也不放弃它?更真实的原因是做Scala竞争比较小,你可以挣更多的钱,所以它是你的“真爱”。

无论哪种原因,选择语言都要根据实际情况进行合理地选择,而不是建立在奇怪的热情上。Hadoop邪恶,冷酷,这是事实。然而,分析师预测在未来的几年里,这个市场将膨胀数倍,产生巨大的人才缺口。大量公司在以一种上世纪90年代我从未见过的方式建立相关的基础设施。我认为PaaS很棒,但我并没有看到开发者的大量工作机会出现。我们要明面上展示出激情和热情,但私下要作出冷静的、对自己最有利的选择。

4.软件行业真正的创新很少

5年以上经验的开发者绝大多数都曾遇到过,公司重命名产品,然后当做最新的产品销售。10年以上经验的开发者可能见过多次,都习以为常了。当你和一群前辈开会,你会发现你认为是新的东西,他们根本不在意,这种情况他们已经见得太多了。可能也有一些创新,但都是以前的技术的结合。Hadoop现在很火,但HDFS是一个分布式文件系统,而分布式文件系统已经存在几十年了。

5.从职业生涯的角度思考,而不是工作的角度

一开始我跳槽是因为一些愚蠢可笑的原因:我不想在一个小隔间里工作,我每小时可以多挣5美元,等等。这又成了我下次跳槽的原因。这样,在找工作时我往往会忽略最重要的东西:什么才是对我的职业生涯有帮助的工作?这样的工作往往钱少但有更多的责任和更好的机会。可能有机会我还是会去大公司工作——然后不久后辞职。在大的IT公司,在内部产生影响力很难,而且机会非常有限。

6.每周工作超过40小时

我并不是建议你拼命工作,相反,我建议你尽可能把时间用来投资你自己的事业。如果你只能在你老板不注意的时间里偷偷学习,那你要做好心理准备:你的选择总是有限的——你的老板雇用你不是为了培养你让你有更多的机会的。

7.编程并不难,除非你把它弄复杂

我不同意Joseph Gentle在这篇文章里的言论。自从软件行业被从硬件中分离出来,软件开发依然被我们弄得乱七八糟。编程仅仅需要阅读,专注,逻辑清晰即可。幸运的是,现在有大量的书籍,课程和模型告诉我们如何学完需要学的。但是,一旦有了软件有了规模,需要和人合作开发,就比较困难了。

8.学会沟通交流

如果你不能用英语(或者其他大家可接受的语言)准确地书写,就去上写作课。如果你不能克服内心对演讲的恐惧,那就去上课,在镜子前练习,参加聚会,学习。这和会写代码一样重要。

下面谈谈你的看法。如果你是有着五年以上经验的开发人员,什么事情是你希望一开始就知道的?如果你不足5年经验,你觉得这些经验哪条对你最有帮助?

本文,”What I wish I’d known starting out as a programmer” 首发于InfoWorld.

声明
原文:What I wish I’d known starting out as a programmer

作者:Andrew C. Oliver

译文:潘威威的博客-如果程序员能早知道这些该有多好!-http://blog.youkuaiyun.com/panweiwei1994/article/details/77456499

译者:潘威威

转载必须在文章明显位置中保留原文链接、作者、译文链接和译者等信息。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值