献给默默无闻,奋斗在第一线的苦逼程序员们!

起因

无意间翻看了之前在 Evernote 的关于服务器端记录的开发笔记,感触良多。

2009-2010 的上面记录的大多都是关于 Nginx、Apache、MySQL、Linux、PHP 中非常复杂,细节的性能调优方式,错误处理、同步异常处理,以及 Lighttpd、Vanish 的各种操作、评测命令行。还有关于 F5 BigIP、Nginx 反向代理负载均衡的研究,多机怎么会话保持...

2011 年是增加了 Solr、Sphinx 搜索引擎的安装、调优、索引用法,检索 API。以及服务器安全相关 iptable 防火墙

2012-2013 年大多是在前面所有技术不断新的升级版的使用方式外,又增加了 MongoDB 的安装、命令行操作,分片、多机器同步,MapReduce 查询。还有各种服务器管理工具、图片服务器、等等 Linux 开源工具,CDN 分发。

2013 年底 - 2014 年开始又有了流式计算 Storm 和 Spark、然后 ElasticSearch、日志分析。然后 Redis 相关操作的记录

2015 年除了一点 Docker 的笔记外,就没了。


之前的笔记可以理解为我几年技术上的『积累』或者是『沉淀』,但是现在仔细看看每一条,拿到现在基本上都没用了,要么是过时的技术例如 Lighttpd,要么就是不需要的技术。

反思

因为有了阿里云这样的 IaaS、Paas 服务,所以很多技术与经验都不需要了

  • 用了阿里云 ECS 之后,我不用再去租用单独的服务器,不用去电信、联通机房各部署一台,考虑网间数据库同步
  • 用了阿里云 RDS 之后,从来就没再看过 MySQL 服务器端性能调优、数据同步、备份。。等等等问题,纯 WEB 操作,各种碉堡的报表,比你自己想的周到一万倍,还不用单独维护数据库服务器。但是说实话话,在 2010 年,我绝对没想过 3-5 年之后会把公司核心的数据库,存有大量用户订单、金额数据放到一个第三方公司阿里云来管理
  • 用了 OSS、CDN 解决了静态数据存储同步问题。
  • 用了负载均衡,以前叫 SLB 之后,也不用考虑怎么轮循、怎么同步、怎么反向代理,也不用担心会出问题。
  • 后来阿里云有了 Memcache,显示的命中率的 UI 界面那叫一个漂亮。
  • 后来阿里云有了 MongoDB、Redis、日志分析、搜索引擎...
  • 年底 Docker 也上线了。

想到这里我只想说句『我擦~~』以后还需要运维这个职业么?有一种练就了 10 年功力,突然被废了武功的感觉

以前面试后台运维相关职业会问,你用过这个吗?你用过那个吗?你怎么调优的?你怎么解决xxx的问题?怎么热备份还原?

现在来说答案只有一个:『我用阿里云!』

预感

对于阿里云可能很多人都以为,这不过是一个大公司开放出来一些服务让大家使用罢了,自己作为一个程序员,技术是忘不掉的,到哪里都可以混饭吃。阿里云也不过是唯一一个例子。

但是真的是这样么?

我不这么想,当前的移动开发领域有 iOS 工程师 / Android 工程师,假设如果 React Native 超级强大之后,或者类似的服务统治江湖了,那么

  • 这个世界还需要那么多 iOS 工程师么?
  • 假如你是一个 5 年的 OC/Swift 工程师,当 React Native 是大势所趋的时候,你用 React 开发 App, 与一个刚刚毕业 1 年工作 React 经验的工程师对比,你的优势在哪里?
  • 你之前花了 1 周的时间用 OC 实现某个动画效果,发现了很多 OC 的 BUG 或者技巧,那对当前的 React 有超级大的帮助么?
  • 站在管理者角度,你在做 App 方面,与刚毕业 1 年的人做 App 花的时间一样,并且处理起技术问题都差不多,那么就算你 5 年经验,那工资应该给你多少合适?
  • 如果又有个 App 界阿里云的服务出来,产品经理或者设计师轻松点击鼠标可以把 App 做的比原生的还好的时候,那这个时代真的需要这么多 iOS Native 开发工程师么?

兄弟们,时代正在改变...

何去何从

现在这个时代,对于很多程序员们来讲,都是在温水煮青蛙。等到反应过来时,已经无心无力,最终只能卸甲归田~相比较来说 70 后有相同情况的程序员们他们还有个固定资产。。。我们有什么?

假如那一天到来时我们该何去何从?

研发也是一个技术工种,在技术工种里面有一个行业是最稳定的,那就是医生。有句话叫越老越值钱,一点都不假。不是很夸张的说把李时珍搬过来开个门诊他绝对也能挣很多钱。

医生为什么老了挣钱多,总结经验无非就是一个字『积累』!

积累是分方法的,不是积累什么都可以。

假如你会用 20 种语言说出一句你好,这确实很吊~,显得也高人一等,简历也很漂亮。但是真的没吊用。

假如你把 Foxbase 用的出神入化,甚至超出世界上所有人,那也是没吊用。

建议

关于提高自己,少走弯路、不断积累提高的建议

  • 心态最重要,如果是打酱油度日的,无需继续看下去。
  • 把握住这个时代的方向
  • 摸清楚这个时代的计算机发展规律,为什么有的技术一直在变,有的技术一直没变
  • 多了解自己,适合往哪个方向发展,量力而行,做管理?创业?改行做销售、产品经理?如果不适合研发,不如早点解脱。
  • Linus Torvalds 47 岁还在写 Linux 内核是否你也可以?
  • 架构很重要,学会很多架构是经验,能够理性的把适合的架构用到适合的系统上就是积累。
  • 百度与讯飞是我认为国内最有技术积累的互联网公司,如果你在里面负责核心技术,应该这辈子不用愁了。如果你现在在一个中小公司写一个没什么技术含量的 App, 那就要好好考虑下,如此下去写个几十个 App,改上几百个 BUG 之后,你能得到什么积累。
  • 如果你打算写代码到 50 岁,那么也只有 300 个月。极客学院的视频教程按照语言与框架区分有几百种。你懂得~别瞎看,因为时间根本不够。
  • 做技术,应该先有深度再谈广度。
  • 作为程序员算法的积累是最重要的,最难逾越的,就像是可口可乐的配方一样。在我们学习算法的过程中重要的不是记住某个算法,而是思路与感觉,以及不断优化的决心与意识。当前 95% 的 App 都只有逻辑,没有算法。你使用某个开源工具解决某个问题的能力叫方法,不是算法,你在把这些好的代码收藏起来的过程叫整理不叫积累。
  • 如果你已经想好了怎么做,那么就坚持下去。