如何成为出色的程序员

年轻,高潜

这种程序员是每个公司都喜欢的员工,首先他们年轻,同时潜力巨大。

前几天看过一篇文章,说的是如果你35岁了,还有多少几率成为富豪。 数据统计的结果是:几乎为0。

面对这个数据,每个抱有侥幸心理的人恐怕都会哑口无言,这个几乎为零对于大部分没有好的背景,好的积蓄,好的人脉,好的父母,好的机遇的人来说恐怕就是0,所以在你35岁之前,甚至30岁之前,就需要不断努力,而不是在某个你时间点坐在那里仍对未来抱有侥幸。

年轻代表无限未来,高潜则是有较好的基础,聪明的头脑,学起新东西来更快,对新事物的变化更加敏感。

这种人大多是具有好的背景,比如985名校,大学期间参加各种计算机大赛获奖,多是92后,因为在他们上大学或者中学阶段,互联网行业已经非常火热,各种教材满天飞,各种易用性很强的框架遍地是,很多人在中学或者大学就可以搭建一个站点,从前端bootstrap,jquery,vuejs,到服务端nodejs,php,python,spring boot,到数据库mysql,mongo,再到最后的部署阿里云,aws都有了实践与认知,在大学专业课期间,就会抱着问题去学习,去实践,在虽然毕业只有2,3年,但是可能已经有近6年的编程经验。

由于实践经验丰富,好的同学在校招时进入顶级的互联网公司,在公司得到更好的培养,经过2,3年的发展,可能还是前几代人菜鸟的年纪,已经可以独当一面了。

这是这一代人的特点和幸运。

我司架构组有一个92年小伙,我25岁时还在做增删改查,人家已经可以独立部署整个公司的基础架构,同时对不同业务线的技术负责人进行基础的培训:包括新技术使用,公司架构规范,团队权限与管理,工程师文化的打造等。

这种人在普通工程师及CTO,技术VP眼里恐怕都会视为一个能力很强的人,同时一步步成长起来自身的收益也会无限大,在别人而立之年的时候,恐怕他早已财务自由了。

基础架构组永远是香馍馍

每个公司都会有基础架构组,这个团队在整个公司里面属于“靠技术吃饭的”团队。

别的团队大多是面向产品经理,项目经理的需求,基础架构组则是封装各种中间件,基础服务给到不同的研发部门,他们面对的是底层技术及基础中间件。

以我司的基础架构部为例,需要提供稳定的消息队列,提供稳定的服务网关,提供大数据日志接入的分析,提供分库分表的中间件,Redis集群的中间件,ElasticSearch的管理,大数据的接入等。

在有些公司,那些做业务研发的团队年底的奖金比较多,因为他们开发产品可能为公司带来了几十亿的收入,团队的奖励自然就多。基础架构部门的工作往往会被看低。

但是来年技术同学在评级涨薪时,做业务的同学则往往没什么机会,评委则会直接说:不要说业务相关的,我们不关心。

但是做业务的同学往往心里委屈:我只是做业务的啊,你们不听,我说啥,难道说我一知半解的微服务,跑过demo的spark?

而且在招聘市场,有基础架构组经验的同学是市场的香馍馍。

所以作为技术人员,不要被眼前的蝇头小利蒙蔽了双眼,你做3年的业务开发成长不一的比得上一年的基础架构同学的成长,一年之后基础架构组同学一个跳槽可能跳出你三年后的涨幅。

算法和数据结构

明确告诉你,如果算法和数据结构不行,你基本就进不了牛X的互联网公司了。

我有一个工作10多年的同事,在我看来他是十分热爱编程的,总喜欢重构代码,用到各种数据模式,学习各种新的框架,工作态度也很好,但是他最终没有进入一家牛逼的互联网公司,薪资也停留在一个层次很难变动了,主要原因是算法不行,他也不止一次的说自己算法只是递归冒泡的水平。

我劝了他很多次:东西不难学啊,而且面试时考的算法基本就那么几种,或者相对应的算法变种,死记硬背也可以啊。

但是他就不行,自己放弃了这座大门,别的方向再努力也没多少用。

很多人说算法面试考,但是工作中基本不用啊,还学他干什么?

只能说你没在一个牛逼的公司或者没有做牛逼的事儿。

我之前有个经历彻底改变了这个想法,之前面对一个老系统跑数据,每次都需要跑1周才能完成,这个系统经过若干人,没有人重构,后来跑到我手里,我看到这么慢,也直接跟运营同学说:这个是历史遗留问题,而且代码里面编织很多业务逻辑,不敢改啊,出现数据问题谁负责啊(总之各种坑蒙骗),蒙混过关。

后来有一天闲着没事,想做点挑战的东西,就找到这个系统,看了源代码之后,尝试去改,比如加了索引,分组,二分法,排序,MR思想等,直接优化到5分钟。效果这么明显,成就感油然而生。从此就喜欢上了用一定的算法和数据机构去提升效率了。

其实如果某一天你进入了架构师行列,你必须对效率,性能,资源有效把控,会把所有的资源压榨到极致,而且各自优秀的中间件的优秀设计思想,往往是在算法和数据结构上做的变化,所以掌握了算法可以帮助你更好的理解中间件,也帮助你写出更好的系统。

如何衡量你的技术能力到了什么水平?

每个公司都有自己的技术经理,架构师,但是市场毕竟有自己的标准,以BA两家的标准来说:

  • 15k以下 属于入门级别,本科基本3年以下;
  • 15k-25k 属于中级程序员,本科毕业5年以下,属于底层干活的;
  • 25k-35k 属于高级程序员,本科毕业6,7年+,属于技术经理或架构师;
  • 30k-50k 属于架构师,资深程序员,技术专家,技术总监等;

小伙子们,努力吧!

原文发布于微信公众号 - 服务端技术杂谈(ITIBB2014)

原文发表时间:2017-08-09

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏数据猿

【案例】恒丰银行——客户行为实时分析系统

数据猿导读 大数据客户行为实时分析系统采用大数据与实时流处理平台技术,从营销、风控、客户体验等多个业务视角满足渠道业务分析决策需求,帮助银行以产品为核心的经营模...

59280
来自专栏SDNLAB

边缘计算意味着云的死亡吗?

随着物联网的爆炸式增长,连接设备通过传感器、摄像头、加速器以及深度传感器收集到的信息越来越多,包括了从制造业到汽车、卫生技术、能源、公用事业和可穿戴技术等各个行...

13930
来自专栏企鹅号快讯

物联网平台的采用将成为2018年首要IT发展趋势

【天极网家电频道】智能对象存储、分析和人工智能,以及敏捷方法在企业中的全面扩展,将成为来年的主要趋势 北京,2017年12月28日——HitachiVantar...

21550
来自专栏企鹅号快讯

如何通过编程改变生涯

文章来自:博客 http://www.nowamagic.net/librarys/news/detail/2237 如果你想知道如何学习编程和转行,那么你不是...

19160
来自专栏云计算D1net

在云计算数据基础上构建技术层

19440
来自专栏企鹅号快讯

前端周记 2017 年终总结

2016年末的时候,给自己定了个小目标——2017年每周发布一篇前端相关的文章。于是时间很快到了今天——2017年的最后一周最后一天了——发布最后一篇文章。 算...

23950
来自专栏CDA数据分析师

Stack Overflow发布2018年度开发者调查报告,从中我们发现…

? 作者 Quincy Larson 编译 Mika 本文为 CDA 数据分析师原创作品,转载需授权 上周Stack Overflow发布了2018年度开...

40460
来自专栏华章科技

大数据应用的下一阶段发展方向在哪里?

来源:https://www.oreilly.com/ideas/whats-next-for-big-data-applications

10220
来自专栏VRPinea

VR开发者必看丨大朋VR 开发者中心运营报告(2016年上半年)

33440
来自专栏新智元

AI赋能开发者?微软用边缘计算解决问题,谷歌FB亚马逊却主要卖广告 | Build 2017

【新智元导读】 2017年微软开发者大会(Build),人工智能自然成为最大看点。新智元受邀全程参加了微软本年度的Build大会,带来大会盛况的现场直击。如果用...

36260

扫码关注云+社区

领取腾讯云代金券