程序员需要学习如何“投资知识”
#javascript #编程 #python #programmers

啊,富兰克林,那个家伙总是说深刻的真理。嗯,我们可以通过尽早醒来和早睡来真正成为伟大的程序员吗?早鸟可能会捕获蠕虫,但是早期的蠕虫会发生什么?

但是,富兰克林的开幕词确实达到了知识和经验的确是您最有价值的专业资产。

不幸的是,它们是易腐烂的资产。随着新技术的出现以及语言和环境的发展,您的知识可能会过时。不断变化的市场力量可能会使您的经历过时且无关紧要。鉴于技术和社会变革的加速速度,这可能会特别迅速发生。

作为您的知识价值,您对公司或客户的价值也会降低。我们想防止所有这些发生。

学习新事物的能力是您最关键的战略资产。但是如何获得学习方法并知道要学习什么?

知识投资组合。

我们可以考虑程序员对计算过程的了解,其工作的领域以及他们作为知识组合的所有经验。管理知识投资组合与管理金融投资组合非常相似:

1ã常规投资者有定期投资的习惯。

2ã多元化是长期成功的关键。

3智能投资者在其投资组合中平衡保守和高风险的高风险投资。

4ã投资者低价购买高价以获得最高回报。

5ã定期审查和投资组合的重新平衡是必要的。

要在职业生涯中取得成功,您必须使用相同的指导原则来管理知识组合。

好消息是,管理这种类型的投资是一种技能,就像其他任何人都可以学习。诀窍是从一开始就开始这样做,并养成习惯。开发一个可以遵循并坚持下去的例程,直到成为第二天性。一旦达到这一点,您会发现自己会自动吸收新知识。

建立知识组合。

·定期投资。
像金融投资一样,即使有限,您也需要定期投资您的知识投资组合。习惯本身与总数一样重要,因此设置固定的时间和地点 - 这可以帮助您克服常见的干扰。下一节将列出一些示例目标。

多元化。
您知道的越多,您就越有价值。至少您应该知道当前工作中特定技术的来龙去脉,但不要止于此。计算机技术迅速变化 - 当今的热门话题明天几乎是毫无用处的(或至少不那么受欢迎)。您拥有的技能越熟悉,您将拥有的适应性越大。

·风险管理。
不同的技术均匀分布在从高风险,高返回到低风险,低回报的频谱中。将所有钱放在高风险股票中是不明智的,因为它们可能突然崩溃。同样,您也不应该在保守的地区投入所有资金 - 您可能会错过机会。不要把所有的技术鸡蛋都放在一个篮子里。

·低购买,高价。
在新兴技术变得流行之前开始学习可能与寻找被低估的股票一样困难,但是奖励可以同样好。在Java发明后,学习Java可能会冒险,但是当Java变得流行时,这些早期用户获得了可观的回报。

·重新评估和调整。
这是一个充满活力的行业。您上个月开始研究的时尚技术可能已经冷却了。也许您需要刷新您一段时间以来未使用的数据库技术的知识。另外,您可能想尝试另一种语言,以使您成为新角色的更好位置...

在所有这些指导原则中,下面是最简单的实施。

ï¼软技能for程序员unstopable.gumroad.com/l/btxvmï¼

对您的知识投资组合进行定期投资。

目标。

既然您有了一些指导原则,并且知道何时将知识组合添加到您的知识组合中,那么获取形成它的知识资产的最佳方法是什么?这是一些建议:

·每年学习一种新语言。

不同的语言以不同的方式解决了相同的问题。学习几种不同的解决方案可以帮助扩大您的思维,并防止陷入传统的模式。此外,由于大量的免费资源,学习多种语言变得更加容易。

·每月阅读一本技术书籍。

虽然有大量的简短文章和互联网上有偶尔可靠的答案,但获得深刻的理解通常需要阅读更长的书籍。浏览书店页面以获取与您当前项目主题有关的技术书籍。建立这个习惯后,每月阅读一本书。当您掌握了当前使用的所有技术时,扩展视野并学习与项目无关的东西。

·也阅读非技术书籍。

请记住,人们使用的计算机是人们使用的,您所做的最终是满足人们需求的 - 至关重要。您与人合作,被人们雇用,甚至可能面临人们的批评。不要忘记方程式的人类方面,这需要完全不同的技能(通常称为软技能,这听起来很容易,但实际上对掌握来说是非常具有挑战性的)。

·参加课程。

在当地大学或在线寻找有趣的课程,或者您可能会在下一个商业博览会或技术会议上找到一些课程。

·加入本地用户组和论坛。

不仅是观众;积极参与。隔离自己对您的职业有害;了解您公司以外的人正在做什么。

·尝试不同的环境。

如果您仅在Windows上工作,请花一些时间在Linux上。如果您对简单的编辑和Makefiles感到满意,请尝试最新且复杂的IDE,反之亦然。

·保持最新。

注意与您当前正在从事的技术不同。阅读相关新闻和技术文章。这是了解使用不同技术和使用特定行话的人的经历的绝佳方法。

连续投资至关重要。一旦您对新语言或技术感到满意,请前进并学习另一种。

您是否在项目中使用了这些技术,还是应该把它们放在简历上。学习过程将扩大您的思维,打开新的可能性,并为您提供有关如何处理任务的新观点。思想的交叉授粉至关重要。尝试将您所学的知识应用于当前的项目。即使项目不使用特定技术,您仍然可以借用想法。例如,理解面向对象的编程可能会导致您编写更多结构化的C代码,或者掌握功能编程范式可能会影响您接近Java的方式,等等。

学习机会。

您正在漫不经心地阅读,呆在领域的突破的最前沿(这不是一件容易的事)。然而,当有人问您一个问题,而您真的不知道,不要只是在那里停止寻找答案作为个人挑战。询问周围的人或在线搜索 - 不仅在主流界,而且在学术领域中。

如果您找不到自己的答案,请寻找能够找到它的人,并且不要让问题持续存在。与他人互动可以帮助您建立网络,您可能会在此过程中找到解决其他无关问题的解决方案 - 您现有的知识组合将不断扩展。

所有阅读和研究都需要时间,时间总是很短。因此,预先准备,以确保您无聊时可以阅读一些内容。在医院排队等待通常是一个完成书籍的绝佳机会 - 只记得带上电子阅读器。否则,您可能最终会翻阅医院的旧年鉴,并于1973年从巴布亚新几内亚折叠。

批判性思维。

最后一点是批判性地思考您阅读和听到的内容。您需要确保投资组合中的知识是准确的,并且没有受到供应商或媒体炒作的影响。当心教条狂热者认为他们的观点唯一正确的教义 - 他们的学说可能不适合您或您的项目。

永远不要低估商业主义的力量。搜索引擎有时只是优先考虑受欢迎的内容,这并不一定意味着您最好的选择;内容提供商也可以付费以使其材料排名更高。书店有时会以突出的书本放置一本书,但这并不意味着这是一本好书,或者甚至很受欢迎 - 这可能只是一个为那个地方付费的人。

ï¼软技能for程序员unstopable.gumroad.com/l/btxvmï¼

批判性地分析您阅读和听到的内容。

批判性思维本身是一门完整的学科,我们鼓励您彻底学习和学习这一学科。让我们从提出一些发人深省的问题开始。

问“为什么?”五次。

我最喜欢的咨询技术之一是问“为什么?”至少五次。这意味着在得到答案后,您问“为什么?”再次。重复此过程,就像一个持久的四岁问问题一样,但请记住比孩子更有礼貌。这样做可以使您更接近根本原因。

·谁从中受益?

尽管听起来可能有些唯物主义,但是追踪金钱的流程通常可以帮助您理解潜在的联系。他人或其他组织的利益可能与您自己保持一致,或者他们可能不一致。

â·背景是什么?

一切都发生在自己的上下文中。这就是为什么声称要“解决所有问题”的解决方案通常不会坚持,而促进“最佳实践”的书籍或文章通常无法忍受审查。 “最适合谁?”是一个很好的问题,以及有关先决条件,后果以及情况是短期还是长期的问题。

·何时何地工作?

在什么情况下?为时已晚吗?还为时过早吗?不要只是呆在一阶思考(接下来会发生什么);从事二阶思维:那之后会发生什么?

- 为什么这是一个问题?

是否有基础模型?这个基础模型如何工作?

不幸的是,如今找到简单的答案具有挑战性。但是,借助广泛的知识组合和对您遇到的广泛技术出版物的批判性分析的触感,您可以掌握这些复杂的答案。

ï¼软技能for程序员unstopable.gumroad.com/l/btxvmï¼