想做程序员,选择前端开发还是后端开发
写在前面
最近有小伙伴加我私人微信,说看了我的 『前端学习路线』后,感受很大;
但是自己并不确定学前端,因为自己还没有工作,想做程序员,想问问做哪个方向比较有前途;
有两三个小伙伴这么问的,感觉很有意义,拿出来单独说说比较好;
有哪些选择
- 前端开发
- 后端开发
- 移动端开发
- 安卓开发
- IOS开发
- 测试开发(不属于专职开发)
根据自身情况选择
如何要找到一个适合自己的,这个首先要根据的情况来;
我按照最常说的"工作是否对口"来进行大区分
科班出身(对口)
科班出身,主要是指计算机相关专业的毕业的小伙伴;
因为学校的教案和课程都是计算机基础和后端语言的,所以做程序员本身就有非常大的优势(无论是什么方向的程序员);
虽然是科班出身,还要区分学习的好不好的情况
学的优秀
如果你是学霸或者专业学的还可以,那么非常推荐你从事后端的岗位;
因为掌握的好,自己学习了好多年,你面试的时候,基础牢固,比那些培训班出来的基础还要给力;优势很大!
学的很差
如果你专业知识学习的不怎么样的,那么后端可能不是一个好的选择;因为面试的时候,初级程序员,对基础类的面试非常看重;你的对手的学习情况和掌握都比你好;你本身的优势相对不好的;
但是如果选择面试前端/移动端/测试的时候,因为是科班出身,还是比其他人有很大优势的!
如果你是科班出身,学习不怎么好,还是想做后端工作,那么你可以通过报培训班,强化学习,那么你的优势比普通的人又会有很大优势!
非科班(不对口)
推荐非科班的小伙伴做前端开发;
科班做前端相对的不多,相对来说更偏向于后端,而且一般会心理看轻前端,所以前端的竞争相对小;
如果你是一个非科班出身的,如果你选择后端,需要与科班出生的人竞争,你相对就比较弱势;
但是你如果选择前端;
- 一是这行的科班出身少
- 二是科班出身的人,对前端接触的也不多,学校基本不教
所以起跑线差不多;你的投入产出比会更好;
从快速就业角度说:投入相同的精力,做前端比做后端收获更多;
选择前端的弊端
弊端是:
- 纯前端的做技术部老大非常少的
- 基本做到前端组的小组长就算到头了;
- 容易被怼
- 客户出现什么问题都是来找你,你是离用户最近的程序员
- 频繁修改界面
- 后端不像前端,经常改界面,很烦人,纯搬砖;
- 所见即所得
- 每个人都可以来指点你一下
- 后端的接口稳定就行,别人看不到,相对被怼的少
为什么学校普遍教后端
- 成熟
- 更容易吃老本;
- 计算机底层更加重要
前端技术更新换代太快太辛苦,后端更容易吃老本
安卓开发/苹果开发的暗淡前景
非常不推荐现在新人进坑安卓和苹果开发;
大部分公司因为业务的情况不继续做APP了,大环境的需求少了;很多转向web移动端,公众号,小程序这些了;
现在手机端是寡头垄断和断层的情况,小公司很少需要客户端的;大公司需要,但是要求高;
新人的起不友好了;
主要是小公司养不起,也推不动,很多小公司因为业务迭代少,做出来就不怎么修改了,很多转外包或者考虑前端做,或者公众号,小程序代替了
小程序,公众号这些都是前端的工作范围;
但基本所有互联网公司都需要后端和前端,前端和后端似乎都比 Android/iOS 有前途。
如果前端想搞客户端 react native/flutter 都是很优秀的开源项目;
这时候学安卓和苹果开发,我个人感觉和 49 年入国民党差不多;
任何技术都很难吃一辈子
不要前途寄托在任何 XX 端上,要跟随时代的脚步学习和进步;
各种技术和领域可能都难吃一辈子;
比较不同岗位
项目 | 前端开发 | 后端开发 | 安卓/IOS | 测试开发 |
---|---|---|---|---|
企业需求人数 | 多 | 多 | 中 | 少 |
市场同行人数 | 多 | 多 | 多 | 少 |
生态是否成熟 | 成熟 | 成熟 | 成熟 | 不成熟 |
技术迭代速度 | 快 | 慢 | 中 | 中 |
可选择的方向 | 宽 | 宽 | 窄 | 中 |
在线视频
本文内容,我在Bilibili上有用专门的视频方式进行表达,