学习就是一个不进则退的过程,不是带节奏,而是事实。
更高一级的工程师,需要克服的困难,读的书,读的 paper,会逐级加深,比如你还在读数据库实现的时候,人家已经在研究分布式存储的原理与实现了。
你说不想那么累,只想找一种半衰期长的技术混口饭吃,也是一种生活态度。没有什么不好,只是个人兴趣罢了。
你或许产品观很强烈,对产品的理解跟二爷甚至乔帮主那么深邃,是个出色的产品经理;你或许会三四门外语,跟印度人,法国人,德国人能吵得火热,周旋于各种 Party, 出入各种高端酒会,偶尔用 SQL 查下ROI,那也非常了不起。
SQL 乃至整个技术体系,并不是唯一吃饭的家伙什,别把技术太神话了。人家微商一部手机,一个朋友圈,照样也是月入十万。 如果你认为做技术是圣神的,是唯一的致富途径,那你会失望的。 那不过是一种选择罢了,恰巧是你喜欢的一个玩具,还恰好能养活你,稍微花点时间,还能靠它养活一家子,何乐不为呢!
但,如果你以上特质都没有,你爹也不是李刚,那么技术可就是你唯一快速立足于社会的手段了 。这话不是我说的,吴军在他的得到专栏里讲过,无资源,无家庭背景,无干爹的三无人员,快速养活自己的方式,就是学门手艺,然后去大城市找一份工,先干着。
说到手艺了,就有精湛与平庸之分。从平庸过渡到精湛,都是手艺人的追求。有些人悟性极高,师傅领一领,就入门了,加上自己摸索的也勤快,一门手艺,比如 SQL,两年就完全精通了,很多 OCP 都是两年精通。而有些悟性低一些的,资质平庸的人,比如我吧,玩了五六年,才觉得有些入门了,十来年才敢说自己算是有点经验的爱好者。这不是我低调,也不是矫情,是事实。
人家日夜赶工,脑子好使,冬天我还贪恋温暖被窝的时候,人家在看书;我在星巴克喝咖啡,或拿着 Costa 咖啡在电影院连着追星球大战,变形金刚,复联的时候,人家在客户现场解决问题,周末无休随叫随到。凭什么不给他们精通呢!
所以入门的第一关,就是要花时间,看书做例子,提问,交流。
怎么判断自己是不是在入门还是进阶,或者门都没入呢?
尝试回答下面的问题,如果不能随即答出来,那说明没入门:
1)如何创建一个单值函数(scalar-valued function)和一个表值函数(table-valued function)
2) Left Join 与 Inner Join 之间的区别 3) 返回的结果集超过了1万条,如何分页显示
不看书,不查百度,谷歌,能把下面的题目答对,基本可以断定你是在进阶阶段。
1)不用循环,写一个顺序生成任意指定范围内日期结果集的脚本
2)已知按月存储的订单金额表,有年,月,销售金额主要字段,不用 Join 求解环比增长额
那么精通呢:
1)已知 select max(InsertDate) from auditLog 已经运行了 30 分钟,请问你会从哪些方面入手调优?
2)如果有两张表,各有 10 亿和 2 亿条数据,如果将 2 亿条数据合并到 10 亿那张表中?
3)看看这道题,你能答出来不? 这题价值 100 RMB
精通往上再高一层呢?
这一层只在 Qcon 上见到过,在 Github 开源的 Hive/Spark SQL 源代码中见到过,在阿里开发的 oceanbase 项目中见到过。 据说能随意改变数据层的访问,自动化识别分区,分表,分库,智能路由每套数据接口。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。