前端与后端:哪一个适合您?
定义
工作满意度
薪资/稳定性
我为什么选择后端
没有什么是永恒的
很多新开发者都问我,学习编程时应该学习什么、专注于什么?问这个问题就好比医学院的学生问自己应该专攻哪个领域一样。没有一个放之四海而皆准的答案。不过,我想提供一些指导,并就这个问题分享一些我自己的想法。如果你正处于职业生涯的起步阶段,希望这篇文章能给你一些思考。
定义
刚开始从事软件开发时,通常第一个会引发的争论就是我应该专注于前端还是后端?在深入探讨每个专业的特点之前,我们先来定义一下它们。
前端
指网站的呈现层以及它如何与后端数据交互。例如 HTML、CSS、JavaScript、Angular 等。
后端
指的是应用程序的数据处理层。这一层负责与数据库交互,并决定哪些信息需要发送到前端进行显示。例如 Ruby、Rails、Python、Java 等。
好了,现在我们知道了它们是什么,但是你该如何选择其中一种作为你的职业发展方向呢?说实话,这取决于个人喜好,以及你最初选择成为开发人员的原因。
工作满意度
如果你选择成为一名开发者,是因为你想要获得职业满足感,并且想做自己喜欢的事情,那么我的建议是,一开始就两者都做。先尝试一下前端和后端,这样你就能找到自己更喜欢的。这会不会更费力?肯定会,但这样你找到自己喜欢的领域的机会就会大大增加。
在前端和后端生态系统中,仍然有很多专业可以分支出来,这可能会让你不知所措。入门时,试着了解一下基础知识,不要太担心一头扎进去。先试水一下,看看哪个领域真的能吸引你。然而,在起步阶段,要意识到无论从哪里开始,一开始都会很艰难。我建议,在决定专注于哪个领域之前,给自己一到两年的时间,尝试一下整个技术栈。这将给你足够的时间克服最初“哇,这太糟糕了,因为它很难”的心理障碍,并真正评估这是否是一项你喜欢的技术。
虽然每个人的喜好各不相同,但看看其他开发者喜欢使用哪些语言和技术,或许会很有趣。2019 年 StackOverflow 调查研究了哪些语言最受开发者喜爱。
从一开始就跨整个技术栈工作的另一个好处是,你可以了解所有组件是如何协同工作的。无论你将来决定专注于哪个领域,这都将非常有用。如果你了解了另一半的工作原理,这将使你能够在你的专业领域内创建更好的代码和接口。
最后,当你跨全栈工作时,你可能会决定不做选择!你可能想跨全栈工作,成为一名全栈工程师。这完全没问题!
薪资/稳定性
如果你选择开发职业的动机是为了薪水和稳定性,那么学习这两项技能可能只是浪费时间。如果你想尽快进入这个行业,那就应该对你想要从事的领域做一些研究。了解一下前端和后端的薪资趋势。此外,还要尝试找出哪种类型的开发人员需求量最大。
我不敢说自己知道前端和后端哪个薪水更高,但有一些调查试图回答这个问题。我们可以再次看看 2019 年 StackOverflow 的调查,其中按类型细分了开发人员的薪资。
全球的
1)全栈 5.7 万美元
2)后端 5.6 万美元
3)前端 5.2 万美元
美国
1)后端 11.6 万美元
2)全栈 11 万美元
3)前端 10.3 万美元
此外,它还根据技术细分了薪资。以下是每项调查的样本。
全球的
- Clojure 9万美元
- 去 8 万美元
- Python 6.3 万美元
- Swift 5.9万美元
- JavaScript 5.6 万美元
- HTML/CSS 5.5万美元
美国
- Scala 14.3万美元
- Clojure 13.9 万美元
- 13.6万美元
- Swift 12万美元
- Python 11.6 万美元
- JavaScript 11万美元
- HTML/CSS 10.5 万美元
值得注意的是,这些薪资和趋势可能会因您的工作地点以及您是否正在寻找远程工作而有所不同。务必做好调查。您可以简单地浏览招聘网站,搜索后端和前端技术,看看有多少结果。
我为什么选择后端
我想在这里解释一下我最终选择后端的原因,希望能对其他人的决策有所帮助。我转行做开发者时,是为了追求工作满足感,并决定开始从事全栈开发工作。在真正转向后端之前,我做了三年的全栈开发。吸引我选择后端的原因是 Ruby 的简洁性。JavaScript 和前端语言对我来说一直感觉缺乏条理性。我也非常擅长优化代码性能。我喜欢尝试让程序运行得更好、更快。后端似乎给了我更多这样做的机会。
最后,我不是一个注重视觉或艺术的人。有些人看一眼网页就能弄清楚如何布局,以及所有内容应该放在哪里。我从来都不擅长这些,所以后端对我来说感觉更自然、更舒服。
如果你想深入了解其他人的观点,可以看看这个CodeNewbie Chat,里面讨论了前端和后端 Web 开发。你也可以看看我周二在 dev.to 上发起的讨论帖,里面询问大家选择在哪个技术栈工作以及原因。
文章已不再可用
没有什么是永恒的
无论你决定专注于什么,都要记住,没有什么是永恒的。如果你走上了一条路,并发现它是错误的,你随时可以换一条路。软件工程的一大优点就是它的所有部分都有机地融为一体。对一个领域了解得越多,就越能帮助你学习并精通另一个领域。
文章来源:https://dev.to/molly/frontend-vs-backend-which-one-is-right-for-you-5gjg