单击“开发人员技术前线”,然后选择“星”
观看|星星|消息,真爱
来自: 技术博客
地址:
介绍
古人说:“生活直到你老了,要学习直到你老了。”互联网是最艰难的行业之一。对于工程师而言,“加班”是“普遍的”。同时,每天都在互联网技术发生变化,许多工程师厌倦了处理和抱怨。如此之多,以至于很长一段时间以来都散发出了广泛的误解:35岁是程序员工作的终结。
如何在繁忙的工作中积累技术并建立个人核心竞争力是许多工程师正在考虑的一个问题。本文是我自己的摘要,试图从三个方面回答:
如何学习
在繁忙的工作中,毅力,持续学习和进步是一项艰巨的任务,需要强大的毅力和坚定的决心。如果该方法不合适,则努力的结果将是结果的一半。幸运的是,我们的古人和哲学家总结了许多出色的学习方法,这是一些重要的原则。遵循这些方法肯定会对每个人的工作和学习都有很大的好处。
关键是持久性
据报道,过去几十年来的知识量超过了过去几千年来人类知识的总和。计算机字段绝对是当代知识中最快的更新之一,因此工程师必须接受这样的现实,以至于他们掌握的深度知识系统很快就会被消除。要继续成为计算机领域的优秀建筑师,您必须继续学习和掌握最新技术。简而言之,您无法学习。
俗话说:“冷冻三英尺不是一天的寒冷,水从石头上掉下来,而不是一天的辛苦工作。”通往建筑师的道路漫长而艰巨。如果您轻易放弃,您的所有努力将立即浪费。要成为一名出色的建筑师,关键是坚持不懈!
尽管知识的更新很快,但基本理论的变化非常慢。这是“陶”和“图像”之间的关系。即使是世界上万物,道也永远不会离开它的根源。对于那些非常基本的理论知识,我们需要经常审查它,即“不时学习和练习”。
注意练习
古人说:“知道你在纸上知道的东西总是很浅,你必须自己练习。”在学习领域中有一个所谓的721个模型:70%的个人成长来自工作练习,有20%来自其他人的学习,而10%来自培训。尽管这一理论是有争议的,但对于工程师来说,通过实践,学习和培训对其重要性进行分类是有益的。因此,将重要性与实践中的练习和成长相同是最重要的学习原则。
人类认知有两种类型:感知认知和理性认知。这两种认知是不可替代的。实践主要来自情感学习,阅读更像是理性学习。以学习为例,很难想象谁可以通过学习书籍知识来开车。
书籍知识主要是关于讲道的 - 讲述抽象原型,并且对其特定应用方案的描述通常含糊不清,并且还简要讨论了抽象原型之间的关系。使用相同的精确语言来描述应用程序方案和关系将失去注意力并使人们感到困惑。因此,仅读一本书来增长,就像走一条腿一样。
正确的学习方法是练习,充分利用感官认知潜力,并在项目中磨练自己。在实践中,故意对某些关键运动的实践也将以一半的努力获得两倍的结果。
注意交流
“如果我比其他人更远,那是因为我站在巨人的肩膀上。”我们需要向他人学习。向老师,领导者,同事,下属甚至对手学习是快速增长的重要手段。
向老师和领导者学习已经成为人们的生活习惯的一部分。但是向同事甚至对手学习也很重要,因为这些人与我们自己更相似。因此,我们必须观察更多,掌握我们拥有的优势并丢弃我们的弱点。您还应该“不愿意问问题”,以了解团队的弟弟和下属。
此外,积极参与项目中的特定建议讨论也非常重要。参与者认为相关的环境先验,讨论的观点和建议也结合了演讲者的多重知识和技能。因此,讨论使参与者能够非常全面地和三维理解书籍知识。同时,在与专家讨论时,他们的观点将就像修剪器切割分支一样,迅速减少了他们知识领域的疑问。
注意摘要和产出
工程师将在实践中掌握很多细节,但是即使他们掌握了所有细节而没有深刻的摘要和思考,他们也会属于“学习不思考的状态,他们也会感到困惑”。增长的“定量变化”来自对细节的逐步和深入控制,而真正的“定性变化”来自对“陶”的更深入的理解。
出口经验并接受他人的测试是一个高级摘要。此输出不仅对他人有所帮助,而且对您有所帮助。总结有很多方法,包括组织共享,撰写技术文章等。当然,“我每天三次检查自己”也是总结的好方法。简而言之,总结和共享更多是最大的美德!
回答别人的问题也是个人成长的重要手段。有时,我不太了解某个问题,但是当我向其他人解释它时,我突然感到开明。因此,“不懈地教别人”使他人和您自己受益。
注意计划
一切都是计划的,如果不计划,它将被放弃。在长期学习的职业中,一个好的计划是成功的一半。
长期计划
长期计划的实施需要毅力和决心,但是进行正确的长期计划需要远视的愿景,超级敏感的神经以及赢得奖品的运气。对于大多数人来说,长期计划主要是关于“设置指示”。但是,遵循以下原则可以减少犯定向错误的可能性:
短期计划
良好的短期计划应在生活,成长,绩效和促进之间取得平衡。大多数公司都会设置一个评估周期 - 从至少一个月到一年。因此,最好将评估周期用作短期学习计划周期。本质上,计划是一个多目标优化问题。它有一系列理论解决方案,我在这里不会详细解释。根据相关理论,我提供了一个简单简单的解决方案:
对于此计划,应注意以下几点:
此外,短期计划也可以从以下各个方面进行优化:
那些纠结的困惑
生活是一场马拉松,在漫长的旅程中不可避免地有许多困惑。混乱就像一个束缚,导致我们停滞不前,混乱就像一个僵局,导致我们停滞不前。
接下来,我将总结一些我在工作中遇到和看到的典型混乱。这些困惑可能已经困扰了作者很长时间了,或者困扰着我的同事和朋友。当这些混乱松了一口气时,每个人都会觉得自己被释放,为下一阶段的旅程提供了充满积极的能量。生活就像一段旅程。您不必关心目的地。您关心的应该是沿途的风景和观看风景的心情。良好的心态是技术旅程中最好的伴侣。我希望通过解决问题的旅程,每个人都会有一个愉快的心情来体验漫长的学习旅程。
学习无尽吗?
有必要承认一个残酷的现实:人类的生活是有限的,但是知识是无限的。以有限的生活学习无限知识是不可能完成的。当一些工程师想到这一点时,他们不禁感到悲观。如果该方法是正确的,努力工作,那么您不必感到难过。
虽然,整体人类知识系统一直在扩展。但是,在许多重要的工程次场中,基本理论并不深刻。在计算机的许多重要领域中,工程师可以在有限的时间内掌握核心关键点。
例如,密码学被认为是一门非常高级的学科,但是大型密码学的基础是数字理论的非常简单的理论 - 主要因素分解:鉴于两个质量数字,很容易计算其产品,但是鉴于两个质量数量的产物,分解的计算量是非常令人惊奇的。
“一致性”可以被视为计算机字段中最经典的问题。它是从多核,多CPU到多线程的所有分布式系统的基础,从跨机器到跨计算机房间,几乎所有计算机从业人员都在解决此问题,但是它们提供了一个非常优雅的解决方案。
许可管理是许多工程师的噩梦,但是如果您可以处理“(ABAC)”和“角色 - (RBAC)”,它也可以达到相当大的水平。
此外,技术学习是一种对抗。尽管学习是无尽的,但超越大多数对手是胜利。因此,使用正确的学习方法,长期投资将构成核心竞争力。
没有绝对出色的技术,只有真正的专家
致力于取得技术成就的工程师有一天梦想成为技术专家。但是技术专家的标准非常有争议。这是对悠久历史的误解:对某种技术的掌握被用作技术专家的标准。我经常遇到这种情况:因为我已经掌握了某些技术,例如,一些工程师称自己为专家。一些工程师非常欣赏其他团队,因为该团队使用了一些技术。
这种误解的原因有很多:首先,如果您有更多技能,您将不会压制自己。您掌握的越多,越好。掌握许多技能的人自然不是新秀。其次,在互联网时代出现之前,信息获取非常昂贵。这导致了一项技能的掌握,该技能可以为个人甚至整个公司带来优势。在互联网时代,各种框架的出现以及开源的普及迅速消除了许多技能,同时降低了许多技术的学习阈值。因此,目前,掌握某种技能知识只能是一个短期目标。那些充满某些技能的人需要记住:骄傲使人们撤退。
所谓的麻雀很小,具有所有内部器官。如果要求您成为创作者,那么设计麻雀和设计大象的复杂性就没有明显的差异。为了实现最终,所需的技术和能力是一个看似小的企业需求,非常全面和先进。真正的专家没有使用他掌握的技术来阻止客户需求,而是倾听客户需求,并提供解决卓越的解决方案。满足客户的需求是一场竞争,真正的大师是与之满足和战斗的比赛。
你不能没有做项目成长
在项目中学习是发展最快的方法之一,许多工程师非常喜欢这个过程。但是您全年都从事项目,并且您可能会在外包公司中工作。对于一家产品生产公司而言,如果从年初到年底从事项目,它要么处于初始创业阶段,要么是进行大量失败的项目,这不是一个特别理想的状态。通常,项目之间会有一些非项目的时间。在此期间,一些学生会变得困惑和成长非常缓慢。
真的,项目越多越好吗?答案显然是否定的。重复的项目不会为工程师带来新的增长。不断地进行项目,因此缺乏学习新知识的时间,将导致“在没有学习的情况下进行,将导致失败”。真正使工程师脱颖而出的是项目的深度,而不是项目的持续工作。因此,在项目之间的差距期间,工程师应该珍惜难得的呼吸,深入思考并使项目更加精致的机会。
如何改善项目的深度?一般而言,任何项目都有目标。项目完成后,基本上实现了目标。但是客户真的很满意吗?该系统的可用性,可靠性,可伸缩性和可维护性是否已达到极端?这些问题的答案始终是否定的。因此,任何有价值的项目都可以深入研究。深入研究项目和深入思考也可以锻炼工程师的创造力。希望继续进行项目的人就像一个致力于训练更多马匹而无法发明汽车的人。锻炼创造力不是一夜之间可以实现的,而是需要长期思考。简而言之,工程师应该始终感到时间不够,毕竟,时间是最有价值的资源。
责任真的很小吗?
很多时候,工程师的系统数量和团队规模的负责与他或她的“世界上的故事”呈正相关。但是,武术世界的地位不一定与技术增长有关。提高技术能力的关键是项目深度和客户挑剔。您拥有的项目越多,您投资单个项目的时间就越少,并且您倾向于肤浅。需要避免的是“不计划政府处于立场”的情况。团队越大,您需要投入管理就越多。在不成熟的管理技能和技术远方的前提下,强迫对大型团队的责任可能导致个人疲劳和团队失败。最后,“一将军是无能的,耗尽了三支军队”,这种影响可能会适得其反。
从技术发展的角度来看,技术经理应注意他们可以控制的活跃项目的数量,并努力增加活跃项目的影响力和技术深度。团队成员的数量应与个人管理能力,计划能力和需求控制能力一致。如果多个人从事工作,每个人的成长都是有限的。每个人都从事简单而重复的工作,这对技术增长没有任何好处。团队管理和项目管理需要逐步发展,并避免“拉幼苗以鼓励增长”。
你必须成为老板吗?
一些工程师的生活理想是成为团队中的技术老板,这当然是值得称赞的理想。但是,如果整个团队具有平均的技术能力和发展潜力,而您是技术上最强大的人,那么这比幸运的人更像是一种悲伤。这种场景称为“ Wu 开设商店”。团队中的顶级技术专家并不是不可用,但是为了继续增长,需要满足以下条件:
否则,加入强大的技术团队可能是一个更好的选择,至少不是值得骄傲的。
平台的传奇
平台化可以视为“高端”的代名词,许多工程师试图参与“平台化”。但是,与其他业务需求相比,平台需求没有根本差异。无论是基于平台的需求还是普通业务需求,其价值都来自客户价值。差异如下:
最终,平台化是一个普遍的需求。在实施平台化之前,您必须避免以下两个误解:
因此,平台化的最佳实践是:投资最少的资源并解决最大的问题。该平台解决了一切,客户可以享受好处。
做基本技术真是太棒了吗?
我经常听到学生对基础技术部门的学生表示钦佩,并对从事商业技术的学生表示蔑视,他们认为存储,消息队列,服务治理框架(例如 内部使用的)可以称为真实技术。事实并非如此,更基本的不一定更深刻。
例如,以下笑话已经流传了很长时间:语言越先进,技术就越少。但这是真的吗?以Java和C为例。这是两种完全不同的语言,所需的技能完全不同。 C可能更接近操作系统,并且有更多机会处理CPU和内存。但是,为了充分利用Java,程序员必须非常精通面向对象,设计模式和框架技术。对于Java工程师来说,确实并不容易转移到C方向,但是作者还看到许多C工程师转移到Java语言不适合本地环境。
基本技术和业务应用技术将不可避免地存在不同的问题,并且高低之间没有区别。这种误会有两个原因:
相比之下,商业技术和基本技术具有自己的优势。但是,真正的大师专注于解决问题,所有技能都是技能。
可行性调查的陷阱是什么
可行性调查通常在工作中进行。进行可行性研究时,请避免以下情况:
可行性研究的结论应该是福利和成本之间的权衡,格式通常如下:
工程师天生不擅长沟通吗?
在实际工作中,沟通引起的问题接一个地出现。许多工程师内向,总是被标记为“不交流”。实际上,沟通技巧是工程师最重要的能力之一。良好的沟通是有效的工作和学习的基础,也可以通过学习来掌握。下面我将以工程师的语言谈论我的沟通经验。
第一个常见的问题是沟通的可靠性。从可靠性的角度来看,通信分为TCP模式和UDP模式。 TCP模型的图像表达式是:我知道您知道。 UDP模型的图像表达方式是:我希望您知道。当然,TCP模型相对可靠,但是成本相对较高。 UDP模型的成本较低,但不可靠。在沟通可靠性方面,有两个常见的错误:
第二种交流问题是及时性。就及时性而言,通信分为以下:同步模式和异步模式。生动地说,同步沟通是:您现在可以听我说。异步通信的图像表达是:记住为我做。就沟通及时性而言,有两个常见的错误:
有效沟通的一个重要原则是事先沟通。沟通的本质是信息交换和处理,并且可以将传达的对象与CPU进行生动地进行,以进行串行信息处理。提前沟通意味着将处理请求尽快将处理请求提交到处理队列中。以下示例使许多工程师讨厌它:计划了1个月的需求,并设计了2周的产品。当开发项目是我第一次听到要求时,我发现开发时间是2天。工程师争论并加班了一个星期来完成它。最后的结论是,工程师非常不满意,不合作。就像工程师讨厌类似的要求一样。为了协调一个大项目,我们希望从他人那里得到合作,我们还需要尽快进行沟通。
有效沟通的另一个关键点是“不要脱离话题”。许多似乎很接近的问题本质上完全不同。例如:会议的主题是“如何实施计划”,但有人可能建议“是否应实施计划”。 “如何实施”和“是否应该实施它”是两个完全不同的问题,许多看似相关的问题实际上与主题相去甚远。 “关闭主题”是进行无效沟通的重要原因。
良好沟通的秘诀在于能够掌握TCP模式和UDP模式的本质,正确判断问题的紧迫性,并尽早沟通以避免偏离主题。
带领人们的方式
一些新导师的工程师担心毕业生的能力太弱了,因此他们在安排任务时教他们。最后,他们仍然觉得自己有一些担忧,因此他们只是自己编写代码。许多刚刚管理一支小型团队的工程师也发生了同样的事情。最终结果:他们编写了所有代码,并留下了没有代码的代码。当然,“自己做一切”是非常糟糕的。最后,团队的整体表现通常不高,团队成员的成长很慢,但是我很累。
古人说:“别怀疑人们,但不要怀疑人们。”这句话“与世界都不一样”。在古代,由于通信技术,反馈延迟很大,并且信息传输了很多噪音和严重的变形。在这种情况下,如果您基于短期内收集的少量变形信息做出快速决定,则很容易陷入仓促。在公司中,该句子更适合于选择过程,应将其更改为:毫无疑问,毫无疑问,对犯罪嫌疑人。
考虑到招聘成本,即使在招聘水平上也无法做到这一点。作为小型团队的经理,您可以快速准确地从团队成员那里获得各种反馈信息,并且无需“毫不怀疑人们,也不怀疑人们。”雇用人员的真正理论基础是“探索和利用”(and)。您不能仅仅让下属做他们能做的一切,也不能仅仅因为他们一次失败而给他们机会。
根据经典的“探索和利用”(以及)理论,雇用人的好方法应如下:
效率,效率,效率
我经常看到一些学生将表现的评价为100分 - 全得分。原因是他们在过去的时期里过于努力,但是他们的最终表现是平均的。天堂的方式奖励了艰苦的工作,但是天堂的方式奖励了更好的技巧。工程师已经学习了数据结构,并且在更长的工作时间内,不同算法之间的时间复杂性的差距是无法恢复的。为了提高工作和学习效率,我们需要注意以下几点:
建筑师的能力模型
我们之前已经谈论过原理和一些困惑,那么工程师应该如何改善自己?
大多数初级和中级工程师的分阶段目标是成为一名出色的建筑师。优秀的建筑师通常具有七个核心能力:编程能力,调试能力,编译和部署能力,绩效优化能力,业务架构能力,在线运营和维护能力,项目管理能力和计划能力。
这些能力之间的关系大致如下图所示。编程功能,调试功能以及编译和部署功能是最基本的功能。如果您无法掌握这三种能力,那么很难实现性能优化功能和业务体系结构功能。只有在具有一定的性能优化功能和业务体系结构功能之后,您才能在在线操作和维护功能以及项目管理功能方面表现出色。团队管理能力是最高的能力,它更多地取决于项目管理能力。
编程功能
对于工程师而言,编程是最基本的能力和基本技能。它的本质是翻译能力,它将业务需求转化为机器可以理解的语言。
有很多书可以提高编程技能。熟练面向对象和设计模式是有效编程的基础。初级工程师应编写更多代码并阅读更多代码。寻找专家进行代码也是提高编程技能的捷径。
调试功能
程序代码是系统的静态形式。调试的目的是通过查看程序的运行时状态来验证和优化系统。本质上,工程师可以通过连续调试通过静态代码来不断增强他们通过静态代码预测状态的能力。因此,调试功能也是工程师提高其编程功能的关键手段。很久以前就有一个传奇:“调试能力越强,编程能力越强。”但是,许多编辑现在具有非常强大的功能,并且调试能力的门槛已大大降低。
调试功能是可以按时及时提交项目的关键。即使是一个稍微复杂的项目,大多数工程师都无法一次准确完成。大型项目通过连续调试进行了优化和纠正。因此,调试能力是必不可少的能力。
编写更多程序,解决错误以及询问更多专家是提高调试功能的重要手段。
汇编和部署功能
在线编译,部署和运行程序是系统的最后一步。随着SOA架构的普及和业务复杂性的提高,大多数系统只是整个业务中的一个链接。因此,本地汇编和操作无法完全模拟在线运行的系统。为了快速验证书面编写的程序的正确性,汇编和在线部署已成为必要的链接。因此,汇编和部署功能是必要的技能。
使许多子系统以复杂的方式运行是一个巨大的挑战。得益于SOA架构的普及以及大量编译和部署工具的开发,汇编和部署的阈值大大降低了。根据应用程序层开发的公司很少扮演“编译工程师”的角色。但是对于初级工程师来说,编译和部署仍然不是一件容易的事。
性能优化能力
衡量系统成功的一个重要指标是用法。随着使用的增加和业务复杂性的增加,大多数系统最终将遇到性能问题。性能优化能力是一种全面的功能。因为:
可以说,性能优化功能表明工程师在成长过程中开始整合各种技能。在这方面,请参阅上一篇博客文章“常见绩效优化策略摘要”。有许多与市场上的性能优化有关的书籍,您可以参考。在开源框架中阅读文档和有关性能优化的代码也是改进的好方法。动手解决在线绩效问题也是提高性能优化功能的关键。如果您有机会,请跟随专家学习和分析性能优化解决方案案例(我们的技术博客也在该领域发表了许多文章),这也是一种快速提高性能优化功能的方法。
在线操作和维护功能
如果性能优化功能反映了建筑师的静态思维能力,在线操作和维护功能测试动态响应能力。残酷的现实是,无论程序多么完美,该错误将永远存在。同时,位置越高,责任越高,许多建筑师需要负责非常重要的在线系统。对于在线失败,如果无法提前预防并迅速解决,损失可能是无法想象的,因此在线操作和维护功能是优秀建筑师的重要技能。
为了快速处理在线故障,标准化监视,报告,升级和基本响应机制当然非常重要。通过观察到的现象,快速定位,缓解和解决相关症状也非常重要。这要求建筑师对故障系统的业务和技术进行全面的解释。解决在线失败的建筑师就像参加F1比赛的驾驶员一样。赛车手必须了解所有因素,例如自己,赛车,对手,同伴,天气和场地,做出快速决策并进行持续调整。建筑师必须了解所有技术细节,业务详细信息,处理规范,同行和其他因素,做出快速决策并进行快速调整。
在线操作和维护本质上是增强学习过程。可以通过阅读书籍和搜索信息来实现许多能力,但是在线操作和维护能力通常需要大量的练习才能改进。
商业架构功能
抱怨产品经理的工程师的故事很普遍,最多抱怨的主要原因是需求经常变化。 are two main of : the is or , and the is . For the , both and can only it . have the of the of by the .
are two for the of -:
The is that the . From the of , any is a of and . from the side to the and to the , and at and are . time the is , is some loss and some , to the of that are not in line with the at some . In , the side and have weak over , , and cost , will also lead to .
The is that the side has not its own at all.
have the to and . You time the real of , have , and the real of . The real of the is an . the real of , a have the for of the 's , , , etc., and be able to have a cost . , due to the and , of is also the key to a . As the , the by will more and more . and is the only way for to .
are some on the how to an , you can to them. , the of may be a more way. on ' pain than PRD , and pay to real . a of and of is also a for .
As a of the age, of and are into the of . An also to be for to . When as an , are of a . In , and cost are also very .
also a big . many such as , , and . , we must also that the are , .
The that need to be paid to in : and good use of them, , , and to the .
Cost of , and the need to be :
are many on . , is . in and the way is also a very of .
Team
An who 't want to be a CTO is not a good . be a plan for . One of the core of team is , and . Good to the :
are many on and on the that are . is a book, it is the of , so you as well take a look and read it. from self-, more 's is also an to .
总结
he was to " and ", the a and the , then and to day, and then a of an on his , and it into a text.
The on , , and , to be to ' work and . It be that the is , and the so- 's is also the 's . is to in and in the .
The a . You must note the : /work + + / + (such as big data + + + ). to the note, you can be and to the .
Scan the QR code to join me on to the , and and , so the big guys can get zero
: The is of the team, to !
工作时间:8:00-18:00
电子邮件
扫码二维码
获取最新动态