前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >成为优秀工程师,有什么必修的“基本功”?

成为优秀工程师,有什么必修的“基本功”?

作者头像
java思维导图
发布2019-03-07 11:12:40
8140
发布2019-03-07 11:12:40
举报
文章被收录于专栏:java思维导图java思维导图

有些人问我,大学时候学的软件工程有用吗?

有些人觉得这门课很虚,似乎都是一些条条框框的知识点。比如说书中提到的软件过程、敏捷方法、需求分析等等内容,读起来有些道理,但细想又觉得是正确的废话。

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

  • 你接到一个开发任务,想开发出需求的功能,你是不是先要做需求分析;
  • 你接手一个复杂的、大的功能模块,是不是先要做设计,才能把复杂的拆成简单的,才能和大家一起分工去开发;
  • 你完成一个功能模块,如果要保证质量,是不是需要写一些测试代码,还要做一些功能测试;
  • 还有日常用的那些工具,像源代码管理、Bug跟踪;

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

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

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

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

更长远的去想,它会让你不被快速发展的软件开发行业所淘汰。

为什么?

经常有人说程序员是吃“青春饭的”,“中年危机、码农、搬砖”,这些程序员的日常焦虑,究其根本,是计算机技术更新迭代太快,大家总在追赶潮流,担心被淘汰。但不妨思考一下:在软件开发领域,有哪些知识是10年前很重要,现在仍然重要,未来可能同样重要的?又有哪些知识会决定技术人的发展高度?

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

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

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

软件工程作为工程师的必修的基本功,很多人觉得它难学又不得不学,这里必须推荐一下极客时间宝玉的专栏《软件工程之美》,不同于学校里枯燥的理论,他将结合国内外前沿的、典型的项目案例进行讲解,让你即学即用,真正地解决程序员在软件开发全流程中的疑难杂症。

宝玉是谁?

宝玉,团购鼻祖网站 Groupon 资深工程师,微软最有价值专家。从自学编程的摸索到软件工程专业科班毕业;从技术开发到在微软飞信做项目管理;从程序员到技术总监;从国内公司到美国公司;从个人小项目到几千万用户的大项目;从传统瀑布模型到最新的敏捷开发。丰富的经历,让他深刻的理解如何应用软件工程的知识,发挥最大效益;而《软件工程之美》会帮你从苦钻技术却不得法,变得行有章法。

「下面给大家申请了超大福利,助你打好“基本功”」

java思维导图,为什么推荐这门课程?

学是要学,为什么是这门课?极客时间我一直比较推荐,平台内容以及讲师都非常厉害,软件工程本来就是一门实践性很强的学科,这个专栏的目录我看了,从工具、方法到本质规律,结合了谷歌、阿里微软等公司的案例,从知到行,结构非常清晰,通过这个专栏,你将获得:

1. 拿来即用的软件工程方法论

2. 基于日常工作的实战场景剖析

3. 谷歌、微软等公司的最佳实践案例

4. 从软件工程的视角来思考问题

宝玉老师特地为大家做了软件工程学习脑图,把各个关键知识点展示出来,结合专栏学习中的日常工作实战场景及大厂的最佳实践案例,帮你系统化的学习,真正做到即学即用。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-02-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 java思维导图 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 宝玉是谁?
  • java思维导图,为什么推荐这门课程?
相关产品与服务
项目管理
CODING 项目管理(CODING Project Management,CODING-PM)工具包含迭代管理、需求管理、任务管理、缺陷管理、文件/wiki 等功能,适用于研发团队进行项目管理或敏捷开发实践。结合敏捷研发理念,帮助您对产品进行迭代规划,让每个迭代中的需求、任务、缺陷无障碍沟通流转, 让项目开发过程风险可控,达到可持续性快速迭代。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档