提升技术认知,光闷头写代码,是远远不够的。
明明自己代码写的更好,为什么晋升的是别人?
好不容易晋升到项目管理了,为什么总是达不到领导的期望?
团队协同开发,有人忙的要死,有人闲着没事,哪里出了问题?
我刚工作那年,自以为代码写的还不错,很快就能独当一面。突然有一天,领导问我,你学过软件工程没有,我一愣,没学过,我不是计算机专业的,学过一些编程课,但毕竟不够系统。领导说,你去学一下软件工程吧。赶紧网上下了教材来看,那是1998年的事情,说来20多年了。我现在还清楚记得,那本教材是林锐博士写的,他当时还特别感谢了周鸿祎对他的帮助,而当时的周鸿祎,还是北大方正的开发经理。
有些人觉得这门课很虚,似乎都是一些条条框框的知识点。比如说书中提到的软件过程、敏捷方法、需求分析等等内容,读起来有些道理,但细想又觉得是正确的废话。
但当我们开始投入软件开发工作,回过头来想想,是不是会经常遇到这样的场景,交不完的开发学费:
拿到需求就编码,越写越复杂,越改越乱,最后头绪众多,逻辑凌乱,因为没做需求分析。
功能完成,开心上线,然后各种诡异bug和性能问题接连炸雷,因为缺乏严谨的测试流程和测试标准。
日常团队配合,修改bug,调整代码,互相覆盖,互相冲突,经常返工,责任争执不清,缺乏版本管理工具,缺乏bug追踪工具,效率极大制约。
项目排期,任务进度联调,经常出现计划变动,开发节奏被打乱,团队疲于应付,进度遥遥无期,缺乏应变能力,缺乏持续交付能力。
可以确定的说,不管你用什么开发语言,不管是前端还是后端,现代软件项目开发,都离不开软件工程知识的应用。
既然工作中在用,为什么很多人会觉得大学时候学的软件工程很“虚”,却又能作为国家教育体系中的一门必修学科呢?
那是因为大学期间的“软件工程”更侧重理论,缺少问题导向意识,理解起来枯燥乏味,很难学以致用,但众所周知“程序=数据结构+算法”,而“软件=程序+软件工程”,跟数据结构、算法一样,软件工程也是技术人的“基本功”。
从当下考虑,学好了软件工程,你的工作可以按时完成,你的软件质量有保证,你做开发的时间和成本都可控。而当晋升机会出现的时候,软件工程能力也是你管理能力的一种体现。
经常有人说程序员是吃“青春饭的”,贩卖中年危机的焦虑,但计算机技术更新迭代也确实太快,我们看Tensor Flow才几年,Swift才几年,大家总在追赶潮流,担心被淘汰。
更长远的去想,在软件开发领域,有哪些知识是20年前很重要,10年前很重要,现在仍然重要,而未来也可能同样重要的?哪些知识会决定你发展的高度?
相信大家心里是有答案的,无外乎就是数据结构与算法、操作系统、计算机网络、编译原理,以及软件工程这些“基本功”。技术更新迭代速度再快,软件开发背后的逻辑和知识体系却万变不离其宗,这些过去在用,现在在用,未来还会用的知识,就是经典的价值,就是行业最为本质的东西。
2019年1月,任正非还发表了一封刷屏朋友圈的公开信《全面提升软件工程能力与实践,打造可信的高质量产品》,相信大家都不陌生。越是优秀的技术公司就越强调软件工程的应用,Google、Facebook、百度、阿里巴巴、华为、微软等等,从美国到中国,从传统IT到互联网,这些巨头公司的方法论和软件开发流程里处处渗透着软件工程的影子。
软件工程作为工程师必修的基本功,很多人觉得它难学又不得不学,这里必须推荐一下极客时间宝玉的专栏《软件工程之美》,不同于学校里枯燥的理论,他将结合国内外前沿的、典型的项目案例进行讲解,让你即学即用,真正地解决程序员在软件开发全流程中的疑难杂症。当然,我建议你可以结合学校课程一起学习,可以更好的理解理论,更好的把那些知识点和实战结合起来,形成更深刻的认知。
等等,宝玉是谁?
宝玉,团购鼻祖网站 Groupon 资深工程师,微软最有价值技术专家。他从自学编程的摸索到软件工程专业科班毕业;从技术开发到在微软飞信做项目管理;从程序员到技术总监;从国内公司到美国公司;从个人小项目到几千万用户的大项目;从传统瀑布模型到最新的敏捷开发。丰富的经历,让他深刻的理解如何应用软件工程的知识,发挥最大效益;而《软件工程之美》会帮你从苦钻技术却不得法,变得行有章法。
编码的最终目的是为了实现一整个软件功能的开发,在程序员的晋升之路上,总有一天你会单独挑大梁负责项目,分享一份宝玉老师第一次管理项目的计划表。(不好意思,要放特别大)
这门课程能帮你解决什么问题?
极客时间我一直比较推荐,平台内容以及讲师都非常厉害,软件工程本来就是一门实践性很强的学科,这个专栏从工具、方法到本质规律,结合了谷歌、阿里、微软等公司的案例,结构非常清晰。
宝玉老师还特地为大家做了软件工程学习脑图,把各个关键知识点展示出来,结合专栏学习中的日常工作真实场景及大厂的最佳实践案例,帮你高效、系统化的学习,真正做到即学即用。
(图片需要放大,该期待华为的折叠屏手机了)
从这里订阅有什么福利?
1.专栏刚上新,限时优惠¥68(原价¥99)。
2.订阅用户留言区发表下你对软件工程的看法,点赞前3名粉丝可获得本专栏免费名额,活动截止到3月1日12:00。
△扫描海报获取课程目录或者立即订阅
3.今日的订阅用户,立即邀请你进软件工程学习群(仅限前500人),还为你准备了额外福利,来自 InfoQ 顶尖技术大会——QCon 全球软件开发大会(单张门票价值6800元),2018年全部2场大会ppt资料免费送给你。
加入方法为,扫描如下二维码,添加工作人员,截图课程报名信息。名额有限,人满为止。
除了《软件工程之美》,极客时间昨天刚刚上新的专栏《Java并发编程实战》正好处于优惠期。这个专栏是京东资深架构师王宝令写的,共45讲,从基础原理到并发工具类再到经典案例,带你全面系统地搭建起并发编程的知识体系,让你了解问题背后的本质、问题的起源。
对于一个Java程序员而言,能否熟练掌握并发编程是判断他优秀与否的重要标准之一,所以掌握好并发编程已经成为进入大厂的敲门砖。值得学习。
软件工程课程列表,还是罗列一下吧
最后,两门课程的二维码再秀一次。
点击原文链接也可报名
提升技术认知,光闷头写代码,是远远不够的。相关推荐
- 提升技术认知,参加2021上海QCon技术大会
文章首发于公众号[看点代码再上班],欢迎围观,获取更多好文. 原文地址:提升技术认知,参加2021上海QCon技术大会! 全文共计6499字,预计阅读时间15分钟 目录 开篇 第一天-上午 签到&am ...
- [转]技术领导要不要写代码?
[转]技术领导要不要写代码? 前言 嗨!大家好啊!那么今天开始呢,笔者会为大家带来一些比较优秀的文章进行转载整理,在这里也感谢所有的文章提供者辛勤的付出! 如原文作者不希望转载,请联系! 附上: 喵了 ...
- 技术负责人要停止写代码吗?
作者 | 唐门教主 出品 | 程序人生 (ID:coder _life) 今天浏览 Medium,看到一篇直接喊出「技术负责人,请停止写代码」的文章,晚间和家属一起坐火车,不禁一起围绕着这个话题进行了 ...
- 腾讯发布 2019 年研发报告:新增 12.9 亿行代码,74% 技术 Leader 仍在写代码
2020 年 3 月 9 日,腾讯正式对外发布了<腾讯研发大数据报告>.在这份报告中,腾讯披露了2019 年公司在产品及技术研发方面的重要数据,这也是腾讯自技术委员会成立以来第一次主动对外 ...
- 技术人写作和写代码一样重要
也许当你老了会发出这样的感叹"曾经有无数条发财致富的道路摆在我面前,我不知道珍惜,现在老了才追悔莫及".写技术文章无疑是做技术人工作之外一条很好的知识变现之路. 而我也才最近顿悟, ...
- 技术总监到底要不要写代码?
https://www.toutiao.com/a6698485180505522695/ 这是一个非常敏感的话题,每次谈论到技术总监要不要写代码的时候,总会引起一片争论. 有的程序员说技术总监如果不 ...
- 15 年没写代码,濒临被裁,50 岁开发者如何绝地求生?
相关阅读: 身为程序员碰到最奇葩的需求是怎样的? 为什么分布式一定要有消息队列? 互联网技术(java框架.分布式.集群)干货视频大全,不看后悔!(免费下载) 突然有一天,我的老板用非常低沉的声音叫我 ...
- 好迷茫! 工作几年除了写代码,其他啥也不会
web前端教程 用大白话,来讲编程 周末有小伙伴在微信找我聊,聊到了自己职场的一些困惑,主要的内容是关于程序员是否要和产品经理去开会.扯皮需求,觉得这样很浪费时间. 这个小伙伴遇到的困惑,我刚毕业那年 ...
- 程序员:想静静地写代码,这是正确的吗?千万别让这些观念误导你!
当初的你,可能一直被一些技术牵着鼻子走,并不是自己在做着自己想做的,而是被技术推到了现在这样子.想想有多少人对于自己将来要从事的职业和技术类型进行过深入思考和比较呢?当跳出编码后,我开始思考与程序及程 ...
最新文章
- 数据库和数据湖的关键概念性差异
- linux过滤输出内容,Linux内容整理--过滤器、输入输出及管道
- Memcache mutex设计模式
- 安卓手机运行ios教程_英雄联盟手游傻瓜安装教程,IOS/安卓双端可用!
- php判断数组下标,php判断json或者数组格式与给定格式是否一致
- Android应用开发—FragmentManager如何管理fragments
- 阿里云业绩同比增126% 云服务现“3A鼎立”
- Coinbase报告:DeFi协议总锁仓价值已超250亿美元,同比增长2500%
- Windows Server 2012 之部署Windows Server 更新服务(1)
- 新手初识安信可ESP8266 12f机智云开发板微信直连云
- 常用著名网络教学平台
- AForge.net库类下载方式
- 各种网络协议的类型、优缺点、作用
- 基于socket的即时通信系统的设计与实现
- SolidWorks to URDF转换及常见机器人模型
- DAC7724数模转换芯片小结
- 古月居ROS入门——话题、Publisher、Subscriber
- 萌新小白的HTML第一天学习
- CAD版本转换,电脑端如何转换CAD图纸格式?
- 大数据岗位更看重学历还是工作经验?
热门文章
- 实用ABAP程序分享(1):SAP用户解锁BAPI : BAPI_USER_UNLOCK
- 十六进制转化为ASCII码引起的的进制的故事
- android tts不支持中文朗读,android开发tts朗读。在虚拟机上可以朗读,但在手机上却不行。显示TTS暂时不支持这种语言的朗读。...
- 双非计算机学子保研(推免)985高校历程
- 计算机季度函数,Excel把月份变成季度的函数怎么用?
- 在Lenovo台式机Win7系统基础上直接安装Ubuntu18.04遇到的问题及对策
- 3sigma模型案例分析彻底搞懂置信度与置信区间
- oracle sql replay,oracle replay 功能实验
- mongodb java 更新数据_MongoDB JAVA API更新数据示例
- 自考02326操作系统202008答案(自己批改的)