后端实习中,想转前端,有很多问题想请教(长)

2023-02-23 22:57:27 +08:00
 freedzs

大家好,小弟是在校生,现在在某大厂后端实习,时间不长,但是体验了后端的工作之后现在很想转前端,下面是我的一些想法和问题,希望各位前辈能不吝指导。第一次发帖,内容比较多且杂,随便挑一个部分谈一谈您的看法对我也是莫大的帮助,非常感谢!

对后端和前端的理解

经过一小段时间的实习,我个人对后端和前端理解是:“后端重业务,前端重技术”。这句话肯定有失偏颇,但是从我的观察来看,后端的工程师普遍不是很在乎你个人写的代码、思想等等(我干的活都是中台业务,搬砖那种,不涉及到很底层的东西),而是主要关注你是不是把业务做好了,这也就要求你必须对好几个部门在干什么都比较清楚,同时也对他们的领域有一定程度的学习(然而面试的时候问的全是技术本身的细节,或者八股)。而前端虽然也是需求驱动开发,但是实现方式比较多样化,也有更多可以自己操作的空间(我们组十几个后端,只有一个前端),开会的时候也不用去理解他们都在谈论什么业务,反正把接口跑通了就 ok 。我个人对公司在干什么业务以及其架构什么的非常不感兴趣,可能和性格有关吧,更喜欢一些小而美的东西,这一点上我觉得前端对我来说更有意思一些。

另外本人的业余爱好基本都是艺术相关的,前端的设计属性可能也是个加分项(虽然我高度怀疑这一点,实际业务中大概就是某个同事给你指指点点设计一些丑爆了的页面?)

学习过程

由于之前看网上的言论都是“后端钱多、后端上限高、后端门槛高”等等(这个之后详说),所以一开始就学的后端。准备项目的时候由于都是一手操办,每个地方干了什么都非常清楚,也觉得很有逻辑很有意思,所以一直没怀疑过这个选择。但是在公司内就很不一样了,在网上看到过一个描述觉得很贴切——“屎山拉屎”,甚至不知道是拉在了尖上还是边上。

不想在屎山拉屎也可以,要么做底层那些有技术含量的,但本人对自己智商十分了解,目前的业务算是熟练了就能会的东西,再难了就像高数的证明题一样,不会就是不会;要么混时间长了爬到管理岗,但可能是学生思维吧,我观察公司那些领导,成天就是开会下指令,偶尔讲个话,我觉得工作全干这种事也挺无趣的。

最近在下班时间学习 React ,感觉难度对我来说非常合适,像是回到了舒适区一样,另外不管开发的是什么内容,能看到自己写的东西就感觉要舒服一点,好歹我能知道屎山被我拉完以后变成啥样了。

网络看法

上面提到,网上很流行的说法就是“后端钱多、上限高、门槛高、更容易晋升”,钱多不多我不太清楚;上限虽然高,但是我觉得以我的智商大概前端的上限也是摸不到的;门槛确实高,但是如果前端学得足够好,也应该能建立自己的技术壁垒吧;后端确实可以向着 CTO 发展,但是我个人也没有太高的追求,以后如果能干技术岗然后 WLB 就非常满足了。

技术栈变化

很多人会说前端技术栈变化太快,淘汰率高。找这家实习之前我一直自学的 Go 语言,结果进来后现学 Java ,痛苦异常。我之前也接触过 React 和 Svelte 框架,个人感觉这两个框架之间的差别远没有 Go 和 Java 的区别大,另外后端的技术实在是过多了,Java 、Spring 、数据库、缓存、MQ 、Spark 、Hadoop ,这些感觉基本是每个互联网大厂的标配了,还得和算法组那边对接,感觉等把这些都掌握的差不多了,前端那边也轮了好几遍了,我可能还宁愿专心钻研 JavaScript...

市场需求

这一点确实不太清楚,以后还准备出国工作,就更不清楚了,希望有前辈能提供信息。


大概先写到这里,由于以上基本都是自己的脑补想法,所以实际也不知道是不是真的应该迈出这一步。胡言乱语非常抱歉,提前感谢每一条回复!

2525 次点击
所在节点    程序员
25 条回复
abelmakihara
2023-02-24 17:23:38 +08:00
另外后端的技术实在是过多了
Emm 这不正是护城河高吗 这可是好事
GKD
2023-02-24 18:55:55 +08:00
前端键盘撒把米鸡都能写,建议后端,空闲学习下前端。
freedzs
2023-02-24 18:58:57 +08:00
@abelmakihara 也有道理.. 不过我们组那个前端从来没人找他麻烦,可能是中台业务前端能用就行
lcwylxx921
2023-02-24 20:53:50 +08:00
这个帖子下的一些回复充分验证了垃圾后端只能看到与自己同水平的垃圾前端,从而觉得前端的技术一无是处,却完全意识不到这只是因为自己是井底之蛙而已。
话说回来,作为同样对业务不感兴趣,只想做一些比较纯粹的技术的人,给楼主一些我的看法与建议。
1. 前端某种程度上确实可以让你脱离具体的业务,大部分公司里负责将设计稿转成代码的前端并不怎么需要理解业务,只需要画页面调接口填数据即可。但这样的前端技术含量较低,重复劳动多,只是从业务搬砖变成了 UI 层面的搬砖,成长性还远不如业务搬砖,所以不建议。
2. 想要脱离业务,又想做有意思且成长性高的工作,后端可以往 infra 靠,做云原生,数据库等基础设施。前端可以做一些通用且复杂度高的基于 UI 的 SaaS ,如富文本编辑器,Workflow UI ,基于 Web 的设计工具等等。但这需要你能找到对口的公司。
3. 不要把自己限制在某一个端,而是从软件工程的角度思考问题。事实上很多软件领域的问题并不是被限定在某一个端的,而是需要从更底层的视角,如算法,数据结构,设计模式,编程范式,工程架构等等维度去找到解决方案,这部分属于属于程序员的自我修养了。与哪个端没关系,但如果你想脱离业务的话,这部分是必修课,也是你的竞争力。
4. 想要成为具备全栈能力的开发者,学习前端的技术栈相对后端更有优势一些。TS 弥补了 JS 在大型项目上的不足,Node 则填补了 JS/TS 技术栈的后端开发能力。一个项目的前后端代码可以达到相通甚至复用。
5. 如果不得不接触业务的话,试着从业务中抽象出通用的解决方案或者能力。
freedzs
2023-02-24 22:39:40 +08:00
@lcwylxx921 感谢回复!

> 不要把自己限制在某一个端,而是从软件工程的角度思考问题

从长远的角度来看非常有道理。最近确实是被眼前的活给烦住了,这么一想只要能保持进步(难,哈哈)在哪个端可能也没有想象中那么重要。感谢建议!

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/918681

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX