• 阅读思考与未来展望


    对软件工程专业的畅想

    我还记得在我小学2年级时,家里花了8000多元配了一台电脑,从此我的兴趣就被完全吸引到计算机方面来,或者准确的讲,是计算机游戏上来。然后我对我未来的职业有了一个基本的愿景,那就是去做电子游戏。但是大家都知道在那个年代,电子游戏被国内媒体严重的妖魔化,这方面的职业也多少有点“不务正业”的意思。我在读大学之前,生活中的唯一爱好便是游戏,那时候还和同学尝试利用游戏自带的编辑器做过第三方内容。我对计算机的兴趣来自于游戏,而选择软件工程专业的原因也是如此,没有任何其他因素诸如待遇,前程等等的考量。本科既然已经这样选择了,对于想继续深造的我,也就自然而然的选择了考取软件工程的研究生。

    要问本科期间我所学知识是否符合我对计算机/软件期望,我的回答是部分符合,具体是哪部分呢?我刚才也提到了我对电子游戏的狂热爱好,当然在学习方面,也会去着重学习与游戏行业直接相关的内容,譬如计算机图形学,C++,C#等等,当然还有间接相关的,譬如人工智能。对于计算机理论方面的课程,在学习过程中也慢慢了解到了他们的重要性。总而言之,这个符合期望与否是个动态变化的过程,在本科刚开始学习时,一定会有很多很多的与预期不符的经历,随着学习的深入,心里对于这个专业的期望就产生了很大的变化。渐渐的逼近专业本来的面貌。

    计算机是我喜欢的领域吗?计算机下的子学科太多了,有些方向我非常感兴趣,有些方向光听名字我就觉得自己不会去学习。比如上文提到的计算机图形学,还有现在非常热门的混合现实技术,人工智能都是我非常喜欢的领域,主要原因已经说明过了,不再赘述。计算机是我擅长的领域吗?我觉得这个问题对于现在的我还很难回答,首先我的本科生活是那种中规中矩的状态,没有得过什么奖项,也没有犯过什么事,基本所有的科目都是正常通过的。在大三时才意识到自己可能无法去到自己梦寐以求的游戏公司中去,当时尝试去学习过一些游戏引擎,如UNITY3D,但发觉个人能力还是不够游戏公司的要求,所以选择了读研。这样的一个经历,让我很难去界定自身的能力是否属于“擅长”,因为缺乏一个对比的样本,除了计算机方面的知识,我没有学习过其他方面的专业知识。我唯一可以确定的是,在专业知识的储备量上,我可能比较低。但是在增长率上,我对自己有信心。“擅长”可以是时间堆出来的,也可以是低耗时高效率下的“擅长”。我当然觉得自己会是后者,但是在看到别人的优质工作之后,有多少人对自己能保持这样的信心?

    B博客中作者给出一个论调:**考研•读研 定调:开始改变思维习惯,化机械记忆为主动思考 若只有机械思维——上了清华又如何 **对于这个论调我十分的赞成,因为作为应试教育的产物,我们确实在很多方面缺乏自己的思维,而这种情况带来的问题是创新型思维的缺乏。在学习过程中,循规蹈矩,判断力丧失,畏首畏尾。作者对这些问题也提出了一些笼统的解决方案,如尝试理解读者意图,尝试提出质疑等等。但我有一个问题:在科学研究方面,主动思考要在多大程度上借鉴他人的思想成果?换句话说,机械学习和主动思考的分界是什么?给你1个小时学习,多久用来接受“数据”,多久用来处理“数据”才能达到学习成果的最优?
    这个问题我想根据学习目的,学习个体,学习内容的不同肯定有不同的答案。在理论性强的知识方面,可能要“厚积薄发”,而在实践性强的方面,可能要“躬体力行”。
    对于我来讲,我站在选择学习方向十字口,这方面所要采取的学习策略得靠我自己摸索,别人的经验在这一方面终归没有太高的参考价值。

    研究生生活展望

    自我感觉你已经具备的专业知识、技能、能力有哪些?在本科的学习过程中,我自认为对计算机理论知识的学习还是比较认真的,也学习到了很多重要的知识,为我以后的发展提供了不少帮助,尤其是对我考研的帮助是巨大的。数据结构,操作系统,计算机体系结构等等课程让我认识到了构成计算机的种种要素。也学习到了一些编程语言,如C,C++,C#,JAVA等,但遗憾的是,在学习这些语言之后,没有系统的去实践,导致在我决定考研之后的半年多时间里,就将之前很多学过的内容忘却了。现在这个时间点,我认为我还有时间去把失去的知识再补回来,以完成我的研究生学业,并以此找到一份满意的工作,毕竟游戏方面编程的工作量和难度是很大的,尤其是在今天这个VR产业逐步兴起的年代。要说能力方面,我想这部分所谓的“能力”就比较抽象了,就思维活跃度来讲,我自认为思维还是比较跳跃的,很多时候也能想出比较不错的点子。但是在沟通方面,我的性子相对比较直接,可能在一些场合对一些人会有所侵犯。也就是说,我自认为智商没什么问题,而情商有一定的问题,我需要在待人接物方面学会协商,让自己的言行不那么具有攻击性。

    离成为一个合格的计算机专业硕士毕业生,在专业知识、技能、能力上还差距哪些?在探讨差距的时候,我们需要一个基准点,也就是什么样的硕士毕业生是一个合格的硕士生。作为学术型研究生,肯定是要以学术为主,也就是写论文为主。而是否能在毕业之前高质量完成自己的论文就可以作为一个标准。而如何达到这个标准呢?或者说我在以这个为目标的情况下,缺乏什么资质来达成这个目标?首先就专业知识来讲,撰写论文的一个重要基础便是大量的阅读文献,也就是要有足够的阅读量,在这一点上,我才刚刚起步去寻找自己的研究方向,阅读量还有很大的空缺。其次就技能上来讲,计算机学科的实践能力很大程度上体现在编程能力上,所以编程就是一个非常非常重要的技能,而这也是我本科阶段最大的软肋。所以我希望能通过课程,实验等方式来让我的编程能力得以提高,以让其不至于成为我完成论文的严重障碍。最后就能力上来讲,上文也提到过了我“自认为”的缺点,所以明确的,我的差距主要就在于与人沟通的能力。这方面还需要我在日常与老师同学的沟通中去学习,感受。

    在博客M,17段中博主写到,倘若一段代码以非常精妙的方法来高速完成一个任务,但是却复杂到哪怕写遍了注释也不能让后续维护的人看懂的话,那这段代码是没有实用价值的。一段好的代码,不在于它的设计有多么巧妙,不在于它的算法有多么高深,而在于它可以被几千个人同时开发10年,并且在持续添加功能的过程中,不会因为过于混乱而导致出现了重写的需要。这段作者对好的代码的定义给出了自己的理解,但是对一些追求运行效率的程序,这句话是否能够很好的套用?而且对于不同规模的团队,不同大小的任务来讲,需要牺牲多少程序运行效率来提高可维护性?这个如何界定?CSDN中对于此类问题的一个回答是,复杂的代码使用高强维护性的方法,性能相关的代码使用高性能的方法。前者一般用于经常修改,或者特别复杂的部分,后者用于小的函数,并且在代码中访问率特别高的部分。

    研究生毕业后的选择

    研究生生涯才刚刚开始,此时让我做出一个对毕业后发展明确的选择,是挺困难的。但就现在的我而言,我还是希望能够在毕业后找到一份“稳定”的工作。这个“稳定”是多方面的,其一,待遇稳定,这是生活的基本保障。其二,上班时间稳定,我不希望加班加点成为我工作的常态。其三,工作岗位稳定,我不希望我在一个岗位上待了很久之后被他人取而代之,而这种取而代之还可能不是你的能力能掌控的。要说我的优势和劣势,我的优势体现在计算机理论知识上,也就是所谓科班出身的优势。而我的劣势体现在编程能力上,也就是实践能力的不足。

    由于我的性格中一直存在一种“保底”思维,所以我对研究生生活的规划是对自身发展的一种保底规划。首先我需要顺利毕业,我就需要发表论文,而我对研究生生活的长期规划就是尽快发表论文得到毕业资格,不要延迟毕业或者无法毕业。其次,我需要找工作,“稳定”的工作有很多种,但基本都和一个“公”字离不开关系,所以我需要提早准备相关的知识和能力,这就需要很多时间,不管是继续升学还是出去找工作,我都需要去花时间“应付”。最后,我需要阅读大量论文,这是我对自己研究生生活的短期规划,也是实现长期规划的必要途径。这要求我能坐的住板凳(其实是椅子),静下心来学习和思考。

    博文J中16段说,说到底,工作就只是一份养家糊口的事情,其它都是不重要的,把这个想通了,一切都好办了。把心态摆正,把事情做好了,就行了,很多事情无法控制,当然,我们要懂得不要给别人留有藉口揪你小辫子。对这个言论,我基本赞成,但是我想知道的是在这种养家糊口的思维下,如何保障自己对所从事工作的热情?在阅读完知乎中对这一类似问题的答案(https://www.zhihu.com/question/20183609),之后我有了一定自己的认识,其中最重要的便是普瑞马法则,不喜欢做的,或者难做的先做完。

    未来的期望

    你愿意为了一个你感兴趣的、或得到实战锻炼的项目熬夜吗?你想脱离小菜鸟的level吗?如何评价上一届同学说的“和队友一起熬夜打代码是个不错的体验,或许还可以一起吃夜宵!”对于我感兴趣的项目,我可能会选择熬夜,但如果说单纯是为了能力的提高,我可能不会,当然我现在的回答不可能是绝对的,人的决定一定是考虑了多方面的因素确定的。而要问我想脱离小菜鸟的行业吗?那肯定是必须的啊,谁希望自己永远站在低点呢?对于第三个子问题,我其实很不赞同这种言论,在我看来工作虽然是生活的一部分,但它又不同于生活,在工作中,应该讲究高效率,熬夜工作并不是一种高效率的体现,反而是一种低效率的恶性循环。这个并不是我反对的重点,我反对的重点是他的“或许可以一起吃夜宵“,为什么我反对呢?因为他在整句话中有意无意的通过这后半句让我去接受一个观点,那就是熬夜工作或许有有趣的一面?有意想不到的福利?我只想说,不是所有人都适应夜间工作,而多数人都无法承受长期加班。不要试图通过美化”熬夜“来体现自己的努力。可能我说的有些偏激,但我不希望在我以后的工作中,加班成为一种值得夸耀的事情。今日事今日毕,一个夜熬过去,白天不用做事了?

    我对这门课的期待主要是能力上的提升,尤其是对软件的开发过程方面希望有一个真正意义上的体验,对我而言,所谓真正意义上的体验就是能够在课程结束后,能够对我做过的东西有全面的认识,能系统的将这些东西表达出来,最好是能够汇总成一种文本。还有一个期待就是希望通过这门课与新同学合作和共同学习,提升彼此的认知程度,少点防备,多点了解,取人之所长,补己之短。坦白地讲,对这门课的时间分配主要取决于作业的多少,因为我希望能尽可能的早开始阅读文献,提升知识储备,所以没课的日子(放松的周末不算)除了做作业基本都在看文章。我的目标从我的”保底“思维上来讲很明确,那就是拿到这个课程的学分。所以明确的,我希望能够拿到一个能够接受的分数。

    博文L中的第二大点中有这么一句加粗的话,兴趣和热情只能让你很执着,但并不一定能让你走好这条路,只有你的能力和你的强项才能让你走好这条路。这句话如果放在我大一刚进入福州大学时,我一定会嗤之以鼻,因为当时的我觉得只要有热爱,或者说兴趣。一切能力问题都不再会成为你的阻碍。因为你有足够的动力去克服这些问题。但是到大四我才发现我错了,人和人对接受同一种事物的能力天差地别。就像老师都经常说的一句话”算法不是什么人都能搞的“。但是我的疑问是,如何才能知道自己是否可以走好一条路,或者说,如何避免在花费大量时间之后才发现自己不适合干这个?知乎大佬们对这个问题的看法还是比较深刻的(https://www.zhihu.com/question/20060181),但我看完之后才发觉,这个问题也许是个伪命题。因为可能我根本就没有花费大量的时间去学习,就觉得自己不适合了。但有个现象始终无法得到解释,有的人可以花费2k小时就爬到行业金字塔顶端,有人10K小时还在中游。大家都花费了大量时间,为何天差地别?我会把他归因于学习效率,或者是有效学习时间。但这种问题怎么可能说的清楚呢?我唯一能做的只有去继续我选择的路,具体能不能爬上金字塔的顶端,这个没那么重要了。

  • 相关阅读:
    bzoj1015星球大战(并查集+离线)
    bzoj1085骑士精神(搜索)
    bzoj1051受欢迎的牛(Tarjan)
    左偏树学习
    hdu1512 Monkey King(并查集,左偏堆)
    左偏树(模板)
    PAT (Basic Level) Practice (中文) 1079 延迟的回文数 (20分) (大数加法)
    PAT (Basic Level) Practice (中文) 1078 字符串压缩与解压 (20分) (字符转数字——栈存放)
    PAT (Basic Level) Practice (中文) 1077 互评成绩计算 (20分) (四舍五入保留整数)
    PAT (Basic Level) Practice (中文) 1076 Wifi密码 (15分)
  • 原文地址:https://www.cnblogs.com/xiezhe1204/p/7612122.html
Copyright © 2020-2023  润新知