自己不是科班出身,从一开始编程就不是很自信,总觉得跟科班出身的程序员有差距,觉得掌握的知识不系统,这也是客观事实,一直也在补计算机的基础知识。开始的时候,总是想用学校的学习方式,不管学什么都想要留出一整块的时间,但后来慢慢发现这种方式不是很现实,工作之后,整块的时间很少,都是碎片化的时间,只能是边干边学,利用碎片化知识进行系统地学习。
后来发现一个程序员自学的网站teachyourselfcs,里面列出了CS的9个基础知识模块,自己也一直在按照学习,但是说实话,里面每个模块推荐的书籍和视频课程,学起来还是有些难度的,因为都是英文的,需要很多的时间和精力,安排好计划,每天学习一点点。再有就是根据工作中的需要,一段时间内重点学习哪个模块。
工作还是更加偏重于应用,极客时间也是很好的选择,里面都是实战性的课程,每个模块也都会订阅相应的课程,后来干脆买了年度会员,当作知识搜索网站,按照目前的水平,遇到的所有问题,在极客时间其实也都可以找到解决思路,有时就是直接解决方案。但这种模式从长期来看,并不是最佳的,计算机最新的知识都是英文的。从某种程序上说,程序员的上限是英语水平,这话说的也挺有道理的。所以对计算机基础知识的学习,是要持续整个职业生涯的,用极客时间解决问题是短期内的选择。
自学网站中的书籍和课程,在实际看的过程中,确实挺缓慢的,但内心构建完整的CS知识体系是很急迫的,急迫的时候不断地给自己进行心理建设,这种事情急不得,只能慢慢来,市面上的主流笔记软件我都用过,目前觉得flomo更适合自己一些,每天中工作和阅读中遇到的问题和经验,都可以打上标签,添加到对应的模块中,这种方式还是觉得不够智能,还应该有更智能的方案。
当ChatGPT出来的时候,我注册的挺早的,开始的时候就觉得很新鲜,也给朋友和同事注册了一些账号,毕竟是提高生产率的工具,有好的工具一定要早早用上。那个时候没想着ChatGPT可以作为构建知识体系的一种选择,或者当作自己的电子图书馆,这要比电子书智能多了,也比搜索引擎智能一些。
把ChatGPT的一个对话当作一个主题,将计算机中涉及到的各个方面,都当作一个对话,遇到问题或者有什么新想法的时候,就跟它对话交流,这是目前自己能想到的最智能的方式,未来对话最好可以进行分类,这样每个学科都可以整理成一个分类,分类下面又会有不同的主题。这种方式的好处在于,每个对话中,历史问题都是有记录的,现在仅仅能说出之前所有的历史问题,未来可能会有更近一步地迭代,毕竟这还是初始阶段。
有了问题的历史记录,就可以对自己之前的问题进行思考和回顾,不断地在这个主题下进行更深入地思考,当遇到不懂或者不会的时候,就对它进行提问,在自己的头脑不断地重构和新建知识地图,这个过程需要注意的地方,是对于回答的一些事实性问题进行再确认,如果回答不正确可以进行反馈,每个回答的右上角都有两个图标,如果回答的好,可以用👍进行反馈,如果觉得有问题,可以倒彩的图标进行反馈。
反馈的过程也是在优化它的回答,让它更加智能。对于记忆性的内容,ChatGPT可以帮助程序员解决很多的东西,那么程序员需要做什么呢?需要去思考采取怎样的方案,如果有新的点子,可以让ChatGPT帮助自己更快地落地。有时候写代码多了,就会意识到自己有时候会变的有些像机器,总是进行理性的思考,并把理性应用在所有方面,这时思维上的一个误区,自己要做的是要更像人,做那些机器做不到的事情,而不是去做机器轻而易举就能做到的事情。
像人需要做什么呢?就是要比以前更加热爱生活,都说艺术来源于生活,我觉得想象力、创造力也来源于更用心地生活,这些机器暂时做不到的,未来很久也很难做到。