① 现代科学技术是如何发展的
在科学技术发展史上,20世纪的科学技术占有十分重要的地位。这一时期科学技术本身发生了一系列广泛而深刻的革命性变革。20世纪初,以相对论和量子力学为代表的物理学革命,促成了整个人类科学观念的根本性变化,带动了化学、生物学、天文学、地学等学科的发展。科学理论上的重大突破又带来一系列技术革命。20世纪四五十年代开始的以原子能技术、航天技术和电子计算机为主要标志的第三次技术革命,使人类逐步从工业文明进入科学技术文明的新时代。新技术革命促进了社会政治、经济结构的变革,孕育了新的思维方式和新的世界观,使人类社会向更高境界发展。历史证明,科学技术是第一生产力,是推动现代社会进步的决定性力量。
物理学革命20世纪的科学技术是近代科学技术的继承和发展,其间的所有重大发明都不是以经验为基础,而是由科学理论上的重大突破而引起的。20世纪初,在物理学领域掀起了一场伟大的革命,取得了一系列辉煌成果,爱因斯坦的相对论和普朗克的量子论则是这场革命中最伟大的理论成果。
爱因斯坦的相对论揭示了空间和时间的辩证关系,从根本上改变了人们对时空概念的理论认识,加深了人们对物质和运动的理解。
阿尔伯特·爱因斯坦(1879—1955年)是德国着名数学家、物理学家、诺贝尔奖获得者,出生于德国的一个犹太人家庭。1905年,发表了题为《论动体的电动力学》的论文,提出了“狭义相对论”。其核心是论证了空间和时间的统一性,从而确定了崭新的、相对概念的时空观。牛顿力学只能解释低速运动状态下的物质,而爱因斯坦的相对论既能解释低速运动状态下的物质,也能解释在光速或接近光速运动状态下的物质。相对论精确地揭示了空间和时间本质上的统一性,以及空间、时间与物体运动之间的联系。他还根据狭义相对论原理推导出能量与质量转换关系的公式,即能量等于质量和光速平方的乘积(E=me2)。1915年,他又提出了“广义相对论”,揭示了四维时空同物质的统一关系,指出空间、时间不可能离开物质而独立存在,空间结构和性质取决于物质的分布。广义相对论实质上是一种引力理论,它在更深一层意义上否定了牛顿的时空观。
普朗克的量子论指出,物体在发射辐射和吸收辐射时,能量并不是无限可分的,其最小的、不可分的能量单位是“量子”,物体能量的辐射和吸收都是量子化的。在普朗克之后,经过许多科学家的共同努力,到1925年左右量子力学最终建立。量子力学的建立大大促进了原子物理、固体物理、原子核物理等学科的发展,标志着人类在认识自然的过程中实现了由客观世界向微观世界的飞跃。
马克思·普朗克(1858—1947年)是德国物理学家。1900年末,普朗克在德国物理学会上宣读了题为《关于正常光谱能量分布定律的理论》的论文,标志着量子论的诞生。1905年,爱因斯坦发展了普朗克的能量量子化的概念,提出了光的量子概念,揭示了光的波动性和粒子性的辩证关系。在他们的基础上,经过奥地利物理学家薛定谔、德国物理学家海森堡、丹麦物理学家玻尔、英国物理学家狄拉克等人的努力,量子力学最终建立。
相对论和量子力学的确立是物理学革命的高潮,以物理学革命为先导,带动了化学、生物学。天文学、地学等学科的理论也都发生了革命性的突破,这为20世纪中后期第三次科技革命的兴起奠定了理论基础。
第三次技术革命的新浪潮从20世纪四五十年代开始的新技术革命,以原子能技术、航天技术、电子计算机的应用为代表胚包括人工合成材料、分子生物学和遗传工程等高新技术。这次技术革命被称为“第三次技术革命”。第三次技术革命内容之丰富、影响之深远,都远远超过前两次技术革命。
物理学革命的迅速发展,特别是原子物理、核物理取得的突破性成果为人类发展原子能技术创造了有利条件。第二次世界大战期间,美国实施了制造原子武器的“曼哈顿工程”,并于1945年7月16日爆炸了第一颗原子弹,标志着人类利用原子能时代的开始。过去,人类只是直接或间接使用天然能源,而原子能是人工能源,是原子核发生裂变时释放出来的能量,它比化学能大几百万倍,具有许多优越性,是人类在能源利用方面的一次革命。
二战后,美苏大力发展核武器,展开校竞争,相继研制出氢弹、中子弹等核武器,核战争阴云始终笼罩着世界。因此,和平利用原子能更为人们所关注。从五十年代开始一些国家建立了实验性核电站,六十年代进入实用阶段,但发展较慢,七十年代中期以后,进入飞速发展时期。目前,核能作为一种强大的新能源,在世界能源中的地位和作用不断增长。
据日本原子能产业会议提供的资料(新华社2000年6月3日电),到1998年底,全世界共有核电站422座(其中,美国104座,法国55座,日本52座,德国19座,俄国26座,英国35座);总装机容量35849万千瓦(其中,美国10162万,法国5979万,日本4508万,德国2221万,俄国2126万,英国1417万),在建核电站46座,总装机容量3807万千瓦。
核电站在正常运转时相当安全,但万一出现事故,危害极其严重。1986年4月26日苏联切尔诺贝利核电站第4号机组爆炸,造成了严重的核污染。至1992年,有7000多人死于这次事故的核污染。
原子能除和平利用于核电站外,现已渗透到工业、农业、科学、医学等各个领域。
航天技术是一项研究和实现如何进入太空和利用太空的综合技术,是现代科学技术高度发展的体现。1957年10月,苏联把第一颗人造地球卫星送上太空,开创了人类向空间进军的新时期。1969年7月美国飞船“阿波罗11号”首次把人安全送上月球,宇航员尼尔·阿姆斯特朗和奥尔德林在月球上首次留下了人类的脚印。1997年7月美国发射的“火星探路者”宇宙飞船在火星表面成功着陆,并向地球发回了大量照片和数据,为在21世纪实施的载人火星探测计划奠定了基础。20世纪末由美国牵头,汇聚16国联合科技力量建造的国际空间站也已初具规模。目前,航天技术已广泛应用于军事。经济、科学研究的许多方面,对科学技术、国民经济和社会发展将产生巨大影响。第二次世界大战期间,由于军事上的需要,美国人在机械的电磁计算工具的技术基础上,于1946年制造了第一台电子计算机。1952年匈牙利裔美国人冯·诺伊曼为美国国际商业机器公司(IBM)研制成“离散变量自动电子计算机”,以后电子计算机逐步投入市场,进入了生产建设、交通运输、医学卫生、科研。社会、家庭等各个领域,对人们的生产和生活产生了重大影响。
电子计算机从诞生到现在已发展到第五代,它的体积越来越小,而功效越来越大。一般的电子计算机,每秒可进行10万次运算,速度高的可达十几亿次,几十亿次,甚至几百亿次运算。1997年5月,美国研制的“深蓝”计算机战胜了国际象棋大师卡斯帕罗夫,标志着计算机向智能化方向发展取得了重大成果。
电子计算机的发展历程第一代电子管计算机1946~1958第二代晶体管计算机1958~1964第三代集成电路计算机1964~1972第四代大规模集成电路计算机始于70年代初第五代超大规模集成电路计算机(智能计算机)始于80年代初电子计算机是现代信息技术的核心,它的迅速发展和广泛应用,使信息技术发生了质的飞跃,促成了信息与物质、能量共同构成现代社会的三大资源。
激光是一种具有特殊性能的光源,亮度胜过太阳光200亿倍,单色性、方向性强,聚能性能出色。1960年美国物理学家梅曼制成了第一台激光器——红宝石固体激光器,并迅速应用于工农业生产,进行激光加工、激光育种、激光杀虫、激光医疗、激光测量、激光全息照像和激光通讯等,应用范围十分广泛。新科技革命还造成了材料业的巨大变革,具有优异特征、特殊功能的新型合成材料层出不穷,其中合成化学材料、半导体材料、超导材料等发展迅速,塑料、合成橡胶、合成纤维等合成化学材料产量猛增。目前人们正在研制超高温、超高压、超高强度、高温信息传输、高温超导等特殊性能材料,这些材料可望在21世纪投放市场。
生物工程技术包括基因工程、细胞工程、酶工程、发酵工程四个部分,基因工程是其中的核心技术。1953年美国的沃森和英国的克里克发现了DNA的双螺旋结构模型,标志着分子生物学的诞生。分子生物学通过对生物体的主要物质,如蛋白质。核酸等生物大分子的结构和功能规律的研究,来探讨生命现象及其本质。六十年代,科学家将构成DNA的64个遗传密码的含义全部破译,编制了遗传密码表,敲开了生命科学的大门,带动了生物工程技术的快速发展,带来了巨大的社会和经济效益。目前生物工程技术的发展方兴未艾。1997年2月,英国《自然》杂志报道了英国科学家维尔穆特博士首次运用克隆技术培育出绵羊“多莉”。许多科学家认为克隆技术是生物工程技术发展史上的一个里程碑,并预言2l世纪将是生物世纪,生物技术有可能成为下次技术革命的核心技术。
第三次技术革命的影响科学技术是人类认识自然和改造自然的强大武器,在历史上始终是一种起推动作用的进步革命力量。第三次技术革命的迅猛发展推动了社会生产力的发展。以往,人们主要是依靠提高劳动强度来提高劳动生产率。在新科技革命的条件下,主要通过生产技术的不断进步、劳动者素质和技能的不断提高。劳动手段的不断改进,来提高劳动生产率。这次科技革命还促进了社会经济结构和社会生活结构的变化,造成第一产业、第二产业在国民经济中的比重下降,而第三产业的比重上升,并使人类的衣、食、住、行、用等日常生活的各个方面都发生了深刻变化。
第三次技术革命加快了国际经济格局的调整和经济全球一体化的进程,科学技术的竞争在国际经济竞争中的地位更加重要。当今世界,科学技术的高低从根本上决定了一个国家的经济实力和国力水平。
② 科学技术是怎样发展的
科学技术是通过长期的积累发展的.
社会是发展的,科技也是发展的.
通过人们的实践,认识,再实践,再认识,最后得到真理.
后人继承前人的技术,再不断创新。
放眼古今中外,人类社会的每一项进步,都伴随着科学技术的进步。尤其是现代科技的突飞猛进,为社会生产力发展和人类的文明开辟了更为广阔的空间,有力地推动了经济和社会的发展。
③ 一项技术的发展需要怎样的条件
经济条件,技术人员到位,政策支持。
一如何促进技术发展
(1)一是“要认真贯彻自主创新的方针,全面推进创新型国家建设,加快实施科技重大专项”。国家中长期科学和技术发展规划纲要确定的目标是到2020年把我们国家建设成为或者说基本上建设成为创新型国家。
(2)全面实施科教兴国战略和人才强国战略,根本目的是为了大力发展科学技术,支撑国家可持续发展,保障国家赢得国际竞争的战略主动地位。
二科技的重要性
(1)科学技术的认识功能。凭借着迅速发展的科学技术,人们不仅能认识自然状态下显露的事实,也能认识超出感官功能的微生物、基本粒子、红外。不仅能捕捉、搜寻到现象,也能揭示出现象背后的本质和规律;不仅认识当下的现有事物,也能追溯过去和预测未来。
(2)科学技术的生产力功能。科学技术一方面渗透到生产力的实体要素中,通过物化为新的劳动资料,特别是其中的生产工具;通过提高劳动者的素质和生产技能,通过扩大劳动对象;开辟新的产业部门来实现其生产力功能。
④ 在2020年大数据工程师技术成长如何快速实现
【导读】对于现在的企业来讲,多多少少都在面临一些挑战,因为传统的一些管理方式和培养方式都未必适合现在的环境,我们的一些企业培养方式需要做出针对性调整,那么在2020年大数据工程师技术成长如何快速实现?
1.真实的大数据业务场景-在解决问题中成长
第一个需要知识业务场景,读再多的书,如果不能实际操练,东西都不会变成自己的。对于目前我们公司来讲,工程师最快速的成长,是能够接触真实的大数据业务场景,比如面临大量的数据,解决大量的问题,如果出现延迟的问题,该怎么去解决,这时候很多情况书上没有,需要自己去想,或者自己去翻源代码。我认为真实的业务场景是促进自己成长最真实的东西。
2.开放、平等、分享的企业文化-在工作中相互学习和挑战
公司要创造让开放平等交流的场景,有时候交流讨论是让自己把思路问题理清晰的一个途径,公司经常会有一些员工自己组织的分享,任何一个架构都会有一些架构评审,大家会比较开放的讨论问题,经常会有碰撞。我经常会说不要怕别人挑战你,挑战会肾上腺素分泌,这样大家会更佳聪明,这时候有时候想不到的方案就会想出来。所以我提倡大家技术上相互挑战。不要一个人局限在自己的空间里。
3.员工自己组织的职业委员会
另外公司也会尝试一些新的途径,任何一个公司都会有一些职级体系,我们最初的创业公司没有这些体系,随着后来规模越来越大,一种办法是像一些大公司学习,比如说阿里,腾讯,但是CEO觉得新的时代是一个社群的时代,所以在考虑有没有更好的办法能把这个事情做的更好。我相信用工程师委员会来做这个事情是比较少的,大部分的公司都不是这么做的,
4.新员工导师计划-让新人更容易融入公司
新员工导师计划,任何一个新员工进来都会有一个导师,会引导你如何更好的融入公司。
关于2020年大数据工程师技术成长的方法,就分享到这里了。如果您对大数据工程有浓厚的兴趣,希望这篇文章可以为您提供帮助。如果您还想了解更多关于数据分析师、大数据工程师的技巧及素材等内容,可以点击本站的其他文章进行学习。
⑤ 十四五科技新技术应如何发展
2020年5月19日,国务院新闻办公室举行加快建设创新型国家支撑引领高质量发展发布会,科技部部长王志刚在答记者问时表示,正在组织编制面向未来15年的科技发展规划和“十四五”科技创新规划,围绕基本实现社会主义现代化的科技需求,加强科技改革发展做顶层设计。
他说:“我们主要的思路一是坚持‘三个面向’,面向世界科技前沿,面向我国重大战略需求,面向经济社会发展主战场。二是要紧跟研判当今世界科技发展的特征,要研判新阶段的特点,要坚持中国特色,制定好中长期科技发展规划和‘十四五’科技创新规划。重点要依靠科技人员,科技活动重点是人的活动,是一批科技人员、掌握科学技术知识的人的活动,所以要围绕他们做好服务,让他们能够投身并安心做好科研,在科技领域作出一番事业。三是加强基础和前沿研究,为世界科技发展作出中国贡献。”
总的来看,在新的时期我国发展还存在不平衡、不充分的问题。面对高质量发展的要求,科技既要顶天也要立地,要真正为我国的全面发展,为我们国家老百姓的生活改善,为我们国家更加安全作出科技的贡献。
⑥ 浙江男孩连续两年进万人编程决赛,如何才能成长为技术大神
计算机人才在社会上也有一定的重要地位。学了计算机技术后,我们可以在计算机领域就业,薪资待遇也比其他行业高得多。而且,在就业人才市场上,随着网络经济日益发展的速度提高,对计算机人才的需求也逐渐增加,相关计算机岗位的数量也在增加。所以对于初中毕业生来说,学习计算机技术是一个非常好的选择。现在也有很多学校开设计算机专业。计算机专业也有软件工程、网络工程、计算机网络技术专业等很多专业。都属于计算机专业,那么男生学计算机有什么专业前景呢?
计算机专业是目前十大热门专业之一,每年相关人才需求达64万人,随着国内信息化进程的深入,互联网的飞速发展,越来越多的企业使用计算机办公,因此预计到2019年,计算机专业人才的年度需求将达到7 ~ 8百万人。据保守估计,目前中国市场对IT人才的需求每年超过20万人。计算机专业一直迅速发展为全国各高校的热门专业。IT产业是国家优先发展的重点行业,也是国内外人才需求最大的行业之一。随着互联网的发展,IT人才的短缺将越来越严重。在我国,IC人才、网络存储人才、电子商务人才、信息安全人才、游戏技术人才严重短缺。
⑦ 如何提高自己的技术技能
一个人的技术能力大致有几个方面:知识,学习能力,解决问题能力,创造能力,精神能力,综合能力。下面分别叙述 :
一.知识:
知识包括学习获得的书本知识,实际中的经验教训。知识会随着时间一边有新的知识被掌握,另一边又有老旧的知识被淘汰。是一个此消彼长的时间函数。那么知识按 At·Tz增加,知识按 A1-t·Tx 衰减。其中A为基础知识,Tz为知识增长时间常数, Tx为知识衰减时间常数,t为时间(单位:年)。如果你所掌握的知识越陈旧那么Tx就越大,知识衰减的就越快。
知识的结构也是非常重要的方面。知识结构好表现在连贯性强,当做一个项目,所有的有关项目的主要知识都拥有,就会得心应手,
游刃有余。在本专业上知识的连贯性强代表知识的利用效率高,采用参数连贯系数KL表示。
知识结构好还表现在扩张性上,中国的哲学讲的是道者一也。也就是说所有事物都有共同的规律。掌握具有共同规律的知识在扩展到别的领域是会比较轻松和容易。扩张性强表示学习能力强,学习效率高。采用参数扩张系数KK表示。
二.学习能力:
上面说的扩张系数表示了从一种专业跳到另一种专业的学习能力,所谓举一反三就是这个意思。
对于本专业有的人学的快,领悟的深,有的人则较差。把这种学习上的差异量化成参数学习能力系数Kx,表示学习能力的强弱。
三.解决问题能力:
做项目所面对的就是一个个问题,如何把问题解决的更好,在错综复杂的矛盾中找到好的方案,这是高手的主要标志。解决问题的能力的基础是所掌握的知识,包括理论的和实践所获得的经验。这还不够,还体现在思考能力的强弱。有的人想的深入,想的透彻而全面,能够抓住本质。有的人却只能在表面上兜圈子。这个能力并不涉及知识,知识少的人也可以具有很强的思考能力,这个能力犹如一个放大器可以把知识的能量放大。用解决问题能力参数Kj表示这个能力的量化。
四.创新能力: 在其价值上会获得高分。创新能力是一种特殊的思维能力,它要通过一系列的创新活动逐渐练就的,创新思维和普通的思维是不同的。比如,创新能力需要有丰富的联想能力,会把甲上用的方法联想于用在乙上,而甲和乙是两种风马牛不相及的事物。创新能力强的人的这种联想能力会非常流畅,自然。
创新是产品最具价值的特质,因此具有强的创造能力的科研人员在其价值上会获得高分。
⑧ 如何从技术员成长到工程师
你要多参加 项目,但是你的技术基础要打好。 多了解 项目的构建(好比我做网站,我会一直去看别人的网站是如何布局,好的站跟差的站有什么差别),当你了解一些构架的思路,你就可以尝试一下按了解的构架做一些项目,或者有新想法就嵌入你做的一些项目。最重要的一点就是你要动力尝试,一直改进项目。你才有所长成。能很好的优化一些项目时,你差不多就算工程师了。
⑨ 工作中如何做好技术积累
古人云:“活到老,学到老。”互联网算是最辛苦的行业之一,“加班”对工程师来说已是“家常便饭”,同时互联网技术又日新月异,很多工程师都疲于应付,叫苦不堪。以至于长期以来流传一个很广的误解:35岁是程序员工作的终点。
如何在繁忙的工作中做好技术积累,构建个人核心竞争力,相信是很多工程师同行都在思考的问题。本文是我自己的一些总结,试图从三个方面来解答:
第一部分阐述了一些学习的原则。任何时候,遵循一些经过检验的原则,都是影响效率的重要因素,正确的方法是成功的秘诀。
提升工作和学习效率的另一个重要因素是释惑和良好心态。第二部分分析了我在工作中碰到和看到的一些典型困惑。
成为优秀的架构师是大部分初中级工程师的阶段性目标。第三部分剖析架构师的能力模型,让大家对目标所需能力有一个比较清晰的认知。
如何学习
在繁忙的工作中,持之以恒、不断学习和进步是一件艰巨的任务,需要坚强的毅力和坚定的决心。如果方法不得当,更是事倍功半。幸好我们的古人和现在哲人已经总结了很多优秀的学习方法论,这里汇总了一些重要原则。遵循这些方法必会对大家的工作学习大有裨益。
贵在坚持
有报道指出,过去几十年的知识量超过之前人类几千年的知识量总和。而计算机领域绝对是当代知识更新最快的领域之一,因此,工程师必须要接受这样一个现实,现在所掌握的深厚知识体系很快就会被淘汰。要想在计算机领域持续做优秀架构师,就必须不停的学习,掌握最新技术。总之,学不可以已。
所谓“冰冻三尺,非一日之寒,水滴石穿,非一日之功”,通往架构师的道路漫长而又艰巨,轻易放弃,则所有付出瞬间付之东流。要想成为优秀的架构师,贵在坚持!
虽然知识更新很快,但是基础理论的变化却非常缓慢。这就是“道”和“象”关系,纵是世间万象,道却万变不离其宗。对于那些非常基础的理论知识,我们需要经常复习,也就是“学而时习之”。
重视实践
古人云:“纸上得来终觉浅,绝知此事要躬行。” 学习领域有所谓721模型:个人的成长70%来自于岗位实践,20%来自向他人学习,10%来自于培训。虽然这种理论存在争议,但对于工程师们来说,按照实践、学习和培训的方式进行重要性排序,大致是不错的。所以重视实践,在实践中成长是最重要的学习原则。
人类的认知有两种:感性认知和理性认知。这两种认知互相不可替代性。实践很大程度来自于感性学习,看书更像是理性学习。以学开汽车做例子,很难想象什么人能够仅仅通过学习书本知识就会开汽车。
书本知识主要是传道——讲述抽象原型,而对其具体应用场景的讲述往往含糊其辞,对抽象原型之间的关系也是浅尝辄止。采用同样精确的语言去描述应用场景和关联关系将会失去重点,让人摸不着头脑。所以,仅仅通过看书来获得成长就像是用一条腿走路。
重视实践,充分运用感性认知潜能,在项目中磨炼自己,才是正确的学习之道。在实践中,在某些关键动作上刻意练习,也会取得事半功倍的效果。
重视交流
牛顿说:“如果说我看得比别人远一些,那是因为我站在巨人的肩膀上。”我们需要从别人身上学习。从老师、领导、同事、下属甚至对手身上学习,是快速成长的重要手段。
向老师和领导学习已经是人们生活习惯的一部分了。但是从同事甚至对手那里学习也很重要,因为这些人和我们自身更相似。所以要多多观察,取其所长,弃其所短。对于团队的小兄弟和下属,也要“不耻下问”。
此外,在项目中积极参与具体方案讨论也非常重要。参与者先验感知了相关背景,并且讨论的观点和建议也是综合了发言者多种知识和技能。所以,讨论让参与者能够非常全面,立体地理解书本知识。同时,和高手讨论,他们的观点就会像修剪机剪树枝一样,快速的剪掉自己知识领域里面的疑惑点。
重视总结和输出
工程师在实践中会掌握大量细节,但是,即使掌握了所有细节,却没有深刻的总结和思考,也会陷入到“学而不思则罔”的境地。成长的“量变”来自于对细节的逐渐深入地把控,而真正的“质变”来自于对“道”的更深层次的理解。
将经验输出,接受别人的检验是高层次的总结。这种输出不仅帮助了别人,对自身更是大有裨益。总结的方式有很多,包括组织分享,撰写技术文章等等。当然“日三省吾身”也是不错的总结方式。总之,多多总结,多多分享,善莫大焉!
解答别人的问题也是个人成长的重要手段。有时候,某个问题自己本来不太懂,但是在给别人讲解的时候却豁然开朗。所以,“诲人不倦”利人惠己。
重视规划
凡事预则立,不预则废。对于漫长的学习生涯而言,好的计划是成功的一半。
长期规划
长期规划的实施需要毅力和决心,但是做正确的长期规划还需要高瞻远瞩的眼界、超级敏感的神经和中大奖的运气。对于大部分人来说,长期规划定主要是“定方向”。但遵循如下原则能够减少犯方向性错误的概率:
远离日暮西山的行业。
做自己感兴趣的事情。
做有积累的事情。
一边走一边看,切勿一条道走到黑。
短期规划
良好的短期规划应该在生活、成长、绩效和晋升之间取得平衡。大部分公司都会制定一个考核周期——少则一个月,多则一年。所以不妨以考核周期作为短期学习规划周期。本质上,规划是一个多目标优化问题,它有一系列的理论方案,这里不一一细说。基于相关理论,我给出一个简单易行的方案:
确定目标优先级。比如:成长、生活、绩效。
确定每个目标的下限。从优化理论的角度来看,这被称为约束。比如绩效必须在一般以上,之前已经规划好的旅行不能更改,必须读完《Effective Java》等等。
优先为下限目标分配足够的资源。比如,事先规划好的旅行需要10天,这10天就必须预算出去。
按照各主目标的顺序依次分配资源。比如,最终分配给学习的时间是10天。
在给定的学习预算下,制定学习目标,要激进。然后给出执行方案。比如,学习目标是掌握基本的统计学知识,并成为Java专家。具体方案为:完成《Effective Java》、《Java Performance》、《Design Pattern》、《Head First Statistics》四本书的阅读。
对规划中的各学习任务按目标优先级进行排序,并最先启动优先级最高的任务。比如,最高优先级是掌握统计理论,那么就要先看《Head First Statistics》。
对于该方案,要注意以下几点:
最低目标必须能够轻松达成的目标,否则,从优化理论的角度来讲,该命题无解。比如,类似“半年内完成晋级两次、绩效全部S、从菜鸟成为Java专家”就不太合适作为最低目标。总之,要区分理想和梦想。
主要目标规划必须具备一定的挑战性,需要规划出不可能完成的目标。过度规划本质上是一种贪婪算法,目的是目标价值最大化。因为一切皆有变数,如果其他目标能够提前完成,就不妨利用这些时间去完成更多的学习目标。总之,前途必须光明,道路必须坎坷。
各目标之间不一定共享资源,规划不一定互有冲突。
此外,短期规划还可以从如下几个方面进行优化:
学习计划最好能结合工作计划,理论联系实际结合,快速学以致用。比如,本季度规划去做一些数据分析工作,那么不妨把学习目标设置为学习统计知识。
要灵活对待规划的目标和具体执行步骤,需要避免“郑人买履”式的笑话。面临新的挑战和变化,规划需要不断地调整。
那些令人纠结的困惑
人生是一场马拉松,在漫长的征途中,难免有很多困惑。困惑就像枷锁,使我们步履蹒跚,困惑就像死锁,让我们停滞不前。
接下来我将总结自己在工作中碰到和看到的一些典型困惑。这些困惑或者长期困扰作者本人,或者困扰我身边的同事和朋友。当这些困惑被释然之后,大家都感觉如重获释,为下一阶段的征程提供满满的正能量。人生就像一场旅途,不必在乎目的地,在乎的,应该是沿途的风景,以及看风景的心情。良好的心态是技术之旅最好的伴侣。期望通过这个解惑之旅,让大家拥有一个愉快的心情去感受漫长的学习旅途。
学无止境吗
必须要承认一个残酷的现实:人的生命是有限的,知识却是无限的。用有限的生命去学习无限的知识是不可能完成的任务。一想到此,有些工程师不免产生一些悲观情绪。如果方法得当并且足够勤奋,悲伤大可不必。
虽然,人类的整体知识体系一直在扩张。但是就很多重要的工程细分领域,基础理论并不高深。计算机的很多重要领域,工程师有能力在有限时间内抓住核心要害。
比如,密码学被认为是门非常高深的学科,但是一大类密码技术的基础是数论中一个非常简单的理论——素因数分解:给出两个素数,很容易算出它们的积,然而反过来给定两个素数的积,分解的计算量却非常惊人。
“一致性”算得上是计算机领域里面最经典的难题,它是所有分布式系统的基础,从多核多CPU到多线程,从跨机器到跨机房,无所不在,几乎所有的计算机从业人员都在解决这个问题,但是Paxos给出了一个很优雅的解决方案。
权限管理是很多工程师的噩梦,但如果你能搞定“Attribute Based Access Control(ABAC)”和“Role-Based Access Control(RBAC)”,也能达到相当高度。
另外,技术学习是一场对抗赛,虽然学无止境,超越大部分对手就是一种胜利。所以,以正确的学习方式,长时间投入就会形成核心竞争力。
没有绝对高明的技术,只有真正的高手
致力于在技术上有所成就的工程师,都梦想有朝一日成为技术高手。但技术高手的标准却存在很大的争议。这是一个有着悠久历史的误解:以某种技术的掌握作为技术高手的评判标准。我经常碰到这样一些情景:因为掌握了某些技术,比如Spring、Kafka、Elasticsearch等,一些工程师就自封为高手。有些工程师非常仰慕别的团队,原因竟是那个团队使用了某种技术。
这种误解的产生有几个原因:首先,技多不压身,技术自然是掌握的越多越好,掌握很多技术的人自然不是菜鸟。其次,在互联网时代来临之前,信息获取是非常昂贵的事情。这就导致一项技能的掌握可以给个人甚至整个公司带来优势地位。互联网时代,各种框架的出现以及开源的普及快速淘汰或者降低了很多技能的价值,同时降低了很多技术的学习门槛。所以,在当前,掌握某项技能知识只能是一个短期目标。怀揣某些技能就沾沾自喜的人需要记住:骄傲使人退步。
所谓麻雀虽小,五脏俱全。如果让你来做造物主,设计麻雀和设计大象的复杂度并没有明显区别。一个看起来很小的业务需求,为了达到极致,所需要的技术和能力是非常综合和高深的。真正的高手不是拿着所掌握的技术去卡客户需求,而是倾听客户的需求,给出精益求精的方案。完成客户的需求是一场擂台赛,真正的高手,是会见招拆招的。
不做项目就无法成长吗
在项目中学习是最快的成长方式之一,很多工程师非常享受这个过程。但是一年到头都做项目,你可能是在一家外包公司。对于一个做产品的公司,如果年头到年尾都在做项目,要不然就是在初步创业阶段,要不然就是做了大量失败的项目,总之不算是特别理想的状态。正常情况,在项目之间都会有一些非项目时间。在这段时间,有些同学会产生迷茫,成长很慢。
项目真的是越多越好吗?答案显然是否定的。重复的项目不会给工程师们带来新的成长。不停的做项目,从而缺乏学习新知识的时间,会导致“做而不学则殆”。真正让工程师出类拔萃的是项目的深度,而不是不停地做项目。所以,在项目之间的空档期,工程师们应该珍惜难得的喘息之机,深入思考,把项目做深,做精。
如何提高项目的深度呢?一般而言,任何项目都有一个目标,当项目完成后,目标就算基本达成了。但是,客户真的满意了吗?系统的可用性、可靠性、可扩展性、可维护性已经做到极致了吗?这几个问题的答案永远是否定的。所以,任何一个有价值的项目,都可以一直深挖。深挖项目,深度思考还可以锻炼工程师的创造力。期望不停地做项目的人,就像一个致力于训练更多千里马的人是发明不出汽车的。锻炼创造力也不是一蹴而就的事情,需要长时间地思考。总之,工程师们应该总是觉得时间不够用,毕竟时间是最宝贵的资源。
职责真的很小吗
很多时候,一个工程师所负责系统的数量和团队规模与其“江湖地位”正相关。但是,江湖地位与技术成长没有必然关联。提升技术能力的关键是项目深度以及客户的挑剔程度。项目越多,在单个项目中投入的时间就越少,容易陷入肤浅。特别需要避免的是“ 在其位不谋其政”的情况。团队越大,在管理方面需要投入的精力就越多。在管理技巧不成熟,技术眼界不够高的前提强行负责大团队,可能会导致个人疲于应付,团队毫无建树。最终“ 一将无能,累死三军”,效果可能适得其反。
从技术发展的角度来说,技术管理者应该关注自己所能把控的活跃项目的数量,并致力于提高活跃项目的影响力和技术深度。团队人数要与个人管理能力、规划能力和需求把控能力相适应。一份工作让多个人来干,每个人的成长都受限。每个人都做简单重复的工作,对技术成长没有任何好处。团队管理和项目管理需要循序渐进,忌“拔苗助长”。
一定要当老大吗
有一些工程师的人生理想是做团队里的技术老大,这当然是一个值得称赞的理想。可是,如果整个团队技术能力一般,发展潜力一般,而你是技术最强者,这与其说是幸运,不如说是悲哀。这种场景被称之为“武大郎开店”。 团队里的技术顶尖高手不是不能做,但为了能够持续成长,需要满足如下几个条件:
首先你得是行业里面的顶尖专家了——实在很难找到比你更强的人了!
其次,你经常需要承担对你自己的能力有挑战的任务,但同时你拥有一批聪明能干的队友。虽然你的技术能力最高,但是在你不熟悉的领域,你的队友能够进行探索并扩展整个团队的知识。
最后,你必须要敏而好学,不耻下问。
否则,加入更强的技术团队或许是更好的选择,最少不是什么值得骄傲的事情。
平台化的传说
平台化算得上是“高大上”的代名词了,很多工程师挤破头就为了和“平台化”沾点边。然而和其他业务需求相比,平台化需求并没有本质上的区别。无论是平台化需求还是普通业务需求,它的价值都来自于客户价值。不同点如下:
很多平台化需求的客户来自于技术团队,普通需求的客户来自于业务方。
产品经理不同。普通业务需求来自于产品经理,平台化需求的产品经理可能就是工程师自己。长期被产品经理“压迫”的工程师们,在平台化上终于找到“翻身农奴把歌唱”的感觉。
很多平台化的关注点是接入能力和可扩展性,而普通业务的关注点更多。
归根结底,平台化就是一种普通需求。在实施平台化之前,一定要避免下面两个误区:
平台化绝对不是诸如“统一”、“全面”之类形容词的堆砌。是否需要平台化,应该综合考虑:客户数量,为客户解决的问题,以及客户价值是否值得平台化的投入。
平台化不是你做平台,让客户来服务你。一些平台化设计者的规划设计里面,把大量的平台接入工作、脏活累活交给了客户,然后自己专注于所谓“最高大上”的功能。恰恰相反,平台化应该是客户什么都不做,所有的脏活累活都由平台方来做。本质上讲,平台化的价值来自于技术深度。真正体现技术深度的恰恰是设计者能够很轻松的把所有的脏活累活搞定。
所以平台化的最佳实践是:投入最少的资源,解决最多的问题。平台解决一切,客户坐享其成。
搞基础技术就一定很牛吗
经常听到同学们表达对基础技术部同学的敬仰之情,而对搞业务技术的同学表现出很轻视,认为存储、消息队列、服务治理框架(比如美团点评内部使用的OCTO)、Hadoop等才能被称为真正的技术。事实并非如此,更基础的并不一定更高深。
比如下面这个流传很久的段子:越高级的语言就越没有技术含量。但真是这样吗,就拿Java和C来说,这是完全不同的两种语言,所需要的技能完全不同。C或许跟操作系统更加接近一点,和CPU、内存打交道的机会更多一点。但是为了用好Java,程序员在面向对象、设计模式、框架技术方面必须要非常精通。Java工程师转到C方向确实不容易,但作者也见过很多转到Java语言的C工程师水土不服。
基础技术和业务应用技术必然会有不同的关注点,没有高低之分。之所以产生这种误解,有两个原因:
基础技术相对成熟,有比较完整的体系,这给人一个高大上的感觉。业务应用技术相对来说,由于每个团队使用的不一样,所以成熟度参差不齐,影响力没有那么大。
基础技术的门槛相对来说高一点,考虑到影响面,对可靠性、可用性等有比较高的最低要求。但是门槛高不代表技术含量高,另外成熟技术相对来说在创新方面会受到很大的约束。但是最先进的技术都来自活跃的创新。
对比下来,业务技术和基础技术各有千秋。但真正的高手关注的是解决问题,所有的技术都是技能而已。
可行性调研的那些坑
工作中开展可行性调研时有发生。做可行性调研要避免如下情况:
把可行性调研做成不可行性调研。这真的非常糟糕。不可行性的结论往往是:因为这样或者那样的原因,所以不可行。
避免“老鼠给猫挂铃铛”式的高风险可行性方案。“天下大事必作于细”,可行性调研一定要细致入微,避免粗枝大叶。
避免调研时间过长。如果发现调研进展进入到指数级复杂度,也就是每前进一步需要之前两倍的时间投入,就应该果断的停止调研。
可行性调研的结论应该是收益与成本的折衷,格式一般如下:
首先明确预期的结果,并按照高中低收益进行分级。
阐述达成每种预期结果需要采取的措施和方案。
给出实施各方案需要付出的成本。
工程师天生不善沟通吗
实际工作中,沟通所导致的问题层出不穷。工程师有不少是比较内向的,总是被贴上“不善沟通”的标签。实际上,沟通能力是工程师最重要的能力之一,良好的沟通是高效工作学习的基础,也是通过学习可以掌握的。下面我按工程师的语言说说沟通方面的经验。
第一类常见的问题是沟通的可靠性。从可靠性的角度来讲,沟通分为TCP模式和UDP模式。TCP模式的形象表述是:我知道你知道。UDP模式的形象表述是:希望你知道。TCP模式当然比较可靠,不过成本比较高,UDP模式成本低,但是不可靠。在沟通可靠性方面,常见错误有如下两种:
经常听到的这样的争论。一方说:“我已经告诉他了”,另一方说:“我不知道这个事情呀”。把UDP模式被当作TCP模式来使用容易产生扯皮。
过度沟通。有些同学对沟通的可靠性产生了过度焦虑,不断的重复讨论已有结论问题。把TCP模式当成UDP来使用,效率会比较低。
第二类沟通问题是时效性问题。从时效性讲,沟通分为:同步模式和异步模式。同步沟通形象地说就是:你现在给我听好了。异步沟通的形象表述是:记得给我做好了。在沟通时效性方面,有如下两种常见错误:
已经出现线上事故,紧急万分。大家你一言,我一语,感觉事故可能和某几个人有关,但是也不能完全确定,所以没有通知相关人员。最终,一个普通的事故变成了严重事故。对于紧急的事情,必须要同步沟通。
半夜三点你正在熟睡,或者周末正在逛街,接到一个电话:“现在有个需求,能否立刻帮忙做完。”这会非常令人郁闷,因为那并不是紧急的事情。不是所有的需求都需要立刻解决。
有效沟通的一个重要原则是提前沟通。沟通本质是信息交流和处理,可以把被沟通对象形象地比喻成串行信息处理的CPU。提前沟通,意味着将处理请求尽早放入处理队列里面。下面的例子让很多工程师深恶痛绝:一个需求策划了1个月,产品设计了2周。当开发工程是第一次听说该需求的时候,发现开发的时间是2天。工程师据理力争,加班加点1周搞定。最后的结论是工程师非常不给力,不配合。就像工程师讨厌类似需求一样。要协调一个大项目,希望获得别人的配合,也需要尽早沟通。
有效沟通的另外一个重点是“不要跑题”。很多看起来很接近的问题,本质上是完全不同的问题。比如:一个会议的主题是“如何实施一个方案”,有人却可能提出“是否应该实施该方案”。 “如何实施”和“是否应该实施”是完全不同的两个问题,很多看起来相关的问题实际上跑题很远。“跑题”是导致无效沟通的重要原因。
良好沟通的奥秘在于能掌握TCP模式和UDP模式精髓,正确判断问题的紧急性,尽量提前沟通,避免跑题。
带人之道
有些初为导师的工程师由于担心毕业生的能力太弱,安排任务时候谆谆教诲,最后感觉还是有所顾虑,干脆自己写代码。同样的事情发生在很多刚刚管理小团队的工程师身上。最终的结果他们:写完所有的代码,让下属无代码可写。“ 事必躬亲”当然非常糟糕,最终的往往是团队的整体绩效不高,团队成员的成长很慢,而自己却很累。
古人说:“用人不疑,疑人不用。”这句话并非“放之四海而皆准”。在古代,受限于通信技术,反馈延迟显着,而且信息在传递过程中有大量噪音,变形严重。在这种情况下,如果根据短期内收集的少量变形的信息做快速决断,容易陷于草率。在公司里,这句话用于选人环节更为恰当,应该改为:录用不疑,疑人不录。
考虑到招聘成本,就算是在录用层面,有时候也无法做到。作为一个小团队的管理者,能够快速准确的获取团队成员的各种反馈信息,完全不需要“用人不疑,疑人不用”。用人的真正理论基础来自于“探索和利用”(Exploration and Exploitation )。不能因为下属能做什么就只让他做什么,更不能因为下属一次失败就不给机会。
根据经典的“探索和利用”(Exploration and Exploitation )理论,良好的用人方式应该如下:
首选选择相信,在面临失败后,收缩信任度。
查找失败的原因,提供改进意见,提升下属的能力。
总是给下属机会,在恰当地时机给下属更高的挑战。 总之,苍天大树来自一颗小种子,要相信成长的力量。
效率、效率、效率
经常看到有些同学给自己的绩效评分是100分——满分,原因是在过去一段时间太辛苦了,但最终的绩效却一般般。天道酬勤不错,但是天道更酬巧。工程师们都学过数据结构,不同算法的时间复杂度的差距,仅仅通过更长的工作时间是难以弥补的。为了提升工作学习效率,我们需要注意以下几点:
主要关注效率提升。很多时候,与效率提升所带来的收益相比,延长时间所带来的成果往往不值得一提。
要有清晰的结果导向思维。功劳和苦劳不是一回事。
做正确的事情,而不仅仅正确地做事情。这是一个被不断提起的话题,但是错误每天都上演。为了在规定的时间内完成一个大项目,总是要有所取舍。如果没有重点,均匀发力,容易事倍功半。如果“南辕北辙”,更是可悲可叹。
架构师能力模型
前面我们已经讲完了原则和一些困惑,那么工程师到底应该怎么提升自己呢?
成为优秀的架构师是大部分初中级工程师的阶段性目标。优秀的架构师往往具备七种核心能力:编程能力、调试能力、编译部署能力、性能优化能力、业务架构能力、在线运维能力、项目管理能力和规划能力。
这几种能力之间的关系大概如下图。编程能力、调试能力和编译部署能力属于最基础的能力。不能精通掌握这三种能力,很难在性能优化能力和业务架构能力方面有所成就。具备了一定的性能优化能力和业务架构能力之后,才能在线运维能力和项目管理能力方面表现优越。团队管理能力是最高能力,它对项目管理能力的依赖度更大。