2022年9月24日,我很荣幸地被邀请参加咱们软院的新老生交流会,分享了一些想法。以下是我的演讲稿,希望也能与你一起分享。
在实践中学习,带着兴趣去探索
——与你分享我的故事
2022年9月24日晚,我在新老生交流会上的分享
师弟师妹们大家好,我是20级4班的龙进。我平时在写代码以及项目架构、管理这块有那么一点点经验,目前的话发起了一个开源操作系统项目,算是一点小成果吧。非常荣幸能被邀请来新老生交流会,跟大家分享我在这两年学习、生活中的一些所思所想所悟。
我将分别从“学习”、“兴趣”、“探索”三个方面,来跟大家谈谈我的故事。首先我们来聊聊学习。听到这个“学习”,有的同学可能就会想说:“师兄,这不就是学好、考好吗?”其实,大学里的学习不完全是考试,它其实更强调的是人的综合素质的培养,除了考试,还需要实践。当然,这绝对不是说考试不重要。作为一个学生,能够在考试中取得优异的成绩,是我们需要追求的目标。同时,基础科目对我们在将来的发展的帮助非常大。因此,大家一定要学好基础科目。尤其是数学、物理、电工这样的学分占比高的科目。因为,这些科目考得好,对咱们日后的评优、保研都有很大的帮助,学好它们,能让我们得到更好的发展。
我不是一个考试的高手,由于我在考试这件事情上确实缺少了专注度,导致平时考试考的不好,我有时候也觉得蛮遗憾的,成绩单看着就不是那么好看。就比如我的操作系统课,你说我对操作系统的原理理解不深刻吧?可是我也完整的设计、开发了出来,但是我考试却只能考到87分,不算低,但也不高。有挺多同学考的比我高的。这是我考试能力的问题,对于试题,没能留意到其中的坑点,表达也不够完整规范,同学们在这点要以我为戒。我想表达的是,咱们学得好,也不一定考得好。当然,考试考高分是我们要追求的东西,因为绩点的高低是咱给用人单位的的第一印象。可是,咱们不能唯分数论。咱们软件工程,是一门工科,是要动手实践的。如果仅仅是考试的话,为啥咱不叫“软件学”呢?对吧。
我相信一点就是,百闻不如一见,一见不如实验。咱们平时专业课的课内的学习,我觉得必须对课内学习的知识,多动手进行实践,这样方能提高自己的工程能力。从大一开始,我每次实验课都很认真参与,所有的实验代码都是自己完成的。从来没有,也没那个兴趣去从CSDN抄别人已有的代码下来,直接提交。为此,实验课我都是全班最晚完成实验的那几个,下课到饭堂之后,大家都快吃完了。大家在实验课的时候一定不要笑话那些做的慢的同学,也许他们只是比较认真。如果师弟师妹们从大一开始,每次都能独立的完成实验,并在实验代码中尽可能的提高代码的规范性,那么,这将为你的代码能力的提升带来很大的帮助。
聊完了学习,咱们再来聊聊兴趣。我们从小就听说“兴趣是最好的老师”,我觉得这一句话是很正确的。在这里想问大家一个小问题:你们为什么选择软件工程这个专业?这个问题给大家思考二十秒钟。好了,应该有同学的心里已经有了自己的答案了。这个问题其实没有对错,每个人的都有自己的原因。大多数同学可能是觉得这个专业毕业之后,好找工作,工资高。也有的同学是懵懵懂懂的,亲朋好友都说这个好,就报了软件。这些都没有什么对错。我想说的是,当大家已经开始了这段大学生活之后,开始了学习的旅程,到底是什么样的同学能更容易取得成就呢?看到我身边的同学的,以及认识的师兄师姐的例子,我发现,那些真正在软件工程的某个领域找到自己的兴趣爱好的同学,显得更加突出。他们能在比赛中取得优异的成绩。我有几个同学,他们很喜欢算法,参加了学院的ACM集训队,并在ICPC、CCPC里取得了很不错的成绩。他们平时花了很多时间在这个上面,基本上一有空就在做这个,然后也去参加Codeforces上面的很多比赛。我挺佩服他们能在这个事情上面坚持两三年的。基于兴趣的学习与坚持,是不那么容易累的,会很有动力。我建议师弟师妹们,尽可能的多尝试,尽早找到自己感兴趣的方向,这样能让你学习起来更有干劲,也能让你以后的工作不那么枯燥乏味。
我来讲讲我的故事吧,在上大学之前,我写过安卓app,也为班级开发过德育分的量化系统,还有一些小的文字游戏。还租服务器搭建了自己的博客。对,这个是初中高中的事情了,有点久远。我大一刚入学的时候,参加了学院的ACM集训队,当时我觉得这是最酷的事情。我在这件事情上,连续学了一年多,掌握了许多算法和数据结构的知识和基础能力。在大一下的时候,我像很多同学一样,听说了写后端的工作岗位蛮多的,于是,我就开始尝试写后端的程序。当时和同学写了一个小程序,我做后端,他写前端。搞了两个多月,算是第一次自己开发完整的应用系统吧,对前后端分离的开发有了一定的经验。我觉得这份工作我是可以胜任的,但是我却感觉这并不是我特别感兴趣的方向。后来,我和另外两个队友,一起用C++开发了一个代码版本控制系统,叫做Simple-SCM,就是类似于Git的功能的一个版本控制系统。Git是我们在多人协同开发过程中的一个很有用的工具,能够帮助程序员进行代码的版本管理及控制。这是我第一次接触到不直接面向终端用户的软件的开发。有一说一,做出这个软件的时候感觉还蛮爽的,后来我们还申请了软件著作权证书。再接着,大一的暑假我花了一个多月,每天6小时,学习机器学习、深度学习的理论知识及技术。我当时敲了好多模型,也还自己找了一些数据来做分析。但是,这一个多月过去了,我仍然觉得,这也不是我真正感兴趣的地方。在经历了这么多的尝试之后,我开启了最近的一次尝试:写操作系统。这是我在2021年9月5日发的一条朋友圈,我立了这么一个flag:一年内,抄也要抄出一个操作系统来。
这次,我坚持了一年多,DragonOS项目诞生了,我从0开始,在理解了涉及到的所有技术的基础上,开发了这个操作系统。目前总计有来自6所高校或企业的11名伙伴,与我一起,共同开发,共同交流。这次,我总算找到了自己喜欢的东西。
于是,这就引出了我要和大家分享的第三点:“不惧困难,勇于探索”。在这里,我将和大家谈点与理想信念相关的东西。很多同学会觉得,我写操作系统这个事情,看起来挺高端的,真的是本科生能做出来的吗?也有一些同学以及操作系统企业的工程师跟我说:“现在Linux系统这么好,你做出来的话,除了学习知识以外,根本没有意义,没有实用价值。还是基于人家的内核,做点上层开发比较实在。”在这里,我想和大家说,很多时候阻碍我们前行的,不是困难本身,而是自己为自己挖的那道坎、自己为个人能力设定的限制。
写一个操作系统其实并没有大家想象中的那么遥不可及。我敢大胆的说,在座的各位,在你们掌握C语言和操作系统的理论之后,来发邮件联系我,我们一起写操作系统。如果你能够每周投入30小时,坚持六个月,在这个过程中,积极面对遇到的一切困难,始终不放弃,你将能对整套理论体系有更深刻的认识,能对现有的一些解决方案作出概括性的小结,甚至能够提出一些全新的技术方案。我认识一个哥们,他在国外读大学,而他们的本科生操作系统课程作业就是,小组合作,从0开始写一个操作系统。这种现象在国外的优秀大学里,还是蛮多的。这说明,写一个操作系统的原型,并不是一件太难的事情。这个哥们敢于探索,他和同学合作,在大学四年里,让自己的操作系统跑在了自己设计指令集的芯片上,并且这个系统里面还能运行主流的clang编译器,编译应用程序。这就是一个本科生在大学四年期间做的事情,而他上大学前,学的是做网页。这个哥们的故事教会了我:要一直保持探索之心,不要畏惧困难。当你直面困难,向它发起冲刺的时候,困难也就会被逐个击破。我在写操作系统的过程中,遇到了许多的困难:试过连续两个星期每天写代码13小时;也试过遇到bug,翻了很多中英文资料,逛英文论坛,从毫无头绪,到思路渐开,整整连续调试了7天才解决;还试过面对一堆全英的国际标准规范、芯片架构手册,看了很久仍然无从下手。正是在这几百个日夜里的不断努力,我才有了这么一点点小的成果。写操作系统其实是我从小就有的一个梦想,我小学的时候接触到编程,我很清楚的记得,那个时候我的电脑课老师跟我说过:“我们国家在操作系统这块做的不好,基本都用的是国外的技术”。这其实算是为我的梦想埋下了火种吧。
黑格尔曾经说过:“一个民族总要有一群仰望星空的人,他们才有希望。如果一个民族只关心脚下的事情,这个民族是没有未来的。”我们要敢于仰望星空,敢于探索。在没开始做的时候,我曾以为我做不到,但是,当我沉住气去做了之后,发现梦想原来也不是那么的遥不可及,还是有希望实现的。我的理想不是为已有的Linux系统打补丁,或者是基于Linux内核来做发行版,而是发起属于我们中国人的操作系统项目。在未来,我希望能做出一个不同于Linux的,内核的技术完全独立自主的操作系统。
如今我国在应用软件领域已经比较的成熟,可是我们国家在基础理论的研究,基础软件、工业软件技术方面仍然落后。我希望我的师弟师妹们,有更多的同学能够怀揣一颗探索之心,不畏困难,能够向大多数人不想做、不愿意做、赚钱慢、有一定困难,但是国家迫切需要的方面进行发展。我这话不是说我们不需要应用软件,更不是否定我们国家当前在应用软件开发中所积累的技术经验,而是说,我们不能只拘泥于使用国外开发的软件来做应用,更不能拿着国外开源产品小修小改就宣称“独立自主”。当下国内有一些人,天天把“不要重复造轮子”之类的浮躁言论挂在嘴边,在各种场合反复的讲,觉得造轮子的人都是傻瓜。我认为,这种思想的泛滥,是我国解决卡脖子关键技术的一大阻力。这就是一些人浮躁的,过于功利的思想的体现。甚至可以说,这种言论是傲慢的看待基础研究、基础软件研发。试问那些网络上天天把这话挂在嘴边的网络公知们,在将来国外的基础软件和中间件封锁我国,或者故意针对我国进行“投毒”,而我国却没有拿得出手的基础软件的时候,这些公知们会否为自己的言论感到羞愧呢?我认为,我们应当有更多的同学能摒弃当下的一些浮躁气息,沉下心来扎实基础,深挖底层,把知识弄懂弄透,敢于主动造轮子,相信自己,不惧艰难,探索那些大多数人不愿意探索的领域,立志为我国做出真正独立自主的基础软件、工业软件,为解决我国软件领域的卡脖子关键技术做出贡献。我想,这也是我们发挥自身价值,为祖国贡献力量的一种不错的途径吧。
目光放长远一点,如果我们参与了重要的基础软件的开发,或者是参与了关键工业软件的研发,为我们国家解决卡脖子技术作出了努力与贡献,待到年老回忆时,你会觉得自己所做的一切对于国家的发展、民族的振兴都是非常有意义的。我觉得,这是超越了物质层面的,来自于自我实现层次的一种满足感与幸福感。我非常希望五十年后的我,能和在座的同学们,能够共同感受到这种幸福感。让我们共勉。
好,感谢各位同学的耐心聆听,期待你们在未来的四年里,能在华工这个大平台上,有更好的发展!
你们的师兄、朋友,
龙进
2022年9月24日星期六
欢迎关注我的公众号“灯珑”,让我们一起了解更多的事物~
转载请注明来源:https://longjin666.cn/?p=1554