关于如何切实提高技术功底的思考与实践
从大一开始接触C语言开始,慢慢地终于开始走到职业写程序这一步。
从最开始的前端入门,到慢慢做到后台,参与过Java和PHP后台,但大都都是以后来者的身份基于搭建好的平台和框架开发。
还做过许多仿真和算法,最终却又拿到安卓移动端开发作为第一份职业。
抛开语言基础,算法基础。
可以看到绝大多数的业务逻辑,绝大多数的业务逻辑大家都是会写的。你也会我也会,可能我多一点bug,给点时间也能修好。
但看到大神却发觉,对于技术的掌握丝丝入扣,定位问题准确迅速。你要是问他,他把逻辑讲给你听,你也明白。
所以差别到底在哪儿?
除了更加努力之外,思考的方式也不同。然后是对于基础的积累和各类知识的组合。
除此之外,还想要选择一个技术方向。
基于目前的状态,准备选择java、安卓、Linux等作为技术方向,业务方向还没定,后面看是VR或者AI我觉得靠谱。
---思想层面---
对于某一个技术点,按照如下思考路径。
1、概念很重要。该技术点是什么,有什么用。
2、实践很实在。该技术怎么用,使用场景,知识点有哪些。
3、原理是精髓。该技术怎么实现的,原理是什么。
工具思维:
对于一个问题来说,看见问题是最重要的。
往往看清楚一个问题的时候,离成功解决问题就很近了。
应用的内存使用、cpu使用、页面heracy等等,都需要工具去帮我们看见它。而页面的逻辑以及问题则需要恰当的Log帮助我们看清楚问题在哪里。我们需要掌握各种工具,各种类来完成这件事情。
整体思维:
技术博大精深,那么多的需求,一个人是没有可能通过实现每个需求完成自己的成长的,这里重复的东西也很多。
要想更为快速的成长,一定要将很多的精力花在各种基础原理的研究上。学各种各样不同的点,多少都知道,知识形成系统性。
懂得多,并且能够糅合在一起。
提高成长效率。
---实践层面---
读优秀的代码:
有一句挺给力的英文叫做"read the fucking code"。
身为程序员,你可能每天都在写代码,但是读代码的时间比较少。这里可能需要大大提升这个时间,多花一些时间去读代码。有输入,才有输出。
此文保持更新。