前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何成为出色的程序员

如何成为出色的程序员

作者头像
春哥大魔王
发布2018-04-17 17:44:06
6240
发布2018-04-17 17:44:06
举报
文章被收录于专栏:服务端技术杂谈
年轻,高潜

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

前几天看过一篇文章,说的是如果你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 属于架构师,资深程序员,技术专家,技术总监等;

小伙子们,努力吧!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-08-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 春哥talk 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 年轻,高潜
  • 基础架构组永远是香馍馍
  • 算法和数据结构
  • 如何衡量你的技术能力到了什么水平?
相关产品与服务
消息队列 TDMQ
消息队列 TDMQ (Tencent Distributed Message Queue)是腾讯基于 Apache Pulsar 自研的一个云原生消息中间件系列,其中包含兼容Pulsar、RabbitMQ、RocketMQ 等协议的消息队列子产品,得益于其底层计算与存储分离的架构,TDMQ 具备良好的弹性伸缩以及故障恢复能力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档