引言
经常看到在各个程序员论坛上,总是以术成文,鲜有以道成术,而诸多同僚大多数都追求于术,却略于道,而经验之谈,却是重于术数之用,故,今日开篇总结我的程序员之路,六年下来总结的属于自己的方法论分享给大家,希望对各位有所帮助。
问题刨析之路
首先这个图是根据两个方向去看的,但是所有程序员都是从第一阶梯最底层开始的,刚入行开始,我们要先了解我们这个行业,这个语言的基础知识,去巩固我们的基础,这样,我们才能实现技术进阶,提升我们的编码能力,至少在某些技术层面,可以很少的去打扰同事,正所谓,基础不牢,地动山摇,基础好了,那相应的,我们在写代码的时候可以提升一些我们的编码能力,至少在基础层面的编码很少犯错,当我们的基础到了一定程度的时候,我们会了解到,学习到高级的技术,我记得当时我学会反射的时候,那个时候很开心,觉得这个东西用起来在编码的时候能解决很多问题,能动态的去实现我们想要的一个业务逻辑,当我们在这一阶梯,巩固好了我们的技术之后,便自然而然的问到了我们的下一步骤。
当然,我们在去使用以上论坛或者搜索引擎的时候,也不能是漫无目的的去搜索,而第一步,则需要我们去深层次的去分析这个问题或者需求的来源,例如,我们的客户给我们提了一个程序上的需求,那我们应该先站在客户的角度上分析这个需求给客户带来了什么好处,以及我们如何去实现这个需求,如何能够更好的去实现这个需求,或者说我们遇到了一个bug,通过打印日志,或者去看报错的代码,去分析这个bug最根源的地方是在哪,究竟是为什么报错所导致,目前就net而言,我们如果看不到源码,我自己会使用Dnspy运行程序以此来分析,程序是在哪块代码段报的错,其中有的地方会加上自己的猜想,更好的使用自己的主观能动性,去分析这个问题这个bug,当我们找到了导致我们程序最根源的bug报错代码段的时候,可能用的是第三方库,又或者是 微软自己的。那我们就可以借助论坛,博客园,MSDN,CSDN,百度,或者google,去搜索对应的解决方案。
当我们通过正确的练习,提升了我们的表达能力思维能力,那相应的检索能力也会提升,至少方向不会错,关键词不会错,同时在检索的结果集中,会包含着很多信息,这其中有的是有用的,有的是无用的,这其中,就需要我们自己过滤,我们得明白,清楚,哪些是我们想要的,哪些不是,固然试试又不犯法,但试试同样浪费时间,试试也要放在有用的试验之上,毕竟试错的时间也是成本,有些结果集中,包括的东西可能和我们遇到的问题表象是一样的,但本质是千差万别,就像当今互联网中,抖音是最火的一款短视频平台了,其中包含了各个方向,各个行业的视频,而我们被这些所充斥着,尽管会根据自己的点赞喜好推荐自己可能喜欢的作品,但有时候还会夹杂一些,不是我们所喜欢的作品,这个时候其实就是一种过滤,可能很多人不思考其不喜欢的背后,就是我们大脑对此类视频的一种过滤,而且,视频的背后也不一定是你所看到的那样,所以,在面对这些信息洪流的时候,我们得明确知道自己喜欢的是什么想要的是什么,以此来解决我们的问题,实现我们的业务需求。
方法论的形成
小时候都学过的一句话,叫人有两大宝,双手和大脑,双手会动手,大脑会思考,渐而养成了善观察,喜思考,勤动手的一个习惯,而在循环往复的过程中,经常总结,复盘,思考,便形成了属于自己的方法论,在面对问题和需求的时候,我是希望自己能够拥有一种追本朔源的能力,我不知道目前我算不算有,至少我在追求,因为在面对问题,拥有了这种能力,一眼看透问题的表象,从而找到最根本的方向,在解决问题的时候,是一种事半功倍能力,可以减少很多不必要的成本,节约时间,而在上一段中,我分享和解释了那张图,其中就包括了我自己的一个方法论,就是面对问题和需求的时候,先做一个简短的分析和猜测,并在不断的解决过程中验证这个分析和猜测,最后在通过各方面的工具,去解决这个问题,然后去更好的解决这个问题,正如上所述,第二层的能力是和第三层息息相关,甚至,第一层也和第三层息息相关。
在这个社会下,我们总是扮演不同的角色,打着不同的标签,有的标签是与生俱来的,有的是后天形成的,白天,在公司我们是员工,又或者是同事,回家我们是丈夫,或者父亲,又或者是儿子,可是什么时候是自己?我从高中开始,养成了晚上睡觉前的一段时间,把这一段时间留给自己,因为 这段时间,我才属于我,不属于任何人,在这个时间里,我会对当天的事情做一个复盘,对后面的事情做一个规划,也会放开所想,去想各种事情,最多的是关于宇宙,黑洞,或者哲学,古诗词的。但我不知道其他人是否会面对自己,给自己和自己腾出时间去复盘,规划,利用自己的思维能力去做一些自己想要做的事情。
说了这么多,都是抽象类的东西,可能对此有些人会嗤之以鼻,正如我和我朋友所言,有的人需要碰壁才会成长,而有的人在领悟之上就可以成长,降低自己碰壁的概率,而领悟就是思维能力的体现,正所谓借假修真,借他修己。
可持续发展
我从事这个行业,刚开始就是兴趣驱动,到现在我也喜欢,可能劲头没有那么大了,而可持续发展,是需要一种底层动力作为支撑,不管是兴趣,或者是金钱,名利,等都是一个支持,如果哪天没有坚持了,那可持续发展也就到头了,如果是看本文的IT同僚们,还是希望诸位能够多学一点知识,不管是金钱支撑,还是先兴趣爱好,都是一个动力来源。
程序和生活
在刚才提及到的方法论之中,我隐约透露着方法论,不仅可以作用于工作上,也可以应用于生活中,前提是你形成了自己的这个方法论,就像最开始那张图,他并不局限于任何一个行业,如果把第一层的编码能力换成其他,高级技术也换成其他行业共有的东西,那本身就是一个通用行业的金字塔结构,生活中遇到问题,同样可以借助问题分析,方法论,去解决现实问题,例如各种稀奇古怪的人际交往,人际交往中又出现的问题,只要你善于观察,思考,总结,归纳,我想你肯定也会形成自己的独到见解,只是看到分享的更多的是术数,便想说下自己的经验之谈,希望对大家有所帮助。