开发者社区> 问答> 正文

全栈工程师对于开发者而言是更好的出路吗?

2000积分,LCD智能体脂秤*10

我们常常听说两句俗语“技多不压身”,“术业有专攻”,这就能够引到时常困扰我们的一个问题,我们是应该横向发展还是纵向发展,当下的科技和技术发展日新月异,对人才的要求也水涨船高,需要我们时刻保持学习的势头和习惯,那对于我们开发者来说,也会有这方面的困扰,对于技术的学习,是应该广泛涉猎还是重点在某一领域中钻研?成为一个全能的全栈工程师是更好的出路吗?欢迎开发者们踊跃展开讨论,说出你们的看法!

本期奖品:

截止2023年2月16日24时,本次话题将选取10名高质量的回答,奖励康德立LCD智能体脂秤*1。

体脂秤.png

注:如有复制抄袭、不当言论等回答将不予发奖。获奖名单将于3个工作日内公布,礼品将于7个工作日内发放,节假日顺延,春节期间物流缓慢,请见谅!

展开
收起
提个问题 2023-02-08 16:40:58 51581 367
181 条讨论
参与讨论
取消 提交讨论
  • 个人并不认为全栈工程师对于开发者来说是更好的出路。还是应该具体问题具体分析, 如果一个开发者各方面能力都比较均衡,对各种技术都很有兴趣,精力也很充足,那完全可以去发展成全栈工程师啊。 相反,如果一个开发者在某一技术领域能力特别突出拔尖,其他的不怎么擅长,那最好还是利用自己优势去钻研去做精。没必要非要分散精力在一些自己不擅长的领域。即使花了很多时间,也可能成效不大。 木桶理论(短板理论)有一定的道理,但是我更支持的是反木桶理论(长板理论)。人的精力是有限的,应该多看长处少看短处。提升自己的不可替代性才是王道。

    2023-02-21 07:40:42
    赞同 16 展开评论 打赏
  • 我感觉全栈工程师更适合作为团队的和核心人物,统一全局,对于项目的推进和整体的把握起至关重要的作用,没有足够的全栈经验,很难当此重任,同时要求也很高,绝对不是各个方面都略有涉猎便可胜任的。

    而术业有专攻也没错,360行行行出状元,任何一个小的方向都有无尽的进步空间,当对一个东西足够精通的时候,也绝对不会比全栈工程师混的差。

    废话到此为止,在我看来,人的学习进步和发展过程不是一蹴而就的,所以最佳的方式应该是先尽量纵向精深,在开始的工作中保持足够的竞争力,而后在工作中根据自己的兴趣和喜好选择横向发展,或者继续深挖(或者结合公司的需求,当时的薪资等)。

    2023-02-20 21:10:28
    赞同 14 展开评论 打赏
  • 不用媒介,同样精彩

    开发者可以通过学习全栈工程师技能来提升自己的技术水平,更好地参与到软件开发过程中。全栈工程师的技能涵盖了前端、后端、数据库、移动端、测试、运维等多个领域,可以更好地理解整个软件开发的流程,更好地完成整个项目的开发和部署。此外,全栈工程师的技能也可以帮助开发者更好地与产品经理、设计师、测试人员、运维人员等各方面的人员进行沟通和协作。

    2023-02-18 16:46:55
    赞同 10 展开评论 打赏
  • 全栈工程师是一个更好的出路。由于全栈工程师可以深入理解各个技术和开发流程,所以他们可以解决从数据库架构到前端开发的完整方案。他们可以更好地满足软件项目中迭代和优化的需求,同时可以更快地完成项目组的任务。

    2023-02-18 16:17:01
    赞同 6 展开评论 打赏
  • 全栈工程师在现代软件开发领域中受到越来越多的关注。虽然全栈工程师并不是所有开发者的理想职业路径,但对于某些人来说,这可能是一种更好的出路。以下是一些考虑因素:

    • 多样性技能:全栈工程师需要具备前端、后端和数据库等多方面的技能。掌握这些技能使得他们在开发项目时更加灵活,能够更好地协调各个方面的开发工作。

    • 更广泛的就业机会:对于许多公司来说,全栈工程师是一种非常有价值的资产,因为他们能够胜任多种技能需求,能够在不同类型的项目中协调各种开发工作。全栈工程师的技能更加多样化,可以使他们更容易找到工作机会。

    • 薪酬优势:全栈工程师通常有更高的薪酬。这是因为他们掌握了多种技能,能够在不同方面的开发项目中发挥作用,而且他们通常需要投入更多的时间和精力来学习各种技能。

    尽管全栈工程师在某些情况下可能是更好的职业选择,但并不是所有的开发者都想要成为全栈工程师。有些开发者更愿意专注于某个特定领域或技术栈,或者希望成为专家而非通才。因此,选择成为全栈工程师还是专注于某个领域,取决于你的职业目标和兴趣。

    2023-02-17 17:06:25
    赞同 6 展开评论 打赏
  • 全栈工程师是指同时具备前端、后端和数据库开发等多种技能的开发人员,可以全面负责一个项目的开发和运维。相比于专注于某一领域的开发人员,全栈工程师可以更全面地了解和掌握整个开发过程,从而能够更好地协调和优化各个环节。

    对于开发者而言,成为一名全栈工程师有以下几个优点:

    更高的就业竞争力:由于全栈工程师可以同时处理多个领域的开发需求,因此在就业市场上更具竞争力。

    更好的跨团队合作能力:全栈工程师需要对项目开发的不同环节都有一定的了解和掌握,因此能够更好地与团队中的其他成员协作和沟通。

    更好的职业发展:全栈工程师拥有多种技能和广泛的知识背景,这使得他们能够更容易地跨行业和跨领域发展自己的职业生涯。

    然而,成为一名全栈工程师也需要投入更多的时间和精力学习各种不同的技能,这对于有些开发者可能并不适合。另外,有些项目需要更专业化的开发人员,而不是一名全栈工程师。因此,是否成为一名全栈工程师,应该根据自身的兴趣、技能和职业规划来决定。

    2023-02-17 09:52:50
    赞同 5 展开评论 打赏
  • 一介书生

    我的观点是因人而异,由于每个人的能力不一样,学习新技能的速度也不一样,但是不论你是学习能力强和学习能力弱的人,都建议在前期先精通一门技能能够保证自己的生存。

    你说的两句俗语“技多不压身”以及“术业有专攻”表达的意思其实都没有问题,但是不是所有技能都能保证你可以在目前所处的这个时代里赚到钱养家糊口,你可能读了很多书、学到了很多技能但是出了社会却没有一个很好机会给你,也就是供需关系是否一致,当今这个社会迫切需要的技能和你学的技能是否是一致的。如果不一致,你可能带着浑身的技能到处跑也找不到一份养活自己或者自己满意的工作。另一方面,不管你能力再强,个人的精力和能力终究是有限的。假设你和爱因斯坦一样厉害,也不可能同时成为政治家、物理学家、数学家。

    综上所述,我在这里提供一个方案:第一步“术业有专攻”,也就是纵向发展,精通一门社会需要的技能,保证它可以养活你自己;第二步,在养活自己的基础上横向发展,也就是“技多不压身”,现在很多人其实都有工作之外的副业,例如自媒体、短视频直播等,我认为你可以学习一些自己喜欢的技能,也不一定是为了赚钱,一方面满足自己的精神需求,一方面说不定在未来有机会可以用上你这个技能。

    2023-02-16 17:01:39
    赞同 6 展开评论 打赏
  • 学海无涯,只学会了Hello world

    首先,我认为技术的发展是非常快速和广泛的,因此要成为一个全能的全栈工程师是非常困难的,因为这需要学习和掌握多个技术领域的知识和技能,而这些技术领域又是不断更新和演变的。因此,成为一个全能的全栈工程师不是每个人都能做到的。

    其次,我认为对于开发者来说,应该有一个主要的技术领域,即所谓的“专攻”。在这个领域中,开发者应该努力成为专家,并深入研究该领域的细节和复杂性。这样可以让开发者具有更深刻的理解和知识,能够更好地解决问题和面对挑战。

    然而,我也认为开发者需要有广泛的知识和技能,因为技术的发展是互相交织和融合的,各种技术之间也存在相互影响和关联。因此,开发者需要了解和掌握一些相关技术,以便更好地应对复杂的问题和需求。

    最后,我认为开发者应该根据自己的职业规划和兴趣,结合当前市场需求和趋势,来决定自己的技术发展方向。如果你对某个领域特别感兴趣,也发现市场对该领域的需求很高,那么就可以考虑深入学习和钻研该领域的技术。如果你想要拥有更广泛的技术知识和技能,也可以尝试学习一些新的技术,并探索其应用和发展。

    总之,技术的发展是快速和广泛的,开发者应该在自己的技术领域上深入学习和钻研,同时也需要掌握一些相关技术和知识。最终,选择什么样的技术发展方向,应该根据自己的职业规划和兴趣来决定。

    2023-02-16 15:50:48
    赞同 5 展开评论 打赏
  • 全栈是一个很艰难的挑战,人的精力有限,而且每个人了解的知识面不同,对于同一段代码的理解与使用也不同,总体来说两条路吧,一个是停留在浅层的业务开发中,你可能是前后端都能开发,都能写的大拿。另一个是深入底层知识,在一个端精力很长时间,专注一方面。两种各有优势,前者是业务全流程的了解者,无论后期是产品还是统筹,都能都有自己的见解。后者因为了解了底层原理,在长时间的学习中,能够很轻易的通学其他端的代码,最终也是全栈,不过后者对于个人的理解能力,学习深度,类比度,耐心等各个方面都有很高的要求,能坚持多年做一件事的,可以尝试下。

    2023-02-16 11:57:43
    赞同 4 展开评论 打赏
  • 全栈工程师对于开发者而言,可能有以下几个方面的好处:①全栈工程师能够更好地理解整个项目的架构和流程,能够更快地定位和解决问题,提高开发效率和质量。②全栈工程师能够更灵活地适应不同的开发需求和场景,能够更好地与其他开发者和产品经理沟通和协作,提高团队协作能力。 全栈工程师能够更广泛地接触和学习不同的技术和工具,能够更紧跟前沿的技术动态和趋势,提高自身的技术水平和竞争力。当然,全栈工程师也有一些挑战和困难,比如需要掌握更多的知识和技能,需要不断地学习和更新,需要在不同的开发环境和语言之间切换,需要平衡前端和后端的开发质量和效率等。因此,全栈工程师并不一定适合所有的开发者,需要根据自己的兴趣和目标来选择和规划自己的学习路线和职业发展。

    2023-02-16 08:54:12
    赞同 3 展开评论 打赏
  • 做技术的人就是需要永远保持一颗学习的心,但一个人的精力确实有限。这个话题更像是一个悖论。

    1、新技术总是不断出现,而且迭代的特别快,今天微服务,明天无服务化;今天是DevOps,明天是平台工程。单个技术栈也不足支持我们的职业生涯。再者涉猎更多的技术栈也可以开阔我们的视野,在做架构设计,做技术选型时有更多的思路,也可以规避很多的风险。还有掌握的技术栈多了,就像一个中台,和团队的人不同的技术人员沟通起来都会游刃有余。此外业务日新月异的发展,也需要我们时刻追逐各种新技术,自然而然就会锻炼成全栈工程师。 2、当我们说专注于一个技术栈,也并不是就会一个技术栈,而是成为一个技术栈的头部专家,也可以去把这个技术栈来发扬光大,提出自己的革命性创新。再就是精通一个技术栈,可能在工作中更加需要融入一个团队,团队的发展与个人的发展也是息息相关的,每个人擅长一个技术栈,组成一个“全栈”团队。最后在精力有限的情况下,深耕一个技术栈目的性更明确,更具有现实可行性。

    我认为为了个人发展要做到专注,要做到先精后广。至于是全能型还是精专型,可能更多要看个人的性格,规划以及成长环境决定的。选择哪条路,只要一直认真坚持下去,肯定都不会差的。

    以上纯代表个人观点,欢迎讨论。

    2023-02-16 08:00:31
    赞同 2 展开评论 打赏
  • 生命不息,奋斗不止。

    全栈的概念也不知道何时出现的....,但当独立完成一个项目(已具有价值产生的)或者主导完成一个项目,哦,全栈就是整个项目产品的生命周期,此时全栈已经超越技术界限,而是把各种技能融入其中,最终形成受众所接纳的产品。如果你享受此过程,那就是适合的,你的天地也将会更加开阔(做你想做的,为谁想做的:))。个人见解

    2023-02-15 17:43:23
    赞同 3 展开评论 打赏
  • 随心分享,欢迎友善交流讨论:)

    我认为这个问题需要辩证看待,没有标准答案的。

    成为一个全栈工程师对于开发者来说确实是一个有吸引力的出路,因为全栈工程师拥有广泛的技能和经验,可以从事多个领域的工作。这种多面手的能力通常可以使全栈工程师更具竞争力,因为他们可以处理更多的工作,减轻其他人的负担,并在团队中更加灵活。

    然而,成为全栈工程师并不是唯一的出路,也不一定适合每个人。成为全栈工程师所需付出的辛勤努力是不可忽视的。作为开发者,重点在某一领域中深入钻研,可以使你成为一个专家,并获得更高的专业知识和技能,这通常会使你更加具有竞争力。

    因此,对于开发者来说,应该根据自己的兴趣和职业规划来决定是横向发展还是纵向发展。如果你喜欢尝试不同的技术和领域,并且希望成为一个通才,那么全栈工程师可能适合你。如果你对某个领域特别感兴趣,并希望成为该领域的专家,那么在该领域中深入钻研可能更加适合你。

    最终,无论选择哪种方式,持续学习和不断提高自己的技能都是必须的,因为技术的发展变化迅速,只有不断地学习和适应,才能够在职业生涯中取得成功。

    2023-02-15 17:39:24
    赞同 3 展开评论 打赏
  • 所谓技多不压身,真的非常同意这个说法,身为一个前端工程师,在工作中不免和后端和设计人员打交道,多掌握一些技能肯定是有好处的,沟通起来也比较方便,如果一点也不了解对方的领悟,工作中也相对麻烦些,这些我是深有感触的,你可以不精通,但是要了解!

    2023-02-15 14:23:54
    赞同 3 展开评论 打赏
  • 坚持这件事孤独又漫长。

    专研领域更重要,而不是广泛涉猎,因为任何一个领域都有深度可以挖掘,把你的精力集中在某一个领域上可以更好地获得收益。成为一名全能的全栈工程师不一定是更好的出路,根据不同的需求,正确地选择可能是更重要的。

    2023-02-15 10:07:47
    赞同 3 展开评论 打赏
  • “术业有专攻”,表示全栈也是一种专业,细分的领域更是一种专业。 现在分工越来越细,但作为我们常做系统集成项目来说,要有一部分人充当项目经理,需要对各个方面包括客户行业相关的知识都有储备,这类人员一般都是长时间培养来的,要求就是广可以不精,开发人员一般都会往更精的方向去打造。

    2023-02-14 16:45:11
    赞同 2 展开评论 打赏
  • 大家相互学习

    有个名词叫Full Stack,中文翻译过来叫全栈工程师,也叫全端工程师。打外比方,全栈工程师就是一个能独立盖一幢10层小洋楼的人,而普通工程师,则是可以和一群人盖一幢摩天大楼的人。小公司的全栈工程师就是一个人可顶起一个项目、公司,大公司的全栈工程师既会产品业务也要会开发。

    2023-02-14 13:12:53
    赞同 2 展开评论 打赏
  • Chatgpt在世界掀起了生成式AI的热潮,不少大佬将其视为第四次工业革命,资本市场也贡献大量涨停。当初期的热情消退,我们静下心来看,可能看得更为清晰和理智。 毫无疑问,Chatgpt是一项划时代的成就,有人它是更强大的搜索引擎,从海量数据里筛选出最合适的答案。但实际体验下来,它不只是检索,明显还有

    作为一名开发者如何才能保障高效的工作,这个是我们每天都面临的问题,我们应该思考规划好每日日程。合理利用论坛和在线社区: 可能在开发过程中都会遇到问题,不知道如何解决,可能会阻挡我们一段开发进程,这个时候,我们就可以利用社区或者论坛,来寻求帮助,解决工作中遇到的问题。在代码中添加注释: 无论在做任何项目,代码一定要添加注释,只有添加注释了才能够更清晰的理解功能,还可以帮助其他人掌握你的代码,便于更加容易理解,利于团队合作。不断尝试学习: 每天都要提醒自己,还有什么东西没有学习,只有每天不断的坚持学习,才能提高我们技术水平,学习新的知识不仅自己水平上涨还能提高工作效率,在工作开发代码能力更加完善。尝试阅读大量代码: 这个还是很有必要的,毕竟作为一名开发者,想要提高自己的代码能力,一个是不断的编写,另外一个就是不断的阅读大佬开源的代码,框架源码,学习代码的精髓,尝试把自己的问题带到阅读代码中,比如,看到一段程序,如果是我,我怎么编写?我怎么把代码尝试在自己项目中使用这段?如果是我参与开源项目,我应该怎么做?作为一名开发者,编程语言,工具,框架往往很多,我们应该专注于编程基础,只有基础不会变化的,如果你有一件正确的事情去做,需要进行实时的检查。教条会阻碍我们学习新事物的能力,我们需要拥抱变化 。我们需要继续前进,但自我完善的关键原则是知道何时停止

    2023-02-14 07:53:06
    赞同 3 展开评论 打赏
  • 全栈工程师对于开发者而言是更好的出路吗

    image.png

    成为全栈工程师可以说是一种有益的途径,但是它不一定适合每一个开发者。作为全栈工程师,您需要对前端、后端以及数据库等多个技术领域有所了解,并且能够利用这些技术结合开发出完整的应用程序。这样的话,全栈工程师就可以独立完成一个项目,并且具有很高的技术价值。

    但是,如果您更喜欢深入研究一个特定的技术领域,并且对其他领域不感兴趣,那么作为一名专业的开发者可能更适合您。在这种情况下,您可以专注于提高技能,并在您感兴趣的领域内取得更多的成就。

    总的来说,是否成为全栈工程师取决于个人兴趣和技能。如果您对多个技术领域都感兴趣,并且有能力将它们整合在一起,那么全栈工程师可能是一个很好的选择。如果您更喜欢专注于一个特定的技术领域,那么作为一名专业的开发者可能更适合您。

    对于我们开发者来说,也会有这方面的困扰,对于技术的学习,是应该广泛涉猎还是重点在某一领域中钻研?

    取决于个人的目标和需求。对于一些人来说,广泛涉猎可能是最好的选择,因为这样可以获得广泛的知识和技能,并且在将来可以更容易地转移到新领域。对于另一些人来说,重点在某一领域钻研则是更好的选择,因为这样可以更深入地了解这一领域,并且可以在该领域中获得更高的专业素质。

    最终,我建议在平衡两者之间寻找一种平衡。涉猎广泛的同时,也可以在某些领域进行更深入的学习和钻研。这样可以帮助您在不断发展的技术领域中保持竞争力,同时也可以帮助您在自己所感兴趣的领域中取得更大的进展。

    如果想要成为全栈工程师,需要什么技能?

    要成为一名全栈工程师,需要以下几个步骤:

    1. 学习前端技术:学习 HTML、CSS、JavaScript 和一些 JavaScript 框架(如 React、Angular 或 Vue.js)。
    2. 学习后端技术:学习一门后端语言(如 Python、Java、Ruby 或 PHP)和一个后端框架(如 Django、Rails、Laravel 或 Express)。
    3. 学习数据库:学习一种关系数据库(如 MySQL、PostgreSQL 或 SQL Server)和一种非关系数据库(如 MongoDB 或 Cassandra)。
    4. 学习版本控制:学习 Git 和 Github,以便能够在团队中进行协作和版本管理。
    5. 学习开发工具:学习使用开发工具,如 Visual Studio Code、Sublime Text 或 Atom。
    6. 实践:实践是成为全栈工程师的关键。尝试构建自己的项目,并通过实际项目练习和提高技能。
    7. 不断学习:全栈工程师的技术不断发展,因此需要不断学习,以便保持竞争力。

    总结

    image.png

    平衡两者是一个很好的选择。涉猎广泛可以获得广泛的知识和技能,同时也可以在自己感兴趣的领域进行更深入的学习和钻研,从而在这一领域中获得更高的专业素质。另外,不断学习和涉猎新领域的同时也可以保持对技术的兴趣,进而在不断发展的技术领域中保持竞争力。

    2023-02-14 00:33:33
    赞同 2 展开评论 打赏
  • 并不冲突,自己的方向要精通,周边的方向要涉猎,重点是学习和解决问题的能力。

    《西游记》里面描述孙悟空学艺的时候有一句话很恰当——一窍通时百窍通。盲目追求杂家最后只能适得其反,只有根基牢靠,才能顺利举一反三,快速吸收新的技术方法。

    2023-02-13 17:40:24
    赞同 3 展开评论 打赏
滑动查看更多
问答分类:
问答地址:

话题讨论榜

  • 1
    在做程序员的道路上,你掌握了什么关键的概念或技术让你感到自身技能有了显著飞跃?
    奖品池:4000积分,腰靠垫*5,体脂秤*2
    119

    在我的编程生涯中,有几个特别的概念和技术对我产生了显著的影响,让我感到技术水平有了提升: 数据结构与算法:深入理解常见的数据结构(如数组、链表、栈、队列、树、图等)和常用的算法(如排序、搜索、动态规划等),对于编程能力的提升至关重要。掌握了这些基础知识后,我能够更高效地解决问题,设计出更优雅的解决方案。 面向对象编程(OOP):理解面向对象编程的思想,掌握封装、继承、多态等概念,可以帮助我编...

  • 2
    如何让系统具备良好的扩展性?
    奖品池:4000积分,胶囊伞*2,午睡毯*3
    62

    在系统设计之初融入可扩展性的理念和技术手段,可以从以下几个方面着手: 模块化与微服务架构: 将系统拆分为多个模块或微服务,每个模块或服务负责一个独立的业务功能。 模块或服务之间通过API进行通信,保持松耦合。 这样设计的好处是,当业务需求变化时,可以独立扩展或替换某个模块或服务,而不会影响其他部分。 使用标准化的接口和协议: 定义清晰、稳定的接口规范,如RESTful API、gRPC等。 ...

  • 3
    在JS编程中有哪些常见的编程“套路”或习惯?
    奖品池:4000积分,胶囊伞*2,午睡毯*3
    57

    在JavaScript编程中,有一些常见的编程“套路”或习惯,这些习惯可以帮助提高代码的可读性、可维护性和性能。以下是一些常见的JavaScript编程习惯: 使用ES6+特性: 利用ES6引入的箭头函数、模板字符串、解构赋值、let和const关键字等特性来编写更简洁、更易于理解的代码。 模块化编程: 将代码分割成小的、可复用的模块,使用import和export来管理模块之间的依赖关系。...

  • 4
    作为一个经典架构模式,事件驱动在云时代为什么会再次流行呢?
    奖品池:4000积分,加湿器*2,腰靠垫*5
    121

    在云计算的世界里,事件驱动架构变得流行,是因为它像是一种特别的“通信方式”。想象一下,每个服务就像一个独立的小工人,它们不需要一直盯着别人工作,而是通过“事件”来传递信息。比如,当用户做了个动作,这个动作就像一个信号,被发送到所有相关的服务,它们收到信号后各自做自己的事情。这样,服务之间就不需要直接连接,可以独立扩展,还能快速响应实时变化。而且,这种架构特别适合处理大量数据和快速变化的环境,...

  • 5
    如何处理线程死循环?
    奖品池:4000积分,小米随身音箱*2,计时器*5
    166

    某些编程语言和框架提供了锁的高级特性,如可中断的锁获取(interruptible lock acquisition)或尝试锁定(try-lock),这些特性可以帮助避免死锁。

  • 相关电子书

    更多
    低代码开发师(初级)实战教程 立即下载
    冬季实战营第三期:MySQL数据库进阶实战 立即下载
    阿里巴巴DevOps 最佳实践手册 立即下载