我们常常听说两句俗语“技多不压身”,“术业有专攻”,这就能够引到时常困扰我们的一个问题,我们是应该横向发展还是纵向发展,当下的科技和技术发展日新月异,对人才的要求也水涨船高,需要我们时刻保持学习的势头和习惯,那对于我们开发者来说,也会有这方面的困扰,对于技术的学习,是应该广泛涉猎还是重点在某一领域中钻研?成为一个全能的全栈工程师是更好的出路吗?欢迎开发者们踊跃展开讨论,说出你们的看法!
本期奖品:
截止2023年2月16日24时,本次话题将选取10名高质量的回答,奖励康德立LCD智能体脂秤*1。
注:如有复制抄袭、不当言论等回答将不予发奖。获奖名单将于3个工作日内公布,礼品将于7个工作日内发放,节假日顺延,春节期间物流缓慢,请见谅!
个人并不认为全栈工程师对于开发者来说是更好的出路。还是应该具体问题具体分析, 如果一个开发者各方面能力都比较均衡,对各种技术都很有兴趣,精力也很充足,那完全可以去发展成全栈工程师啊。 相反,如果一个开发者在某一技术领域能力特别突出拔尖,其他的不怎么擅长,那最好还是利用自己优势去钻研去做精。没必要非要分散精力在一些自己不擅长的领域。即使花了很多时间,也可能成效不大。 木桶理论(短板理论)有一定的道理,但是我更支持的是反木桶理论(长板理论)。人的精力是有限的,应该多看长处少看短处。提升自己的不可替代性才是王道。
我感觉全栈工程师更适合作为团队的和核心人物,统一全局,对于项目的推进和整体的把握起至关重要的作用,没有足够的全栈经验,很难当此重任,同时要求也很高,绝对不是各个方面都略有涉猎便可胜任的。
而术业有专攻也没错,360行行行出状元,任何一个小的方向都有无尽的进步空间,当对一个东西足够精通的时候,也绝对不会比全栈工程师混的差。
废话到此为止,在我看来,人的学习进步和发展过程不是一蹴而就的,所以最佳的方式应该是先尽量纵向精深,在开始的工作中保持足够的竞争力,而后在工作中根据自己的兴趣和喜好选择横向发展,或者继续深挖(或者结合公司的需求,当时的薪资等)。
开发者可以通过学习全栈工程师技能来提升自己的技术水平,更好地参与到软件开发过程中。全栈工程师的技能涵盖了前端、后端、数据库、移动端、测试、运维等多个领域,可以更好地理解整个软件开发的流程,更好地完成整个项目的开发和部署。此外,全栈工程师的技能也可以帮助开发者更好地与产品经理、设计师、测试人员、运维人员等各方面的人员进行沟通和协作。
全栈工程师是一个更好的出路。由于全栈工程师可以深入理解各个技术和开发流程,所以他们可以解决从数据库架构到前端开发的完整方案。他们可以更好地满足软件项目中迭代和优化的需求,同时可以更快地完成项目组的任务。
全栈工程师在现代软件开发领域中受到越来越多的关注。虽然全栈工程师并不是所有开发者的理想职业路径,但对于某些人来说,这可能是一种更好的出路。以下是一些考虑因素:
多样性技能:全栈工程师需要具备前端、后端和数据库等多方面的技能。掌握这些技能使得他们在开发项目时更加灵活,能够更好地协调各个方面的开发工作。
更广泛的就业机会:对于许多公司来说,全栈工程师是一种非常有价值的资产,因为他们能够胜任多种技能需求,能够在不同类型的项目中协调各种开发工作。全栈工程师的技能更加多样化,可以使他们更容易找到工作机会。
薪酬优势:全栈工程师通常有更高的薪酬。这是因为他们掌握了多种技能,能够在不同方面的开发项目中发挥作用,而且他们通常需要投入更多的时间和精力来学习各种技能。
尽管全栈工程师在某些情况下可能是更好的职业选择,但并不是所有的开发者都想要成为全栈工程师。有些开发者更愿意专注于某个特定领域或技术栈,或者希望成为专家而非通才。因此,选择成为全栈工程师还是专注于某个领域,取决于你的职业目标和兴趣。
全栈工程师是指同时具备前端、后端和数据库开发等多种技能的开发人员,可以全面负责一个项目的开发和运维。相比于专注于某一领域的开发人员,全栈工程师可以更全面地了解和掌握整个开发过程,从而能够更好地协调和优化各个环节。
对于开发者而言,成为一名全栈工程师有以下几个优点:
更高的就业竞争力:由于全栈工程师可以同时处理多个领域的开发需求,因此在就业市场上更具竞争力。
更好的跨团队合作能力:全栈工程师需要对项目开发的不同环节都有一定的了解和掌握,因此能够更好地与团队中的其他成员协作和沟通。
更好的职业发展:全栈工程师拥有多种技能和广泛的知识背景,这使得他们能够更容易地跨行业和跨领域发展自己的职业生涯。
然而,成为一名全栈工程师也需要投入更多的时间和精力学习各种不同的技能,这对于有些开发者可能并不适合。另外,有些项目需要更专业化的开发人员,而不是一名全栈工程师。因此,是否成为一名全栈工程师,应该根据自身的兴趣、技能和职业规划来决定。
我的观点是因人而异,由于每个人的能力不一样,学习新技能的速度也不一样,但是不论你是学习能力强和学习能力弱的人,都建议在前期先精通一门技能能够保证自己的生存。
你说的两句俗语“技多不压身”以及“术业有专攻”表达的意思其实都没有问题,但是不是所有技能都能保证你可以在目前所处的这个时代里赚到钱养家糊口,你可能读了很多书、学到了很多技能但是出了社会却没有一个很好机会给你,也就是供需关系是否一致,当今这个社会迫切需要的技能和你学的技能是否是一致的。如果不一致,你可能带着浑身的技能到处跑也找不到一份养活自己或者自己满意的工作。另一方面,不管你能力再强,个人的精力和能力终究是有限的。假设你和爱因斯坦一样厉害,也不可能同时成为政治家、物理学家、数学家。
综上所述,我在这里提供一个方案:第一步“术业有专攻”,也就是纵向发展,精通一门社会需要的技能,保证它可以养活你自己;第二步,在养活自己的基础上横向发展,也就是“技多不压身”,现在很多人其实都有工作之外的副业,例如自媒体、短视频直播等,我认为你可以学习一些自己喜欢的技能,也不一定是为了赚钱,一方面满足自己的精神需求,一方面说不定在未来有机会可以用上你这个技能。
首先,我认为技术的发展是非常快速和广泛的,因此要成为一个全能的全栈工程师是非常困难的,因为这需要学习和掌握多个技术领域的知识和技能,而这些技术领域又是不断更新和演变的。因此,成为一个全能的全栈工程师不是每个人都能做到的。
其次,我认为对于开发者来说,应该有一个主要的技术领域,即所谓的“专攻”。在这个领域中,开发者应该努力成为专家,并深入研究该领域的细节和复杂性。这样可以让开发者具有更深刻的理解和知识,能够更好地解决问题和面对挑战。
然而,我也认为开发者需要有广泛的知识和技能,因为技术的发展是互相交织和融合的,各种技术之间也存在相互影响和关联。因此,开发者需要了解和掌握一些相关技术,以便更好地应对复杂的问题和需求。
最后,我认为开发者应该根据自己的职业规划和兴趣,结合当前市场需求和趋势,来决定自己的技术发展方向。如果你对某个领域特别感兴趣,也发现市场对该领域的需求很高,那么就可以考虑深入学习和钻研该领域的技术。如果你想要拥有更广泛的技术知识和技能,也可以尝试学习一些新的技术,并探索其应用和发展。
总之,技术的发展是快速和广泛的,开发者应该在自己的技术领域上深入学习和钻研,同时也需要掌握一些相关技术和知识。最终,选择什么样的技术发展方向,应该根据自己的职业规划和兴趣来决定。
全栈是一个很艰难的挑战,人的精力有限,而且每个人了解的知识面不同,对于同一段代码的理解与使用也不同,总体来说两条路吧,一个是停留在浅层的业务开发中,你可能是前后端都能开发,都能写的大拿。另一个是深入底层知识,在一个端精力很长时间,专注一方面。两种各有优势,前者是业务全流程的了解者,无论后期是产品还是统筹,都能都有自己的见解。后者因为了解了底层原理,在长时间的学习中,能够很轻易的通学其他端的代码,最终也是全栈,不过后者对于个人的理解能力,学习深度,类比度,耐心等各个方面都有很高的要求,能坚持多年做一件事的,可以尝试下。
全栈工程师对于开发者而言,可能有以下几个方面的好处:①全栈工程师能够更好地理解整个项目的架构和流程,能够更快地定位和解决问题,提高开发效率和质量。②全栈工程师能够更灵活地适应不同的开发需求和场景,能够更好地与其他开发者和产品经理沟通和协作,提高团队协作能力。 全栈工程师能够更广泛地接触和学习不同的技术和工具,能够更紧跟前沿的技术动态和趋势,提高自身的技术水平和竞争力。当然,全栈工程师也有一些挑战和困难,比如需要掌握更多的知识和技能,需要不断地学习和更新,需要在不同的开发环境和语言之间切换,需要平衡前端和后端的开发质量和效率等。因此,全栈工程师并不一定适合所有的开发者,需要根据自己的兴趣和目标来选择和规划自己的学习路线和职业发展。
做技术的人就是需要永远保持一颗学习的心,但一个人的精力确实有限。这个话题更像是一个悖论。
1、新技术总是不断出现,而且迭代的特别快,今天微服务,明天无服务化;今天是DevOps,明天是平台工程。单个技术栈也不足支持我们的职业生涯。再者涉猎更多的技术栈也可以开阔我们的视野,在做架构设计,做技术选型时有更多的思路,也可以规避很多的风险。还有掌握的技术栈多了,就像一个中台,和团队的人不同的技术人员沟通起来都会游刃有余。此外业务日新月异的发展,也需要我们时刻追逐各种新技术,自然而然就会锻炼成全栈工程师。 2、当我们说专注于一个技术栈,也并不是就会一个技术栈,而是成为一个技术栈的头部专家,也可以去把这个技术栈来发扬光大,提出自己的革命性创新。再就是精通一个技术栈,可能在工作中更加需要融入一个团队,团队的发展与个人的发展也是息息相关的,每个人擅长一个技术栈,组成一个“全栈”团队。最后在精力有限的情况下,深耕一个技术栈目的性更明确,更具有现实可行性。
我认为为了个人发展要做到专注,要做到先精后广。至于是全能型还是精专型,可能更多要看个人的性格,规划以及成长环境决定的。选择哪条路,只要一直认真坚持下去,肯定都不会差的。
以上纯代表个人观点,欢迎讨论。
全栈的概念也不知道何时出现的....,但当独立完成一个项目(已具有价值产生的)或者主导完成一个项目,哦,全栈就是整个项目产品的生命周期,此时全栈已经超越技术界限,而是把各种技能融入其中,最终形成受众所接纳的产品。如果你享受此过程,那就是适合的,你的天地也将会更加开阔(做你想做的,为谁想做的:))。个人见解
我认为这个问题需要辩证看待,没有标准答案的。
成为一个全栈工程师对于开发者来说确实是一个有吸引力的出路,因为全栈工程师拥有广泛的技能和经验,可以从事多个领域的工作。这种多面手的能力通常可以使全栈工程师更具竞争力,因为他们可以处理更多的工作,减轻其他人的负担,并在团队中更加灵活。
然而,成为全栈工程师并不是唯一的出路,也不一定适合每个人。成为全栈工程师所需付出的辛勤努力是不可忽视的。作为开发者,重点在某一领域中深入钻研,可以使你成为一个专家,并获得更高的专业知识和技能,这通常会使你更加具有竞争力。
因此,对于开发者来说,应该根据自己的兴趣和职业规划来决定是横向发展还是纵向发展。如果你喜欢尝试不同的技术和领域,并且希望成为一个通才,那么全栈工程师可能适合你。如果你对某个领域特别感兴趣,并希望成为该领域的专家,那么在该领域中深入钻研可能更加适合你。
最终,无论选择哪种方式,持续学习和不断提高自己的技能都是必须的,因为技术的发展变化迅速,只有不断地学习和适应,才能够在职业生涯中取得成功。
所谓技多不压身,真的非常同意这个说法,身为一个前端工程师,在工作中不免和后端和设计人员打交道,多掌握一些技能肯定是有好处的,沟通起来也比较方便,如果一点也不了解对方的领悟,工作中也相对麻烦些,这些我是深有感触的,你可以不精通,但是要了解!
专研领域更重要,而不是广泛涉猎,因为任何一个领域都有深度可以挖掘,把你的精力集中在某一个领域上可以更好地获得收益。成为一名全能的全栈工程师不一定是更好的出路,根据不同的需求,正确地选择可能是更重要的。
“术业有专攻”,表示全栈也是一种专业,细分的领域更是一种专业。 现在分工越来越细,但作为我们常做系统集成项目来说,要有一部分人充当项目经理,需要对各个方面包括客户行业相关的知识都有储备,这类人员一般都是长时间培养来的,要求就是广可以不精,开发人员一般都会往更精的方向去打造。
有个名词叫Full Stack,中文翻译过来叫全栈工程师,也叫全端工程师。打外比方,全栈工程师就是一个能独立盖一幢10层小洋楼的人,而普通工程师,则是可以和一群人盖一幢摩天大楼的人。小公司的全栈工程师就是一个人可顶起一个项目、公司,大公司的全栈工程师既会产品业务也要会开发。
作为一名开发者如何才能保障高效的工作,这个是我们每天都面临的问题,我们应该思考规划好每日日程。合理利用论坛和在线社区: 可能在开发过程中都会遇到问题,不知道如何解决,可能会阻挡我们一段开发进程,这个时候,我们就可以利用社区或者论坛,来寻求帮助,解决工作中遇到的问题。在代码中添加注释: 无论在做任何项目,代码一定要添加注释,只有添加注释了才能够更清晰的理解功能,还可以帮助其他人掌握你的代码,便于更加容易理解,利于团队合作。不断尝试学习: 每天都要提醒自己,还有什么东西没有学习,只有每天不断的坚持学习,才能提高我们技术水平,学习新的知识不仅自己水平上涨还能提高工作效率,在工作开发代码能力更加完善。尝试阅读大量代码: 这个还是很有必要的,毕竟作为一名开发者,想要提高自己的代码能力,一个是不断的编写,另外一个就是不断的阅读大佬开源的代码,框架源码,学习代码的精髓,尝试把自己的问题带到阅读代码中,比如,看到一段程序,如果是我,我怎么编写?我怎么把代码尝试在自己项目中使用这段?如果是我参与开源项目,我应该怎么做?作为一名开发者,编程语言,工具,框架往往很多,我们应该专注于编程基础,只有基础不会变化的,如果你有一件正确的事情去做,需要进行实时的检查。教条会阻碍我们学习新事物的能力,我们需要拥抱变化 。我们需要继续前进,但自我完善的关键原则是知道何时停止
成为全栈工程师可以说是一种有益的途径,但是它不一定适合每一个开发者。作为全栈工程师,您需要对前端、后端以及数据库等多个技术领域有所了解,并且能够利用这些技术结合开发出完整的应用程序。这样的话,全栈工程师就可以独立完成一个项目,并且具有很高的技术价值。
但是,如果您更喜欢深入研究一个特定的技术领域,并且对其他领域不感兴趣,那么作为一名专业的开发者可能更适合您。在这种情况下,您可以专注于提高技能,并在您感兴趣的领域内取得更多的成就。
总的来说,是否成为全栈工程师取决于个人兴趣和技能。如果您对多个技术领域都感兴趣,并且有能力将它们整合在一起,那么全栈工程师可能是一个很好的选择。如果您更喜欢专注于一个特定的技术领域,那么作为一名专业的开发者可能更适合您。
取决于个人的目标和需求。对于一些人来说,广泛涉猎可能是最好的选择,因为这样可以获得广泛的知识和技能,并且在将来可以更容易地转移到新领域。对于另一些人来说,重点在某一领域钻研则是更好的选择,因为这样可以更深入地了解这一领域,并且可以在该领域中获得更高的专业素质。
最终,我建议在平衡两者之间寻找一种平衡。涉猎广泛的同时,也可以在某些领域进行更深入的学习和钻研。这样可以帮助您在不断发展的技术领域中保持竞争力,同时也可以帮助您在自己所感兴趣的领域中取得更大的进展。
要成为一名全栈工程师,需要以下几个步骤:
平衡两者是一个很好的选择。涉猎广泛可以获得广泛的知识和技能,同时也可以在自己感兴趣的领域进行更深入的学习和钻研,从而在这一领域中获得更高的专业素质。另外,不断学习和涉猎新领域的同时也可以保持对技术的兴趣,进而在不断发展的技术领域中保持竞争力。
并不冲突,自己的方向要精通,周边的方向要涉猎,重点是学习和解决问题的能力。
《西游记》里面描述孙悟空学艺的时候有一句话很恰当——一窍通时百窍通。盲目追求杂家最后只能适得其反,只有根基牢靠,才能顺利举一反三,快速吸收新的技术方法。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
Apache Flink 作为一款开源的流处理框架,已经在实时数据处理领域展现出了强大的实力。对于其未来的发展,我有以下几点期望与想法: 持续优化性能与扩展性:随着数据量的不断增长,Flink 需要不断优化其底层算法和架构,提高处理速度和资源利用率,同时保持对大规模分布式环境的良好支持。 增强AI集成能力:期待 Flink 能够进一步加强与机器学习框架(如 TensorFlow、PyTorc...
云计算作为数字化转型的核心技术之一,其发展方向是多维度且动态变化的,但根据当前的技术趋势和社会需求,我们可以预测云计算将朝以下几个主要方向进化: 更加普及化和民主化:随着技术的进步和成本的降低,云计算将变得更加易于访问,不仅仅是大型企业和机构,中小企业和个人也能享受到高效、安全、低成本的云计算服务。 边缘计算的发展:为了减少数据传输延迟和减轻中心服务器的压力,云计算将与边缘计算进一步融合。这...
其实在面对AI大模型生成信息存在虚机的问题上,我们可以从如下几个方面进行: 首先从个人对工具的使用上要做到: 对于接收到的信息,尝试在多个来源,特别是权威媒体或专业网站上核实。 利用机器学习算法识别异常模式,以及深度伪造检测技术等高性能工具,来识别和过滤AI制造的虚假信息。 其次从技术制度上要做到: 对AI生成的内容进行人工审核,确保内容的准确性和真实性。实施多轮审核流程,每一轮审核可以专注...
建议:将通义灵码直接接入到阿里云函数计算,让更多的普罗大众可以使用自然语言实现自己的编程需求,例如自动获取招考公告等。 在当今数字化时代,编程不再是专业人士的专属技能。随着人工智能技术的发展,越来越多的普通人也开始尝试通过自然语言来实现自己的编程需求。通义灵码作为一种创新的自然语言处理工具,能够帮助用户更加便捷地完成各种编程任务,比如自动获取招考公告等。为了进一步推广这一技术,建议将通义灵码...
存储能力和计算能力都极为重要,难以简单判定哪一个更具优势。 从一方面来看,存储能力是基础。它如同一个巨大的信息仓库,没有足够的存储能力,数据便无处安放。在大数据时代,海量的信息需要被保存下来以供后续使用,无论是企业的用户数据、科研中的实验结果,还是日常生活中的各种文档、图片、视频等。存储能力的大小直接决定了我们能够积累多少数据资源,这对于数据挖掘、深度学习等依赖大量数据的领域来说是至关重要的...