技术学习的思考
生活中难免因事因人牵动思绪,最近这段时间,又开始自我反思,一方面是在工作中遭遇到的问题,通过问题推导自己的不足以及对这段时间中自己的状态的分析,问题带来迷茫困扰,同时也伴随着个人的内心成长,我哪错了,我改,不断试错,不断纠错
思索
离开校园已经两年有余,最初的一个半年头,独立学习在工作中使用的技术,框架,业余弄弄自己感兴趣的技术,比如WPF、.NET Core、Node.Js、微服务等方面,每天早出晚归,白天是属于公司,晚上属于自己,几点一线的生活
工作了,忙碌日常和校园相差甚大,也渐渐感触校园时光短暂,同时也为自己并未过于蹉跎那些日子我暗自窃喜,自己学的东西很杂,往往是自己知识树的横向过度拓展,然而每天的精力是有限的,好钢用在刀刃上,时间亦是如此,碎片化时间带来的往往是谁片化的知识记忆,一直在学,一直在遗忘,学的慢忘得反而更快,嘴上说温故而知新
,又有多少能够做到,做技术的要耐得住寂寞,思索时才会寂寞,残酷的是,工作中没有那个时间留给自己去思索,时间是公平的,不会给任何人开小灶,鸡汤再多也挡不住时间和现实的摧残
自己到底在做什么?
自己做过啥?
接下来做什么?
天啦噜!惹不起这些抛问
忘记了过往的成就,看不清前路,受困于现状—应用技术和技术原理,如果将技术问题比作是疾病
的话,应用技术在我看来是特效药
,能够快速解决病症,技术原理则是调和五行阴阳,治疗病根的药方
如果自己还是初出茅庐时候,断然不会考虑这些问题,毕竟毕业有份合适的工作,工作中的问题,当然是考虑能够解决问题的应用技术,大众路线,先用能解决问题的技术,技术本身存在着怎么样的技术细节,直接靠工作时间怼,用到啥学啥,能解决问题的办法都是好办法,必要时,当自己不在满足于现状,希望自己有一个更好的变化时,二者之间往往需要进行权衡,找到更适合自己的方向
选型
应用技术
刚开始学习一门技术,一门语言时,跟着教程或者书籍,开头一句:“Hello World”,于是哒哒哒,键盘打的飞快,每每解决一个问题,都满满成就感,对这个字节的世界充满好奇,学以致用,对技术的应用体现的淋漓精致,也不是说应用技术不好,它能在必要时候解决问题的途径,只是学的多了,学的范围大了,越会觉得大海的浩渺,自己仅仅是一块入海的绵,吸收终有到极限的一天,海里随波逐流,自己浮于浅表的位置在变化,学到的东西杂而不精
,为了解决问题而使用一门技术,这确实没有什么问题,毕竟,在公司,能够按时按量的完成工作,为公司带来产值,至少自己是一个合格的员工,工作初期,这不会有什么问题,学会解决问题的技巧,可以很快的通过网络手段把自己的时间安排下去,框架,架构,热门技术,新兴技术,现在被人所熟知的技术,也不能一味的追捧,自己学的东拼西凑的碎片技术知识,往往像是缺零件的机械一般,难以正常运作,需要花时间整合,将应用技术整合成为自己的知识结构树,各个点之间建立关联,这就是一套个人知识体系
底层原理
那反过来问,底层原理又是什么?对我来说,底层原理是设计模式,架构实现原理,以及语言技术本身的实现细节,其实这些在平时的使用中可能就是微观上的实现和宏观上的概括,微观上,出栈入栈,装箱拆箱,各类特性函数的实现细节,宏观上,一些体系上的实现思路,类库的功能构建等,看似和实际工作中没有多大关系,实则这些一直都存在着关联,只是或早或晚的被注意到,当面对不知道如何查找需要解决的问题方案时,也许就是开始正视底层原理的时候,从底层往上找问题虽然很痛苦,但是往往能够刷新自己的认知,从根本上解决问题同时给自己一种豁然开朗的感受,原来这个是这样,之前这地方的书写方式不符合底层运行的规则等等,良药苦口,能治病
取舍
应用技术和底层原理,各有各的好处与不足,应用技术能很快投产,给自己的付出很快带来收益,对于这个快节奏的工作来说,是非常合适的,但久而久之 却会使人过于在意技术使用手段,小问题能很快解决,面对错综复杂的问题,可能就会有些力不从心了
底层原理,更多的是给人指导解决问题的方向和提前规避错误实现上带来的问题,越是复杂的问题,可能就是一些简单的底层细节或者简单的核心实现思路,看不懂,看不明白,往往是没有寻找到问题本身,只是学习和理解的过程往往是应用技术的数倍,过程也许是一种长时间的煎熬,需要去沉淀和思考
两者互补,需要有时间去根据自己的个人情况进行合理的分析,针对现有的时间进行合理的规划,满目的新技术新框架,诱惑者求知者的心,学习原理和学习技术本身就存在着反差,对我来说,原理得学,技术也不能放过,毕竟得养活自己,满足口食之欲,见效慢也得一步步去尝试和积累必要的知识,业余时间如果分为五分,需要考虑拿出三份进行底层的了解和学习,写下此篇文章也是对自我的一种思维的梳理,自我反省的一种方式
愿做河底基石,不愿做水面浮萍