一周一项目
记得我还在学java的时候,遇到一个在线课程的老师,前后端技术很厉害,是前智慧树的架构师,他曾经和我们说过,要不断的做项目,不断的做项目,不断的做项目,我清楚记得他重复了三次。他本身也是这么做的,他会自己做各种项目,听他说他最多的时候一年做了4个项目,互联网所有的应用类型他基本都做过。想要开发一个项目,他很快就能从自己积累的东西中拿出来。我当时很受触动。
工作多年,除了工作之外,也会学很多东西,看技术博客、文档、各种demo,但是做的项目还是少了。空有理论而没有很多的实践。我决定改变,把理论知识落地,输出成项目,也在做项目的过程中更加熟悉技术细节,增强整体和局部的架构能力。
技术与业务的关系,如上图,技术驱动业务,扩展业务边界,业务也对技术提出了更多要求。而技术的架构和实现需要一些理论的指导,同时在实践技术的过程中也可以提炼总结出一些理论的东西。知识是特定领域的业务知识,有了这些知识的知道才能从中抽象出业务过程,总要对该领域的知识有所了解,才能更了解业务,也能清晰的了解业务的发展和起因。业务结合技术就是产品。产品的迭代离不开两者。
做项目的过程就是理论到技术架构和实现结合业务做出产品的过程,自己做的项目可能业务和知识方面偏弱,更多的是理论到技术,和技术业务结合的过程,当然也有技术反馈理论的过程。这个过程需要不断的进行,来把理论切实的落地。
项目开始应该做一些简单的,独立的一个小功能,或者一个想法,类似敏捷开发,快速的实现一个可以运行可以使用的版本,时间一周足够了。不断的做项目的过程中,不断的熟悉整个项目0到1的开发流程,熟悉之后就可以做一些更大的项目,进而一月一个季度做一个大项目。
一月一本书
我们在开发过程中遇到问题,去查阅相关资料,学习相关的技术来解决,然后解决了问题,也学到了一些东西。以及我们在看技术文章和听各种讲座,都是我们学习的方式。但是这些都是零散和不系统的。理论,应该是系统而全面的,就像神经网络一样,彼此链接,可以有机的结合。孤立的零散琐碎的技术知识点并不能带来多大的价值。想要提升还是要系统的学习。
看书就是一种系统学习的方式,从基础到深入,从解决什么问题到带来了哪些变化,从各方面来系统的了解和掌握,是全面提升的很好的方式。
看书不应该过快,特别是技术书,应该充分吸收作者想表达的东西,加上要上班,我觉得一月阅读学习一本书是一个合理的节奏。当然书籍或者说理论都是可以触类旁通的,达到到一定的水平后,再学习新技术的速度也会提升,以后可能慢慢会加快到一周一本书的节奏。
总结
上面是自己的一些计划,或者说立的一些flag吧。具体做的过程中肯定会遇到各种各样的问题,且做且坚持吧。