当前位置: 首页 > 科技观察

如何成为专家级程序员

时间:2023-03-18 02:24:14 科技观察

很多人问我如何成为专家级程序员。这个现在我们还没有一个统一的模型,但是我还是想把我的一些经验分享给大家。如何成为一名专家级程序员,很大程度上取决于你开发的软件和你所处的行业,以及你所在公司使用的工具等。对于本文提到的一些方法,你可以选择适合你情况的方法。这篇文章只是我个人的看法。如果您有任何补充或建议,请随时告诉我。同样重要的是要注意,成为专家与被视为专家不同。很多人虽然被尊为专家,其实不然。但如果人们相信他是专家,他就可以从中赚钱。另外,有些高手虽然不被认可,但是如果你真的是高手,你可以用自己的行动来证明这一点:金子总会发光。但是,这方面显然超出了本文的范围。这是另一个关于个人品牌的故事。什么是“专家”,需要多长时间?在我讨论如何成为专家之前,请给我30秒的时间来解释什么是专家以及成为专家需要多长时间。3个月?3年?两者都不!根据MalcomGladwell的书《Outliers》,我们平均需要10,000小时才能成为真正的专家。下巴掉了吗?是的,你没有看错,是一万小时!也就是说,如果每天10小时,则需要3年;如果每天5小时,一年200天,则需要10年。哇,10年了!!!话虽如此,也许3年的经验使我有资格成为专家或至少是高级开发人员。但是当我有10年的经验时,我不敢认为自己是专家——因为我知道有很多很多我需要知道但我还不知道的事情。还有,这个行业(Java企业开发)在过去10年发生了很大的变化,我习惯使用的技能也逐渐过时了。所以,即使你已经是专家,你的话也会过时,你需要重新开始。还有一点:我们不可能成为综合专家。也就是说,你可能在某项技能上比B人强,但B人在另一项技能上可能比你强。也就是说,我们不能样样都比别人好,也不能样样比别人差。三人同行,必有我师。你总是可以从别人那里学到你没有或缺乏的东西。我遇到过不少开发人员,他们表现得好像什么都知道,但事实显然并非如此。这也是识别新秀的一种方式。只有菜鸟才相信他们无所不知,并会在网上或办公室与人争论。他们说的话通常很绝对,比如“这个总比那个好”,“这个问题应该这样解决”等等,专家很少这么说。因为他们明白没有绝对,很多事情往往取决于当前的形式、开发人员的技能、公司选择的工具、公司政策、个人喜好等等。只有没有经验的开发人员才会相信世界只有黑白两色。专家了解到,除了黑色和白色,还有灰色和其他各种颜色。如何成为专家对于您需要学习的大多数技能,以下四个步骤(重复向上或向下)将帮助您成为专家:其理论知识。它可以通过书籍和教程或课堂教育来学习。去做一旦你学会了理论技能,就该在现实生活中应用这些技术了。这样做会让你知道你所学的理论哪些是正确的,哪些是错误的。大学里学到的很多理论不能应用到实际中,或者不适合你现在的情况。在使用Discussit技术一段时间后,你会发现你可以灵活地使用它来解决问题,这时你需要与其他有经验的人讨论该技术。可以讨论应用这些技术的最佳方式、理论局限性所在、还可以添加什么等等。总而言之,您需要讨论如何进一步开发该技术。您还可以通过讨论从其他人那里学到很多东西,即使您认为自己已经无所不知。教它也是检查差距和通过向他人传授您的技能来填补差距的好方法。也许有很多事情你只是知道你必须做,但从来没有想过你为什么要做。必须解释这些行为会迫使您思考这些原因。此外,可能还有一些技术点你没有,因为你不需要它们(例如,Web服务规范的某个点)。同样,教学让你不得不去掌握这些边角边角,越来越专业。#p#如何成为专家级的程序员以上就是如何成为专家级的。接下来,我将讨论如何成为专家级开发人员。作为开发人员,我们大多数人都在某个行业工作,使用特定的平台。如果你不断地转换工具和行业,你永远不会成为真正的专家。也许你会成为某种“万事通”,这当然在某些情况下非常有用。但是如果你从来没有过专业的平台和行业,那就用零食吧。我的职业生涯始于1998年的Web应用程序,然后我发现我一直在不断更换工具,这意味着我没有一个工具是触手可及的。我所有的时间都花在了学习新工具上,我感到筋疲力尽。于是,我决定专注于一门面向对象的语言——Java。当时。NET技术还没有出来。我是1999年才开始做Java的。在你的专攻之路上,你首先要选择一个平台,可能还有一个行业。行业并不重要,但了解业务领域可以提高简历的卖点。学习一个平台,首先要选择一种编程语言,比如Java。在Java中,它的平台分为两个:标准版和企业版。一旦掌握了平台,就可以开始学习与平台无关的技术,例如设计模式、分布式系统设计、架构等。你应该花更多时间学习这些技能,因为它们更容易转移到其他新技术平台。将来你可能会离开软件开发去其他业务领域工作,比如项目管理或架构师。但是你要知道的是,一旦你停止使用这个技能,那么慢慢地你就不能再被称为这个领域的专家了。下面是如何成为专家开发人员的图表。从底部开始,逐步向上。蓝色层是平台独立层。其他颜色是特定于平台的层。如果没有找到你的平台,你也可以自己添加。具体到个人信息,恕我无法一一准确描述。如果我不知道应该学习什么技术怎么办?还有一个办法,可以看看招聘广告。看看他们最常提到的工具和技术是什么?还可以阅读在线软件杂志。看看他们谈论最多的技术是什么?不要忘记论坛。每个人问得最多的问题是什么技术?还有,大家都在谈什么,急着学什么技术?也就是说,这就是明天会火的技术!英文原版:HowToBecomeanExpertDeveloper