写点什么

要突破技术瓶颈?80% 的人忽略了这个因素

  • 2019-02-20
  • 本文字数:1561 字

    阅读完需:约 5 分钟

要突破技术瓶颈?80%的人忽略了这个因素

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


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


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

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

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

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


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


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


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


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


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


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


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


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


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


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


受此启发,经过数月打磨,我在极客时间的专栏《软件工程之美》上线了,与学校常规的软件工程学科不同的是,希望它既有趣又有用,我将结合国内外前沿的、典型的项目案例进行讲解,教你如何将软件工程运用在实际项目开发中,真正地解决程序员在软件开发全流程中的疑难杂症。

我是谁?

我是宝玉,硕士毕业于美国德保罗大学,现在是团购鼻祖网站 Groupon 的资深开发工程师,出国前是上海众游的技术总监,曾深度参与过中国移动飞信项目的核心研发,也是微软最有价值技术专家。我的个人从业经历比较独特,做过普通程序员,也做过技术总监,参与过大大小小很多的项目,这些丰富的经历,让我更好地理解了软件工程的价值,也知道如何应用它可以发挥最大的功效。我希望将我这些年的思考,系统分享给你。

如何学习拿来即用的软件工程?

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


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

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

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


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



2019-02-20 16:374828

评论

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

一文教会你快速上手 Vim

昆吾kw

vim Linux

2022秋招前端面试题(十)(附答案)

helloworld1024fd

Linux服务器端网络抓包和分析实战

程序员欣宸

Java Linux 8月月更

短视频软件开发——平台同质化如何破局

开源直播系统源码

软件开发 直播源码 短视频直播源码 短视频直播系统源码

8月份DB-Engines 数据库排行榜最新战况

雨果

数据库

Gartner再次重申了“数据编织”的重要价值

雨果

数据编织

企业如何判断数据治理是否成功?

雨果

数据治理

OneFlow源码解析:算子指令在虚拟机中的执行

OneFlow

虚拟机 源码解析 算子

2022秋招前端面试题(九)(附答案)

helloworld1024fd

快速上手,征服三种不同分布式架构调用方案

知识浅谈

分布式 8月月更

使用CSS实现多种Noise噪点效果

dragonir

CSS html html5 css3

中小规模网站架构

舟停江吹雪

Linux

数据库治理利器:动态读写分离

阿里巴巴云原生

数据库 阿里云 微服务 云原生

是什么影响了MySQL性能?

TimeFriends

8月月更

50个Java面试必问的面试题,这里都给你整好了

千锋IT教育

一起畅聊「云+操作系统」!龙蜥社区亮相阿里巴巴开源开放周,完整议程来了

OpenAnolis小助手

数据库 操作系统 龙蜥社区 阿里巴巴开源开放周 开源共享

STM32封装ESP8266一键配置函数:实现实现AP模式和STA模式切换、服务器与客户端创建

DS小龙哥

8月月更

学Python爬虫,不看看m3u8文件如何加密?i春秋 m3u8 文件加密解析

梦想橡皮擦

Python 爬虫 8月月更

呵呵,JavaScript 真好玩(苦笑脸)

掘金安东尼

JavaScript 前端 8月月更

谷歌数据中心发生“电力事故”造成 3 人受伤

雨果

数据中心 谷歌

GPU加速Pinterest推荐模型,参数量增加100倍,用户活跃度提高16%

OneFlow

机器学习 深度学习 gpu

开源一夏 | mysql5.7安装部署-yum安装

zhangpfly

MySQL 开源 linux运维 #开源 8月月更

打工人的第27天-平凡但不平淡的日子

Amazing_eve

#开源

SQL与NoSQL最终会走向融合吗?

雨果

nosql sql

C++运算符重载(二)之左移运算符重载

CtrlX

c c++ 进阶 重载 8月月更

从脚本到剪辑,影像大师亲授的后期制作秘籍

博文视点Broadview

Gitlab刚发布一项禁止使用 Windows 的公司政策

雨果

gitlab Github'

如何正确理解线程机制中常见的I/O模型,各自主要用来解决什么问题?

PivotalCloud

Linux Linux Kenel

面试突击73:IoC 和 DI 有什么区别?

王磊

Java 常见面试题

JWT 实现登录认证 + Token 自动续期方案

CRMEB

数据治理(五):元数据管理

Lansonli

大数据 数据治理 8月月更

要突破技术瓶颈?80%的人忽略了这个因素_技术管理_宝玉_InfoQ精选文章