写点什么

大学时候学的软件工程有用吗?| 极客时间

  • 2019 年 5 月 17 日
  • 本文字数:1866 字

    阅读完需:约 6 分钟

大学时候学的软件工程有用吗?| 极客时间

大学时候学的软件工程有用吗?这是很多人经常问我的问题。大多数人觉得这门课很虚,似乎都是一些条条框框的知识点。比如说书中提到的软件过程、敏捷方法、需求分析等等内容,读起来有些道理,但细想又觉得是正确的废话。


当我们结束学生时代,开始投入软件开发工作,回过头来想想,是不是经常遇到这样的场景:


  • 你接到一个开发任务,想开发出需求的功能,你是不是先要做需求分析;

  • 你接手一个复杂的、大的功能模块,是不是先要做设计,才能把复杂的拆成简单的,才能和大家一起分工去开发;

  • 你完成一个功能模块,如果要保证质量,是不是需要写一些测试代码,还要做一些功能测试;

  • 还有日常用的那些工具,像源代码管理、Bug 跟踪;


可以确定的说,不管你用什么开发语言,不管是前端和后端,现代软件项目开发,都离不开软件工程知识的应用。


既然工作中在用,为什么很多人会觉得大学时候学的软件工程很“虚”,却又能作为国家教育体系中的一门必修学科呢?


那是因为大学期间的“软件工程”更侧重理论,缺少问题导向意识,理解起来枯燥乏味,很难学以致用,但众所周知“程序=数据结构+算法”,而“软件=程序+软件工程”,跟数据结构、算法一样,软件工程也是技术人的“基本功”。


从当下考虑,学好了软件工程,你的工作可以按时完成,你的软件质量有保证,你做开发的时间和成本都可控


经常有人说程序员是吃“青春饭的”,“中年危机、码农、搬砖”,这些程序员的日常焦虑,究其根本,是计算机技术更新迭代太快,大家总在追赶潮流,担心被淘汰。


更长远的去想,在软件开发领域,有哪些知识是 10 年前很重要,现在仍然重要,未来可能同样重要的?哪些知识会决定你发展的高度?


相信大家心里是有答案的,无外乎就是数据结构与算法、操作系统、计算机网络、编译原理,以及软件工程这些“基本功”。


技术更新迭代速度再快,软件开发背后的逻辑和知识体系却万变不离其宗,这些过去在用,现在在用,未来还会用的知识,就是经典的价值,就是行业最为本质的东西。


2019 年 1 月,任正非还发表了一封刷屏朋友圈的公开信《全面提升软件工程能力与实践,打造可信的高质量产品》,相信大家都不陌生。越是优秀的技术公司就越强调软件工程的应用,Google、Facebook、百度、阿里巴巴、华为、微软这些公司的方法论和软件开发流程里处处渗透着软件工程的影子。


我经常会跟身边的朋友“安利”软件工程的重要性,绝大部分人对这门学科的印象是枯燥、难学。2015 年,我到美国攻读计算机的硕士学位,学校经常会聘请企业的专家作为兼职讲师,他们总能把一些知识点和鲜活的案例结合起来,和学生一起探讨这些知识点背后的历史和逻辑。


受此启发,经过数月打磨,我在极客时间的专栏《软件工程之美》上线了,不同于学校里枯燥的理论,我将通过 20+日常工作真实场景,及谷歌、微软等公司实践案例,教你如何将软件工程运用在实际项目开发中,真正地解决程序员在软件开发全流程中的疑难杂症。


我是谁?

我是宝玉,硕士毕业于美国德保罗大学,现就职于 Groupon。我从自学编程的摸索到软件工程专业科班毕业;从普通程序员到技术总监,从国内公司到美国公司;从个人小项目到几千万用户的大项目;从传统瀑布模型到最新的敏捷开发。这些丰富的经历,帮助我更好地理解了软件工程的知识,也知道如何应用它,可以发挥最大的效用


这个专栏,我会从“道、术、器”三个维度来讲解软件工程的知识内容。


  • “器”就是软件工程中的各种工具。

  • “术”就是软件工程中的各种方法。

  • “道”就是软件工程知识的核心思想、本质规律。


我做了张软件工程的思维导图,把各个关键知识点展示出来,结合专栏学习中的日常工作真实场景,及谷歌、微软等公司的最佳实践案例,帮你系统化的学习,真正做到即学即用。



希望通过这个专栏,你可以从知到行,打好基本功,掌握软件工程学中涉及的方法和工具,学会举一反三,帮你从苦钻技术却不得法,变得行有章法,在软件项目的开发和管理过程中,能运用自如,在未来软件的快速革新稳步前行。


解读任正非的公开信

上面有说到任正非的那封刷屏的新年公开信,仔细阅读之下,确实让我大吃一惊,作者对于软件工程的理解确实非常深刻,各种专业术语信手拈来,比喻恰到好处。


我对华为的研发其实一直挺好奇的,从传统的硬件公司,到现在软硬件齐头并进,华为手机销量都已经超过了苹果,可见华为的软硬件研发实力早已处于全球领先水平。


于是,我基于软件工程的视角,从 10 大维度对这封公开信进行了解读,我将它作为特别放送分享给你,希望可以帮助你更好的理解软件工程。


特别放送 | 从软件工程的角度解读任正非的新年公开信


内容选自极客时间软件工程之美专栏


2019 年 5 月 17 日 18:016119

评论

发布
暂无评论
发现更多内容

[TcaplusDB知识库]单据受理-表管理指南

TcaplusDB

nosql 腾讯云 TcaplusDB 国产数据库

Android大厂面试真题解析大全,腾讯T3大牛手把手教你

android 程序员 移动开发

[TcaplusDB知识库]TcaplusDB如何导入数据

TcaplusDB

nosql 腾讯云 TcaplusDB 国产数据库

TcaplusDB君 · 行业新闻汇编(10月2号)

TcaplusDB

nosql 腾讯云 TcaplusDB 国产数据库

[TcaplusDB知识库]单据受理-创建游戏区指南

TcaplusDB

nosql 腾讯云 TcaplusDB 国产数据库

[TcaplusDB知识库]单据受理-建表审批指南

TcaplusDB

nosql 腾讯云 TcaplusDB 国产数据库

分布式事务最经典的七种解决方案

Java 程序员 架构 面试 分布式

腾讯云TcaplusDB:国庆度假姿势一览

TcaplusDB

nosql 腾讯云 TcaplusDB 国产数据库

TcaplusDB君 · 行业新闻汇编(10月15号)

TcaplusDB

nosql 腾讯云 TcaplusDB 国产数据库

Android开发面试题目,享学课堂android怎么样

android 程序员 移动开发

[TcaplusDB知识库]单据受理-事务执行指南

TcaplusDB

nosql 腾讯云 TcaplusDB 国产数据库

[TcaplusDB知识库]TcaplusDB如何构造数据

TcaplusDB

nosql 腾讯云 TcaplusDB 国产数据库

[TcaplusDB知识库]Tmonitor后台一键安装指南

TcaplusDB

nosql 腾讯云 TcaplusDB 国产数据库

Android开发岗还不会这些问题,15个经典面试问题

android 程序员 移动开发

腾讯云TcaplusDB|别emo了,记得好好照顾自己

TcaplusDB

nosql 腾讯云 TcaplusDB 国产数据库

Android免打包多渠道统计如何实现,技术实现

android 程序员 移动开发

Android外包是如何转正网易的,大厂Android核心面试题出炉

android 程序员 移动开发

[TcaplusDB知识库]Tmonitor系统升级指南

TcaplusDB

nosql 腾讯云 TcaplusDB 国产数据库

Android开发入门教程!扔物线学堂

android 程序员 移动开发

TcaplusDB君 · 行业新闻汇编(10月9号)

TcaplusDB

nosql 腾讯云 TcaplusDB 国产数据库

腾讯云Techo Hub技术巡回成都站即将开启,数据库TcaplusDB邀你一起!

TcaplusDB

nosql 腾讯云 TcaplusDB 国产数据库

Android小程序开发实例,扔物线五期

android 程序员 移动开发

Android开发社招面试解答之性能优化,Android开发面试题及答案

android 程序员 移动开发

玩转腾讯数据库TcaplusDB|期待下次与你相见!

TcaplusDB

nosql 腾讯云 TcaplusDB 国产数据库

[TcaplusDB知识库]Tmonitor单机安装指南

TcaplusDB

nosql 腾讯云 TcaplusDB 国产数据库

[TcaplusDB知识库]TcaplusDB如何进行业务数据备份

TcaplusDB

nosql 腾讯云 TcaplusDB 国产数据库

跨越行业绊脚石,阿里云函数计算发布7大技术突破

阿里巴巴中间件

阿里云 云原生 中间件 函数计算 云栖大会

腾讯云TcaplusDB|“老人节”请多给老人多一些关爱

TcaplusDB

nosql 腾讯云 TcaplusDB 国产数据库

Android开发还会吃香吗,Android开发经典实战

android 程序员 移动开发

【TcaplusDB知识库】 Tmonitor模块架构指南

TcaplusDB

nosql 腾讯云 TcaplusDB 国产数据库

Android开发自学技巧!rxjava扔物线

android 程序员 移动开发

大学时候学的软件工程有用吗?| 极客时间-InfoQ