假如 C++ 是一只箭,你会用它来射哪只雕?( 二 )


当然到这 , 可能也就算是个入门水平 。 真正上手后端开发的时候 , 像微服务、中间件( Kafka/Zookeeper/Hadoop等)等相关概念与技术的学习不也得提上日程了嘛 。
当然对于校招生来说 , 由于的确是缺少大型的上线项目经验 , 所以对后端基础的要求不会太高 , 更多的是看编程能力和计算机理论基础 。 不过倘若是已经工作想转行的同学来说 , 后端基础还是会比较看重的 。
这三点是在我看来目前互联网公司比较看重的地方 , 大家可以对照着反思自己是否具备这样的能力了 。 如果还没有 , 可以抓紧时间好好准备准备 。
假如 C++ 是一只箭,你会用它来射哪只雕?文章插图
客户端开发毕竟 C++ 已经是一个很成熟的语言了 , 所以除了后端开发其实它还有很多其它的开发岗位可以选择 。 自然而然的 , 就是客户端开发了 。
相信大多数学 C++ 的同学都用过 C++ 写桌面软件吧 。 那时候估计还是用 MFC , 照着代码书上敲一遍就能写一个比较简单的界面了 。 所以如果不想做后端 , 完全可以靠 C++ 找一份客户端开发的工作 。
只不过 , 客户端也并不容易呀 。 做客户端同样也需要扎实的编程基础和计算机理论基础 , 同时可能还要熟悉 Windows/C++ 编译链接机制、QT客户端开发技术体系、Windows 消息机制等技术 。
所以 , 假如你学的是 C++ , 同时也不在乎业内莫名其名的岗位歧视链的话 , 找一个客户端开发的工作也是非常不错的 。 只不过相较于后端开发 , 你可能需要重新审视客户端这个角色 。
在我看来 , 客户端与后端在职业发展上的区别主要有以下几点:
一、技术天花板这就是岗位歧视链中最经常拿来讨论的一个点 。 普遍认为客户端的天花板较低 , 长期在市场上的竞争力不高 。 甚至还有人拿 CTO 基本全是后端开发出身的例子来验证这个歧视链 。
怎么说呢 , 我觉得对于大多数人来说 , 客户端的天花板的确比后端要低 。 因为客户端是一个两级分化比较严重的技术 , 厉害的人天花板可以突破天际 , 而一般的人真的就很一般 。 而后端相较之下 , 的确职业高度的分布稍微均匀一些 。
但是 , 当客户端开发达到一定深度后 , 难度绝对不比后端开发难度低 。 反而有时候为了获得更好的端上体验以及更快的用户响应 , 涉及到的技术会更加底层 , 更加硬核 。 记住一点 , 客户端开发绝不是改改UI , 改改文案这么简单 。
所以我特别不喜欢这种歧视链 , 从非常片面的角度去论证某个职业或者技术的好与坏 , 甚至还上升到歧视的层面 。 我比较认同的是兴趣爱好论 , 而不是这种天花板论 。
二、发展方向客户端客户端 , 很显然是面向用户的 。 这就意味着客户端的开发是直接接触到用户 , 这也是与后端开发最主要的区别 。
说简单一点 , 客户端开发就是为用户服务 , 优化用户体验 , 让产品变得更好用 。 所以客户端有一个天然的优势 , 就是离用户很近 , 知道用户想要的是什么 。
问问自己 , 你觉得自己干技术能干几年 , 写代码还能写到多少岁 。 身体熬得住吗 , 头发还剩多少?干技术这行 , 还是需要天赋和意识的 , 特别是真正顶尖的技术大牛 。 不是所有人能够在技术这条道上一直走下去 。
那走不下去怎么办?转型 。
所以客户端的发展从来都不只是技术 , 而是业务技术两手抓 , 当然会有所侧重 。 业务能力意味着产品思维 , 放大点说就是互联网思维 。 这就是客户端的一大优势 。
三、就业选择这的确是目前客户端发展的一个痛点 。 放开到二三四线城市 , 后端的需求的确要比客户端要大 。 因为在小公司里 , 往往不需要那么复杂的客户端支撑 。
很多时候都是把后端开发程序员当作全栈来用 。 很多人都会考虑说 , 假如干了客户端 , 之后跳回老家就找不到合适的公司了 。 虽然这的确很有可能 , 但也没这么夸张 。
只要你的基础扎实 , 并且善于学习 , 其实到哪儿都能找到差不多的工作的 。 不过在一线城市 , 后端和客户端并没有明显的差别 , 互联网大厂对这两种岗位的需求都是很大的 。
假如 C++ 是一只箭,你会用它来射哪只雕?文章插图
音视频开发/多媒体开发我们知道现在基本各个大平台都在做短视频 , 同时也不断接入各种直播模式 。 在这个趋势中 , 对于音视频/多媒体方向的开发需求越来越广 。
比较成熟的互联网大厂通常会把音视频/多媒体技术方向独立出来 , 作为为全公司所有产品线提供中台的支撑 。 然后相关的处理算法会封装成SDK给各个业务中调用 。