天天看点

2020软工热身作业

2020软工热身作业

项目 内容
这个作业属于那个课程 https://edu.cnblogs.com/campus/buaa/BUAA_SE_2020_LJ
这个作业的要求在哪里 https://edu.cnblogs.com/campus/buaa/BUAA_SE_2020_LJ/homework/10410
我在这个课程的目标是 清晰职业发展规划, 学习领先的软件开发方法
这个作业在哪个具体方面帮我实现目标 让我对于之后的目标更清晰了
作业正文 如下

第一部分 结缘计算机

  1. 你为什么选择计算机专业? 你认为你的条件如何? 和这些博主比呢?

    我选择计算机专业, 一是因为兴趣, 二是因为机缘。

    • 在上大学前, 我对于计算机是很有兴趣的, 不是对编程, 而是对游戏和剪视频, 记得高中的时候剪一个片子能基本几天晚上不睡, 我觉得坐在电脑前面做media相关的事情是很幸福的。 上大学后我对于计算机才有了比较明确的概念, 从算法, 数据结构, 到计算机组成, 编译原理, 了解了计算机系学的东西是背后运行的原理和方法, 和表面的interface没有关系, 尽管如此, 还是不减我对于计算机的兴趣, 我觉得计算方法只是工具,这种工具和思想是可以应用到不同领域的, 有了最基础的计算机的运行知识对于以后任何一个方向的研究都有很重要的作用, 当然也一直很感谢温江涛老师和大一时遇到的徐迈老师所做的multi media方向的事情让我对于计算机和media能够持续产生兴趣。
    • 除了兴趣, 我觉得我选择计算机系很大程度上是因为机缘, 因为其实高中的时候我第一感兴趣的是金融, 第二才是计算机。 高中的时候赶上大学先修第一年, 附中有幸请到北大的周黎安和清华的某凸老师给我们讲宏观和微观经济学, 让我们对这个学科有了启蒙的概念, 也产生的兴趣, 所以当时一直想要报考的就是名校的金融专业。 不过也是因为机缘吧, 无奈分数不够, 可选的最好的学校北航的计算机比较强,而且金融行业本身很看圈子, 没有名校背景很难有所发展, 所以最终放弃了学商的想法。
    我认为如果基础上来看, 我的条件不算很好, 高中的时候没有打过竞赛, 大学才开始学习计算机, 算法上肯定是没有打竞赛的好, 工程上不如博客I中的技术栈爆炸的大佬, 但是这些都是可以通过大学后的一些学习来弥补的, 毕竟技术的道路还很漫长。
  2. 计算机是你喜欢的领域吗? 是你擅长的领域吗?

    毫无疑问, 计算机是我喜欢的领域, 以前会更喜欢金融一些, 现在计算机是我最喜欢的领域, 可能也是因为投入了太多沉没成本吧, 未来还是希望在多媒体和量化领域把计算机继续做下去。

    是否是我擅长的领域, 这个问题我觉得很难回答, 因为大学后我才觉得, 是否擅长是很相对的事情, 比如某同学的计算机能力和一般985学校的同学相比可能是很擅长的, 但是和最顶尖的学校学生相比又变成了一般般, 中等水平, 和世界最顶尖的学校的大神比又被秒的连渣都不剩了, 那么这个人是擅长计算机还是不擅长计算机呢? 真的很难讲,一个人的视野越广, 遇到的人越多, 越会谦虚和意识到自己的渺小。 我并不认为我现在可以回答我是否擅长计算机, 总之我觉得我个人一直都是在不断进步的。

  3. 你热爱这一专业吗? 你对计算机的热爱是怎样的? 仅仅是口头的吗?

    热爱, 上个问题已经回答了相关热爱的话题。 引用Antoine de Saint-Exupéry的一句话

    It's time you spent on your roses that makes your rose so important
    真正证明一个人对一件事情热爱的是他花在这个事情上的时间, 我每天大部分时间都花在看paper, 写code上面了,把时间花在一个学科上, 就是热爱这个学科最好的体现吧。

第二部分 在计算机系里学习

  1. 吐槽大学生生活, 理想的大学教育, 国内外对比

    首先, 第一个问题, 大学生活有什么要吐槽的地方, 我觉得槽点有大学课程安排的比较死和数学分析, 线性代数, 概率统计这些课过于简单。 我们的课程有些死板, 每年必须按照安排去上课,因为我是转系生,转系那年修不了之后的课, 所以得晚一年毕业, 但实际上完全是有时间能够修完的, 如果能够实现完全学分制, 自由上课会更好。 另外我们的数学分析等基础理论课都太简单了, 计算机很重要的是基础学科的应用, 如果数学根基不扎实, 在做图形图像, 优化理论的时候会四处碰壁, 因此学校很有必要提高课程难度, 不要让同学们觉得大一的时候再虚度时光。

    我理想中的大学教育, 是学生充分接触工业界和学术界, 能够和全世界最优秀的人接触, 同时简化课程教育。 简单来说是这样的一种方式, 学生不必要来学校里上课, 可以远程上课, 期末回来考试, 平时的时候学生可以选择去实习, 去实验室做科研, 或者到美国, 欧洲的高校, 企业去做事情, 我觉得在学校里得到的东西比较有限, 理想的大学教育可以放松对于学生的限制, 让有能力的学生在完成学校要求的同时在各地广泛地学习。

    第三个问题中国的大学目前是做不到的, 硬件和软件方面都做不到, 计算机系已经是和美国大学教学水平很接近的专业了, 但是还有差距。 硬件方面, 服务器数量, 器材的设备和美国有差距, 举一个简单的例子, stanford在上视觉课程的时候, 能够给学生提供lytro, spad, vive, tobii眼动仪等设备去做非常创新性的大作业, ppt里面的很多内容都是国际上最前沿的会议, 期刊结果综述而成的, 让本科生可以理解的简化版本, 而我们的这类课程往往缺乏动手实践, 大多是非常机械化的答卷。 对比之下, 我们的数学建模课程(今年6系的同学们一定对这个课有很深刻的体会), 教学制度和内容都相当落后。 软性方面, 国内高校的图灵奖获奖人数, 诺贝尔奖人数还是不够, 真正有独创性的科研很少, 综合来看国内高校和美国还是有很大差距的。

  2. 写了多少代码

    迄今为止, 我觉得我写了有13万行左右的代码。 我做的最复杂的一个工程是一个计算机mesh simplify的工程, 由于签过保密协议, 项目其他部分不便透露。

    这个程序是需要去简化一个mesh, 让mesh的点和边数量降到较低的水平, 同时保持表面平滑, texture投影正确。

    这个程序难在数学和几何上, 前面我写我们学的线性代数太简单, 不够深, 也是在做这个项目的时候体会到的。

  3. 科班出身和北大青鸟的区别

    科班出身的基础比北大青鸟好, 一个是计算机科学家, 在theory有很好的基础, 一个是码农, 从工程中零敲碎打中学出来的, 肯定是不同的。 科班出身的起点可能是北大青鸟的终点, 本科生科班出身后的毕业salary完全可以到60-80万, 但是60-80这个区间很有可能是北大青鸟的人生终点。 但是北大青鸟,或者培训班出来的人在一些实际工程问题上会有些经验, 前端, app开发这块科班出身会偏薄弱。

  4. 为什么要学数学

    数学是大部分科学的foundation, 我认为做科学的人都应该终身去学习数学。 数学给计算机提供了最基本的工具, 比如如果没有fft, 那么在视频压缩中就无法对于不显著的高频信号的压缩, 如果没有线性代数, 图形学的计算摄影中投影就没有运算方法, 没有凸优化, 就无法去在条件下求损失函数最小值, 计算机科学和数学始终是相辅相成, 互相促进的。

第三部分 未来规划

  1. 职业规划

​ 目前本科毕业摆在面前的有三条路, 工作, 出国, 国内保研, 每个方向给的offer现在还没有完全定下来, 所以现在只有一个大概的规划。

​ 如果去工作的话, 我会选择大公司或者国内的量化, 大公司里可以了解到一些很前沿的技术, 而且有充足的计算资源, 虽然开始收入一般, 但是对于开发和个人视野有很好的提升作用, 除此之外, 另一个可能走的路是量化, 目前国内量化离成熟至少还有10年, 现在私募都处于上规模的阶段, 还没有真正上技术, 随着中国经济的发展和证券行业的放开, 国内很有可能出现two sigma, bridge water这样体量的公司。 另外, 可能也是我个人比较喜欢量化的工作环境吧, 和大公司不一样, 量化公司管理非常扁平, 大家要不是交易员, 要不就是开发人员, 不过工作其实都叫researcher, 能够把计算机和金融结合起来, 没有太多公司的政治斗争, 同时还能活着一份非常decent的收入也不坏。 量化如果做好了, 也可以拿钱去投资其他领域, 比如D.E Shaw大神就是觉得做研究开始的时光没意义, 赚够了钱去搞自己喜欢的化学计算机。

​ 如果国内或者国外读博的话, 还是会继续做多媒体方向, 已经有一些想做的东西了, 之后就继续做下去吧。

  1. 实习

​ 博客中都对于公司有不少的描述, 我觉得实验室实习和企业实习的经历都需要有, 做的东西太不一样了。 实验室偏科研, 人际关系简单, 写的代码多是为了验证research idea而写的, 不能够商用。 公司的应用场景比较明确, 需要马上能用的上的东西, 看板管理, 单元测试等流程也比较严格, 有明确的action item和long term, short term goal, 整体氛围会更狼性一些吧。 另外企业实习关乎到了return offer的价格, 所以还是需要好好表现的。

​ 我觉得这两种实习是从学术界和工业界的角度, 去解决一些问题, 都体验一下是比较好的。