作者回复: 技术栈确实有新有旧,但是很多技术的本质都是一样的,新的技术都是由某些旧的技术演进而来的,而有很多基础知识都是几十年也没有大的变化的。所以请不要觉得旧的技术栈就“无用”。在专栏中你也会看到技术之间大量的类比和联系。技术的学习没有任何可笑之处,加油!
作者回复: 很棒的回复。
我特别想回复一下运维开发不分家这一点。其实不只是 Google 的 SRE,太多大型互联网公司都崇尚小团队 + 服务自治了。工程师需要 oncall,解线上问题,通过运维的快乐和痛苦反哺开发(“吃自己的狗食”这一说法就指的是这个)。这种环境下工程师就要一专多能,在亚马逊对 SDE - Software Development Engineer 有一个“戏谑”的解释,叫做 Someone Does Everything。这方面我在专栏中会有展开介绍。
作者回复: 你好 Brave!
从你的描述我确实你感受到你对技术的“狂热”,你接触了非常多的技术,首先,我希望你更能把它视之为你的优点,而不是“累赘”,要知道并没有多少人能像你一样拥有这么全面的经历的,这是你的财富。接着,对于你的困惑,我有这样几个建议:
1. 把书读厚之后,要把书读薄。也就是说,要多做一些归纳和整理,寻找这些技术之间的联系,把握住技术的本质,而不是机械记忆。事实上,有许多记忆性质的知识,并没有那么重要,需要的时候搜索和查看文档就可以了。
2. 你可以逐步明确下自己想着重的领域和方向了,全栈当然是一个方向,但是全栈不是简单地做全面,它也有自己的重点。当然,你可以根据自己的情况来决定。每个领域做精显然是很难的,也不具备可持续性。你不需要“裁剪”掉任何部分,但是,你需要把主要的精力专注到你较少的目标上。
3. 最后,仅仅是带有偏向性的个人建议——如果可能的话,因为以你描述的能力,已经超过了大多数人,你完全可以一边夯实基础,多去面试,去开阔眼界(不只是技术上的眼界),然后去尝试挑战一下互联网更高级别的岗位(你有北京的经历,我认为北京的机会远远多过天津,甚至,你也可以考虑北美的互联网公司)。
希望我说的对你有帮助!
作者回复: 你好。
你提到了培训班,确实如此,并且相较来说,据我观察北美的程序员圈子里面 full stack 的讨论氛围比国内要浓厚许多。
对于深度的问题,其实广度和深度不但不矛盾,还有相辅相成的特点。技术都是相通的,在专栏中你也会看到,某一些有深度的技术都是别处“借鉴”过来的,“套路”都是一样的。
关于你的问题,是一个很好的问题。这个专栏并非围绕一个完整的技术栈的产品而设计的,但却会覆盖很多项目中的实际问题和例子。在下一篇学习路径中会讲到专栏内容的设计。
另外,从描述中可以看出,你有很多优秀的品质。:)
作者回复: 全栈可不是“全干”啊。我认为偏狭义的理解,比如定位到我提到的基于 Web 的技术栈,更有学习和讨论的价值。
作者回复: 这是我看到的第一个具备那么丰富的知识点的回复,这里面有许多在本专栏中都会涉及到。
作者回复: 嗯,很详细的描述,也恭喜你从测试开发工程师转纯开发成功。我想这个过程一定不容易。
我相信你已经有了初步的知识,因此才有了这样的感悟。下一步,你可以利用专栏,在每一章的学习过程中,把你经历的那些技术,特别是 Web 技术对号入座一下,了解具体技术背后的那些原理和套路。
作者回复: 我想从我的理解谈两个方面:
第一,全栈学习和成为某个领域的专家并不矛盾,不但不矛盾,还有相辅相成的促进作用。这点我在好几处评论的回复中已经谈到了,你可以参考一下。就拿我自己来举例子,我之前做了许多Web全栈开发的工作,但我现在做的是分布式系统,和Web 全栈“看起来”没有直接关系,但实际完全相反,我在文中也提到了。
第二,确实有很多公司都招聘 Web 全栈开发,我在国内还是北美都工作过。你自己也认识到了技术体系上的欠缺 :),并且,当你产生了“年轻人更有精力而且要的也少”的想法,我觉得就要当心了——你的竞争力是什么,拼体力肯定拼不过年轻人的。你的竞争力应该是经验、思路、眼界等等这些东西。你说对吗?另外,我在 06 篇会讲到一点这方面,你可以留意一下。
作者回复: 赞一个积极的态度!但是对你描述做个说明:
首先,你提到的“web 后端”本身就是我所理解的基于 Web 的全栈的重要一部分;
其次,语言是 Python 还是 Java 并非什么大问题,我工作中用了差不多十年的 Java,但是现在我所在的团队用的全部是 Python。你所学到的全栈技术,特别是技术的本质,还有常见的“套路”,往往和你的实现语言没有关系。:)
再次,至于前端,它能给你带来很多好处(第三章我们还会详述),我推荐每一个程序员都学习前端,无论在未来是否专注于这个部分。
作者回复: 每个人的遗忘曲线都不一样,但是学了就忘很有可能还因为其实没有学透彻,只是理解怎么使用、怎么配置这只是表象。
对于最后一条,我非常同意一点,如果跟着公司用什么,就学什么的话,这局限性太强了,想必你也不想把你的能力和未来绑在“公司用什么技术”上,对吧?
作者回复: 加油,也欢迎你和我们一起分享你走这条路的心得。
作者回复: 感谢你的观点和分享。
我认为,全栈技术的广度和你希望钻研的技术深度并无冲突,事实上,还有相辅相成的作用。程序员的发展总是要面临深度和广度两个维度的。
确实如你所说“有区别”,但是它们之间的“联系”更多。别担心,希望这个专栏能带给你帮助,帮你“上道”。
作者回复: 👍,希望专栏给你帮助
作者回复: 别着急,大学里学习或多或少都有这样的感觉吧!一带而过之后还是要靠自己消化。慢慢来,时间还长。
作者回复: 👍
作者回复: 你的想法和计划都挺好的,每个人都可以对全栈技术有自己的理解。这个专栏主要的内容是基于 Web 的全栈技术,希望可以帮到你。
作者回复: 你好,很抱歉,Amazon 内部转组这个问题我觉得不适合在这里讨论。
作者回复: 我觉得你的想法非常好啊!你也可以看看这篇下面的其他回复,但就现阶段而言,你说的计划基本就是我想说的。