前些日子看到 ios 开发领域的“大 V ”唐巧在自己的技术博客上发表了一篇名为《写给那些傻傻的,想做服务器开发的应届生》的文章,说是为了给那些想要从事服务器端开发的应届生们“泼泼冷水”。
当然,唐巧的这篇文章真正用意也不是真地为了“泼冷水”,而是希望应届生在选择职业的时候多一份理性,同时能够意识到服务器开发工作很有可能与自己想象中的截然不同。
但是,正如唐巧自己在博客当中所言:
“其实我这篇文章故意写得很片面,······”
文章里一些关于服务器开发工作的论断的确是过于“片面”了,因此我想就其中几个观点谈谈自己的看法。
“服务器端的技术长久发展的结果就是,基本上每个业务需求都已经有现成的轮子了。所以做服务器端开发很多时候就是学习各种开源组件的用法,并且熟悉这些组件的一些性能特点和坑。”
“所以做服务器端的同学,要经过非常长时间学习(至少半年左右),才能上手进行实际的开发工作。上手之后,又需要经过非常长时间的学习,才能够熟悉自己使用的各种开源组件的特点和使用细节。”
服务器端的开发工作内容的确是比较复杂且具有一定的挑战性,需要进行大量的学习,但是这并不能成为不选择它的理由。不管是服务器开发还是客户端开发,一个优秀的技术人员,都应当“有良好的心态接受挑战,并从中找到积极因素。”
唐巧的这句话说得挺好,
“对个人来说,服务器端开发却使终是一块迷雾环绕的大山,在这座大山上,你对你走过的路线很熟悉,而那些你没有接触过的服务器端技术,你使终是不清楚的。”
想从事服务器端开发的同学,不仅仅要做好“十年抗战”的长期准备,而且在这条路上能不浮躁,不追求所谓的“速成”,实打实地摸透服务器开发的每一小块业务逻辑和功能等等。
但是仔细想想,哪一个行业、哪一个完整的知识体系甚至是哪一门手艺,不是这样的呢?
当然,对于创业型的公司来讲,服务器端开发人员在工作的过程中更有可能会涉及到服务器端的多个范畴,是有利于加深自己对于服务器端开发的系统了解。
“服务器端的同学大多数时候只需要关注纯技术的知识,例如如何保证高可用,高扩展性,高并发,数据一致性,数据安全等。”
“正因为客户端需要密切和产品经理, UI 设计师打交道,所以他们会频繁接触到产品设计思想和设计思想。······所以相对于服务器端同学来说,客户端的同学的眼界更宽,由于非技术方面的沟通更多,所以他们的非技术方案的成长也越多。”
眼界是否宽广并不是由非技术成长来决定的,专注于技术研究的同学在技术方面上的眼界也可以比客户端的同学更加深远。这样的比较其实没有太多的意义。
“由于服务器端人才的饱和,也使得竞争变得非常激烈,除非你成为这个领域的顶级人才,否则从平均薪资来说,做客户端开发的同学应该和服务器端的同学类似。”
个人短期内的薪资水平既不代表个人的最终价值水平,也不代表个人职业薪资的长期水平。
如果是真正下定决心去攀爬一座大山的人,是不会因为山难爬而放弃山的。
当然,更实际的一点是选择工作的时候,在考虑其他人的说法之外,更应该看重的是自己的爱好所在,虽然说起来很简单,但是实践很难。
1
kslr 2015-12-06 01:48:25 +08:00
不早了,睡觉吧,每个人都有自己的想法
|
3
shakespark 2015-12-07 08:27:58 +08:00
为什么看了 lz 的分析之后,我更觉得原文句句都是大实话。
lz 立志要选择一条更艰难、更崎岖、收益更不确定的道路,勇气可嘉。 人各有志 one man's meat |
4
haiwen OP @shakespark 这倒无妨,如果我说的话能让你看得更清楚点,那就行了。
|