前言
今天纯文字,阅读时间10分钟左右
最近在看一本书《大型网站技术架构:核心原理与案例分析》,可以说是非常枯燥的一本书,在开头几章讲解了网站的发展,介绍了一些架构中的常用名词。虽然有点枯燥,但这本书很适合想从开发转架构的同学。
其中讲到了各个大型网站的发展历史,无外乎是从一个很小的站点做起,随着流量的增加,遇到一个又一个瓶颈,然后克服它,完善它,到最后才形成了无数我们熟知的站点。在看书的时候,突然想到一点,这网站的发展不就跟我们程序员的发展一样吗?或者说这不就是跟我们每个人个人发展一样吗?
脑洞在博客园已经十几年了,经常会有朋友来问脑洞,30岁了,还能继续做开发吗?我要不要转Java呢?我一般会用亲身经历告诉他,Why Not?我都40了,还在做开发。或许我们说的开发含义有点不同,但我还是告诉你,不要说30岁了,50岁60岁做开发的大把人在。在问这个问题前,你要问下自己,我真的爱开发吗?真的喜欢吗?
什么是做开发的?
或许80%的朋友都会把开发定义为写代码,编程,但我更认为开发中,代码和编程只是一小部分,创造力,想象力才是开发的精髓。是什么推动科技发展呢?是人的惰性,当人对某些事物产生一定的惰性时,就想方设法去用最简单最省力的方法完成它(个人愚见,请勿参考)。
有人说我做了几年了,还在做CURD,我想做大网站,大流量,大项目,可当真的大项目来了以后,您是否能够承受呢?大项目意味着加班加班加班,这时候是否你又要怨恨加班太多呢?有多少人能在做CURD的时候想到使用面向对象三要素,想到如何把设计模式引用进来完成快速开发呢?
有人说我做了几年了,还是初级,我想做中级开发,高级开发,架构师,那为什么不去尝试呢?你在做初级开发的时候,你也可以设想一下,完善你的项目,提供更好的方案,如果比现有方案好,难道领导还会不用?(现实中还真有,脑洞碰到了,哈哈)
其实在我看来,无论什么级别都属于开发,每个级别除了做完相应工作,也需要不断去学习,去提升自己,或许业余时间很少,你可以利用工作时间提升,比如如何重构你现有的代码,如何提高性能。我有一个朋友,因为公司的产品对网络要求很高,响应需要在10ms之内,他就把网卡驱动相关的啃了一遍,虽然并未解决,但这种态度是值得肯定和赞赏的,目前他是某高新企业开发部负责人。
循序渐进提升自己
这是个难题,很多朋友无法循序渐进,都想用更少的时间获取更多的知识,但最后往往得不偿失。岳不群老前辈一直教导我们,欲速则不达,不要老想着一下子学会什么什么,那是不可能的。
再者,先把与工作有关的学好,工作都没很好的完成,如何有时间去学习其他东西呢?很多初学者会在做MVC的时候去看微服务,但实际MVC可能都没很好的掌握,而且有可能你看的微服务在近几年时间你都不会接触,不要浪费那么多时间去学习超纲的东西。当你认真把你的项目完成,在工作的同时提高项目的性能、解决项目发生的问题,这样项目的逐步发展也会推动你学习更多的知识。
有些同学或许说没有时间,公司可能是996,脑洞之前很长一段时间也经历着996,很痛苦,真的很痛苦,因为我并不是因为项目太紧,而是因为领导喜欢加班时间看到你。这种时候你可能没有多余的时间去学习,但你还是可以利用项目去学习,无论哪个项目都有好的或者不好的地方值得去学习和借鉴的。
在以前,我一般会把8小时工作时间都安排好,今天做什么,明天做什么,是否能完成我都有计划。但习惯996后,基本上工作效率很低,早上一般9点多到公司,然后喝喝咖啡,开开早会,刷刷手机,码几行代码,基本上吃午饭了。中午基本上休息到1点30分,然后开始工作。下午差不多5点半左右,开始着手晚饭,7点继续到9点下班。其实可以看下,你的有效时间并没有增加,但公司的人力成本却增加了不少。老板们,领导们,这又是何必呢?
奔跑吧 骚年
不要再为那种无聊的问题困惑了,如果你真的喜欢开发,不要介意以后的路是否崎岖,没有一个人的路是平坦的。人生会面对无数的选择,没有哪一次的选择会影响你的一生。
这次脑洞参加了.NET开发者大会,重拾了原有的激情,见到了汪神、苏总、潘校长和张队,虽然没有近距离接触,但看到各位大神依然活跃,心中肃然起敬。脑洞最后还中了个小米充电宝和卫衣,心中无比喜悦。
35岁的时候,脑洞做出了大胆的决定,跳出了国企的舒适圈,重新拾取开发,坦然面对996,如今5年过去,脑洞依然很好,也成为了某上市集团的开发部主管,但脑洞的路并没有终止,今年考了PMP和高软(虽然挂了,不过仅论文差了6分),我还会继续前行,希望年轻的各位也奔跑起来!
脑洞的蜂蜜是我目前的网名,这名字是打王者的时候自动创建的,很喜欢,以后就用这个了。