【四旋翼飞行器】76小时吃透四轴算法!史上最强软硬结合实战项目,👉戳此立抢👈

如何成为更优秀的工程师?

嵌入式资讯精选 2018-10-28 09:51 次阅读
来自Heap(一家主要为企业提供用户数据分析架构的企业)早期员工Michael Malis,就如何成为一名更加优秀的工程师给出了自己的日常训练方式: 读论文; 学习一种新的工具; 读书; 录屏。 其中第四点比较有趣,大家感兴趣可以直接跳到第四部分,看看他是如何具体实施的。以下为正文。 如何成为更优秀的工程师? 我的成为更好的工程师的方法是建立一套训练体系。这套体系里有一些固定的练习,我每周都会进行。设计这套训练体系有两个非常明确的目标: 学习解决之前不会解决的问题; 学习如何更快更好的写程序。 训练计划主要是由四个练习组成的,每一个都会帮助我向上面的两个目标前进。这四个练习是: 读论文; 学习新工具; 读书; 写程序的时候录屏。然后回顾一下,看看能不能写得更快。 下面我会详细地介绍一下我是怎么做的。我想分享一些练习的细节,还有我从中获得的收益。 读论文 这项练习的目标是拓展CS相关的知识。在这之中我发现有两方面直接收益。第一是一些论文可以改变我对一些固定问题的思考模式。举个栗子,The Tail at Scale这篇论文验证了反直觉的长尾延迟的本质。 其中我认为比较有趣的是关于在大量机器上运行一个请求是怎样影响延时的问题。作者研究了Google一项服务的实验数据。这项服务将请求拆分,然后分发给不同的服务。 他们用数据评估了一下,将请求分发给100个服务的情况。作者发现,如果你测量从100项服务获得回复的时间,一半以上的时间花费在等待最后五项服务的回复上。 这是因为最慢的5%的请求要比其他请求慢非常多。论文也给出了一些方法来降低长尾延迟。我发现这些方法,在我这边的一些工作上也可以用。 第二个好处是我发现读论文可以让我融会贯通不同系统的知识。举个栗子,Google的分布式数据库Spanner。 Spanner用了很多不同的技术,比如Paxos、two phase commit、MVCC和predicted locks。通过阅读相关论文,我就能建立对于这些不同的技术的理解。这可以让我以一个整体来理解Spanner,并且和其他系统比较Spanner的利弊。 我读的论文主要来自于以前读过的论文的参考文献或者Morning Paper的封面文章。Designing Data Intensive Applications这本书的参考文献里也有很多值得一读的论文。 学习新工具 解决问题最简单办法之一就是用一个解决这种问题的工具。这个练习就是选一个工具,然后学习一下它。 通常我的练习过程就是,安装工具,练几个教程,然后简单看看手册。我这么学过的工具范围从bash指令比如JQ、Sed到分布式系统比如Kafka、Zookeeper。 学习bash指令让我解决日常问题的效率提升了很多。类似的,学习不同的分布式系统可以让我明白如何针对不同的问题运用不同的工具。 读书 我用书来补充从论文里或者学习工具无法获得的知识。我读过的书主题范围比较广。比如最近读过的: Refactoring– 这本书让我明白好的代码是什么样的,以及如何将不好的代码转化为好的代码。 Getting Things Done– 这本书让我明白如何安排工作的优先级以及如何追踪工作进展。它帮我建立了一套体系来确认优先完成重要的工作。 The First Time Manager– 最近我刚好做了团队管理员,需要协调不同的团队一起工作,还要主持团队会议。这本书有助于我理解管理的基本原理。 录屏 这个训练是我的最爱。这个练习也是对我解决问题改变最大的。运动员经常会看自己的录像来让自己做的更好。 所以我决定也这么搞一下,来提升编程能力。我从自己的录屏里学到的经验包括: 它可以帮助你在写代码的时候就测试代码。这样可以通过快速定位Bug来减少DEBUG方面消耗的时间。如果之前的代码都没有Bug,那Bug肯定是在你新写的代码里。 当DEBUG时,针对要DEBUG的对象专门添加函数是非常有必要的。举个栗子,之前一个玩具的项目,我要写一个LRU缓存。写了个Bug,它不能清除正确的元素。这时我就可以快速地添加一个打印当前缓存状态的函数来看一下是哪里出问题了。之后我就可以看一下缓存的期望状态和现在实际情况的差别。这样就可以让我快速定位Bug。 在开始写代码之前,花五分钟决定一下方向会非常的有效。这么做有两点好处。首先是能够确认方向是正确的。更重要的是,这样可以强迫自己选择单一的方向。因为看了我的录像后,我发现我在选择实现方向上经常犹豫很长的时间,其实两个方向都还OK。 所有这些经验现在回顾的时候都很明显。但是在我看录像,发现我在哪里花费大量时间之前都没有能够系统地将这些经验总结出来。 我做这项练习的步骤是: 记录一些我写程序的录像。可以是工作中的,也可以是在LeetCode这种刷题网站上刷题的时候。 十倍速看一遍录像,并且记录每个时刻我在做什么。 然后统计一下在大的类别上分别花费的时间。比如花了多少时间DEBUG,花了多少时间写功能。 看看花时间最长的类目。然后仔细研究下为啥花费了这么长的时间。 提出一些能够让我节约时间的方法。有一些办法可以让我把代码结构化,然后可以让我少写一些代码或者更快找到Bug。 我强烈推荐写代码的时候录屏。这是一种最简单的不断做一些小的改变来让自己效率更高的方法。 这套训练策略我坚持差不多一年了。感受到自己发生了很大的改变。学到了很多之前没有学过的关于系统和工具的知识。 现在解决问题也要比之前快。希望你能考虑一下这些练习,然后自己也尝试一下。
原文标题:如何成为更优秀的工程师? 文章出处:【微信号:mcuworld,微信公众号:嵌入式资讯精选】欢迎添加关注!文章转载请注明出处。
收藏 人收藏
分享:

评论

相关推荐

HLS中的位操作可以这么做

此外,通过()或range()还可选取指定范围的某几位。代码片段如图5所示,相应的输出结果图6所示。....
的头像 电子发烧友网工程师 发表于 01-23 15:36 91次 阅读
HLS中的位操作可以这么做

学习下如何去抓APP的数据

主要的爬取逻辑,可以看出来是比较简单的,因为没有涉及到什么加密参数之类的,但是有一个问题,每一次进行....
的头像 电子发烧友网工程师 发表于 01-23 09:44 139次 阅读
学习下如何去抓APP的数据

怎么将模拟数据写入文件

嗨, 我的代码文件写入操作被复制到下面。请看代码。如果有任何问题请告诉我。我在这些变量中获取数据,如image_s& ima...
发表于 01-23 09:27 22次 阅读
怎么将模拟数据写入文件

基于canny边缘检测的连通域检测算法

根据设定的目标区域特点,如长宽、长宽比等,来判断该区域是否满足要求,如果满足,则放到rectlist....
的头像 C语言专家集中营 发表于 01-22 13:54 99次 阅读
基于canny边缘检测的连通域检测算法

写代码不难,难的是写高质量代码!

如果你想抽取1-4并创建一个单独的方法。常见的做法是:复制,创建一个方法,然后将复制的行粘贴到该方法....
的头像 嵌入式资讯精选 发表于 01-22 11:13 98次 阅读
写代码不难,难的是写高质量代码!

java新日期结果与操作系统时间相差8小时处理解决方法说明

本文档的主要内容详细介绍的是java新日期结果与操作系统时间相差8小时处理解决方法说明。最近有遇到j....
发表于 01-22 11:10 18次 阅读
java新日期结果与操作系统时间相差8小时处理解决方法说明

网络工程师的现状如何

学技术不是职业规划的万能药!
的头像 工程师人生 发表于 01-21 16:12 150次 阅读
网络工程师的现状如何

工程师思维是怎样的

为什么想到写这篇文章?作者是想通过对工程师思维的分析和解读,让工程师能正确对待那些在现实工作中看上去....
的头像 工程师人生 发表于 01-21 16:06 128次 阅读
工程师思维是怎样的

怎样成为全栈工程师

随着软件技术的发展以及市场需求的变化,全栈工程师似乎已成为未来发展趋势。很多 Flag 公司都已经声....
的头像 工程师人生 发表于 01-21 16:00 113次 阅读
怎样成为全栈工程师

MIT使用贝叶斯推理让计算机程序编写专门为数据分析设计的新程序

在这方面,有很多值得借鉴的例子,例如Google DeepMind科学家2014年为建立“神经图灵机....
的头像 新智元 发表于 01-21 08:43 132次 阅读
MIT使用贝叶斯推理让计算机程序编写专门为数据分析设计的新程序

前端工程师要做哪些事情

前端工程师的英文名为front-end engineer,简称FE。
的头像 工程师人生 发表于 01-18 16:36 143次 阅读
前端工程师要做哪些事情

身在职场,需不需要懂数据分析?学会数据分析能为我们带来什么?

行业的背景数据、客群相关的宏观数据、同个赛道的竞品数据、产品上线后的用户行为数据、用户调研与反馈数据....
的头像 电子发烧友网工程师 发表于 01-18 16:30 176次 阅读
身在职场,需不需要懂数据分析?学会数据分析能为我们带来什么?

如何进行农业传感网络的数据差错分析算法研究

 农业气象观测要素精度的高低对观测效果有着重要影响,尤其是在野外复杂的环境下,影响温度变化的要素尤其....
发表于 01-18 14:32 27次 阅读
如何进行农业传感网络的数据差错分析算法研究

给256*256的图像在LSB插入三个代码作为水印,图像还原后如何把代码检出输出?

给256*256的图像在LSB是最低位插入三个代码作为水印,把图像还原后,使用状态机把三个水印代码检测输出。 会的大神帮帮忙,价...
发表于 01-18 06:35 32次 阅读
给256*256的图像在LSB插入三个代码作为水印,图像还原后如何把代码检出输出?

张飞电子视频课程宗旨

对于工程师到外面去找工作,人家公司问你的第一个就是说:你会什么?会做什么?在工程师在公司里面最会做项....
的头像 发烧友学院 发表于 01-16 17:19 257次 阅读
张飞电子视频课程宗旨

如何使用移动APP进行健康管理系统的设计与实现

针对市场上现有的疾病管理类移动医疗软件数据分析周期较短,健康报告较为粗略,以及一般使用者年龄较大,对....
发表于 01-16 17:18 25次 阅读
如何使用移动APP进行健康管理系统的设计与实现

又一代码清库的惨案发生了,不过这次要背锅是AI

神经网络算法的这一波操作,让人不禁想起郭德纲的一个相声段子,“我心善,见不得穷人,于是把自己目之所及....
的头像 电子发烧友网工程师 发表于 01-16 09:12 506次 阅读
又一代码清库的惨案发生了,不过这次要背锅是AI

IIC总线初始化基本驱动参考程序应用代码免费下载

本文档的主要内容详细介绍的是IIC总线初始化基本驱动参考程序应用代码免费下载。程序功能:为IIC总线....
发表于 01-16 08:00 29次 阅读
IIC总线初始化基本驱动参考程序应用代码免费下载

从制造到“智能制造”政策视野中的制造业升级

现实中智能制造的发展与政策呼应。随着制造业与信息化的融合,制造业逐渐数字化,越来越多的数据得以汇聚在....
的头像 电子发烧友网工程师 发表于 01-15 14:59 568次 阅读
从制造到“智能制造”政策视野中的制造业升级

代码是如何自动智能生成的?自动编程有实际价值吗?

虽说目前还只是社区体验版,但其也是经过淘宝前端团队内部近 2 年的打磨才推出的全新产品。按照阿里官方....
的头像 电子发烧友网工程师 发表于 01-15 09:45 327次 阅读
代码是如何自动智能生成的?自动编程有实际价值吗?

转行数据分析的一些经验和学习方法

如果你已经了解了Python编程的基础用法想要继续深入学习Pyhon,那么博主推荐你去看:廖学峰Py....
的头像 人工智能爱好者社区 发表于 01-14 15:25 157次 阅读
转行数据分析的一些经验和学习方法

USB设备驱动程序代码免费下载

本文档的主要内容详细介绍的是USB设备驱动程序代码免费下载。
发表于 01-14 08:00 22次 阅读
USB设备驱动程序代码免费下载

使用Python编程时的要注意那10个事项

在Python里,一个表达式中的名字在它被赋值之前是没法使用的。这是有意而为的:这样能避免一些输入失....
的头像 玩转单片机 发表于 01-13 09:05 267次 阅读
使用Python编程时的要注意那10个事项

鹏辉能源与上汽通用签订了《关于新能源汽车产业战略合作框架协议》

2018年前三季度,鹏辉能源实现营业收入17.7亿元,同比增长24.68%;归属于上市公司股东的净利....
的头像 高工锂电 发表于 01-12 11:15 1102次 阅读
鹏辉能源与上汽通用签订了《关于新能源汽车产业战略合作框架协议》

在云计算的推动下,医院信息化改革速度日益加快

近年来,全国已经有超过20%的二级以上医院部署了云计算应用,超过5%的医院正在部署云计算应用。对于三....
的头像 司南物联 发表于 01-11 16:45 642次 阅读
在云计算的推动下,医院信息化改革速度日益加快

Python图像处理库Pillow入门教程和代码资料免费下载

Pillow 是Python 里的图像处理库(PIL:Python Image Library),提....
发表于 01-11 16:20 55次 阅读
Python图像处理库Pillow入门教程和代码资料免费下载

API-Shop-OCR-营业执照识别API接口Python调用示例代码说明

本文档的主要内容详细介绍的是API-Shop-OCR-营业执照识别API接口Python调用示例代码....
发表于 01-10 11:48 37次 阅读
API-Shop-OCR-营业执照识别API接口Python调用示例代码说明

GitHub宣布无限制的免费为普通用户提供私有仓库服务

尽管私有仓库以后可以免费创建,但服务还是有限的,免费私有仓库最多只能添加三个协同操作者,而且免费版服....
的头像 电子发烧友网工程师 发表于 01-10 10:32 251次 阅读
GitHub宣布无限制的免费为普通用户提供私有仓库服务

众望所归,Github推出无限容量免费版私人存储库服务

现在,有许多开发人员希望使用私有资源库来申请职位、开发子项目、或者在公开发布之前私下尝试开发的一些东....
的头像 新智元 发表于 01-10 09:45 330次 阅读
众望所归,Github推出无限容量免费版私人存储库服务

实用C语言编程(第三版)PDF中文版免费下载

用C语言进行编程不仅仅是在程序中使用正确的句法,编程的风格以及程序的调试在编写程序的过程中也占有相当....
发表于 01-10 09:41 71次 阅读
实用C语言编程(第三版)PDF中文版免费下载

常用贴片电阻阻值速查表的详细资料免费下载

现在的电子产品正在向小而精的方向发展,很多大规模类电子产品都使用贴片电阻来减小产品的整体体积。我们作....
发表于 01-09 08:00 65次 阅读
常用贴片电阻阻值速查表的详细资料免费下载

如何在GitHub上更新Fork以及PullRequest给源项目

这里有个小技巧:在默认状态下,会是Base源项目,Head我自己的Fork项目;这样选择任何一个时,....
的头像 电子发烧友网工程师 发表于 01-08 09:38 219次 阅读
如何在GitHub上更新Fork以及PullRequest给源项目

一位十年嵌入式工程师的经验之谈:会导致难点bug的各种问题

有若干条件的if语句,if (a 或 b) ,特别是当有链接的时候, if (x) else if ....
的头像 EDA365 发表于 01-07 16:14 341次 阅读
一位十年嵌入式工程师的经验之谈:会导致难点bug的各种问题

python的各种实现有何优劣

当谈到Python时,一般指的是CPython。但Python实际上是一门语言规范,只是定义了Pyt....
的头像 马哥Linux运维 发表于 01-07 15:44 318次 阅读
python的各种实现有何优劣

利用数据分析出,到底是谁站在《老友记》中的C位!

这张图给我的直观感受就是,编导均衡分配六个朋友的台词。 Ross 在前三季和最后一季的台词数最多,剧....
的头像 电子发烧友网工程师 发表于 01-07 11:23 232次 阅读
利用数据分析出,到底是谁站在《老友记》中的C位!

一年时间从零基础到成为研究科学家的历程

如果你是这个领域的新手,并且正在其中的某个部分(或全部)挣扎,请记住,没有人能轻松地做到。总有一些事....
的头像 新智元 发表于 01-06 10:07 566次 阅读
一年时间从零基础到成为研究科学家的历程

IC设计工程师应该要具备的知识架构(超详细)

作为一个真正合格的数字IC设计工程师,你永远都需要去不断学习更加先进的知识和技术。因此,这里列出来的....
发表于 01-04 16:36 218次 阅读
IC设计工程师应该要具备的知识架构(超详细)

谁能帮我看一下,这个要求的代码咋搞

你们能看一下,帮我一下吗?
发表于 01-02 23:59 167次 阅读
谁能帮我看一下,这个要求的代码咋搞

花几个小时,就挣3000块,这个福利就等工程师来了!

发表于 01-02 14:56 2037次 阅读
花几个小时,就挣3000块,这个福利就等工程师来了!

为什么选用python进行科学计算

脚本语言已经为很多科学计算器的构建提供了很多强有力的工具,因为他们提供了其他解释型语言的接口。和很多....
发表于 01-02 14:40 51次 阅读
为什么选用python进行科学计算

最红编程语言Python的入门学习方法资料概述

最近由于人工智能的大热,Python成为网红编程语言。其就业方向和就业前景是非常大的。所以一些想要转....
发表于 01-02 14:40 75次 阅读
最红编程语言Python的入门学习方法资料概述

Python官方竟然给出了一种编码规范PEP 8

autopep8 能够将 Python 代码自动格式化为 PEP 8 风格,它使用 pycodest....
的头像 电子发烧友网工程师 发表于 01-02 10:24 409次 阅读
Python官方竟然给出了一种编码规范PEP 8

这些非常好用的的Python库你知道多少

下面给大家推荐几个我用过的,并且特别好用的项目,而不是简单的贴一下awesome python。相信....
的头像 马哥Linux运维 发表于 12-31 14:41 434次 阅读
这些非常好用的的Python库你知道多少

你知道Jupyter notebook还可以用来做 “视频聊天室” 吗?

与Image小组件一样,新的音频和视频小组件在后端和前端之间同步二进制数据。你可以使用自己喜欢的库(....
的头像 人工智能爱好者社区 发表于 12-31 14:04 290次 阅读
你知道Jupyter notebook还可以用来做 “视频聊天室” 吗?

Python使用turtle绘制国旗,Python图片转换位字符画

这篇文章主要是整合一些趣味代码,一方面自己对这些内容比较感兴趣,另一方面希望这些代码能提升大家的编程....
的头像 马哥Linux运维 发表于 12-31 09:07 355次 阅读
Python使用turtle绘制国旗,Python图片转换位字符画

JAVA程序设计教程之Java中系统类的详细资料说明

本文档的主要内容详细介绍的是JAVA程序设计教程之Java中系统类的详细资料说明主要内容包括了:1.....
发表于 12-29 16:20 301次 阅读
JAVA程序设计教程之Java中系统类的详细资料说明

教你如何轻松玩转FPGA开发

FPGA代码其中一个最重要的步骤就是仿真。仿真简单的说,就是验证代码是否正确,其中就包含了很多仿真的....
的头像 嵌入式ARM 发表于 12-29 10:29 2042次 阅读
教你如何轻松玩转FPGA开发

在数据分析和可视化中最有用的50个Matplotlib图表

通常,多个数据点具有完全相同的 X 和 Y 值。 结果,多个点绘制会重叠并隐藏。 为避免这种情况,请....
的头像 电子发烧友网工程师 发表于 12-28 09:30 783次 阅读
在数据分析和可视化中最有用的50个Matplotlib图表

180+个Python开源项目,涉及15个主题应用

MusicBrainz Picard 可以自动识别、标记和组织音乐专辑或其他数字音频录音。Sound....
的头像 新智元 发表于 12-28 09:10 573次 阅读
180+个Python开源项目,涉及15个主题应用

给数据分析与开发加星标,提升数据技能

当然二者有一个共同之处都是,针对很具体的问题,都是会解决某个具体问题,例如:营销反应率,你就可能历史....
的头像 电子发烧友网工程师 发表于 12-27 12:31 447次 阅读
给数据分析与开发加星标,提升数据技能

FFTC_simple_testProject代码MPAX segment是干什么的?

在FFTC_simple_testProject工程的test_main. c文件的118行开始有如下代码不懂其作用,麻烦大家帮我解读一下哈,谢谢了。 #...
发表于 12-27 11:08 76次 阅读
FFTC_simple_testProject代码MPAX segment是干什么的?

如何设计一个微信宠物屋的程序开发详细资料说明

本文档的主要内容详细介绍的是如何设计一个微信宠物屋的程序开发详细资料说明。主要内容包括了:1 注册G....
发表于 12-25 08:00 71次 阅读
如何设计一个微信宠物屋的程序开发详细资料说明

怎样测定程序员的代码基因

上个月,在负责技术晋升评审的过程中,有人认为在评审过程中以述职讲述为主,可能对某些比较擅长写代码而不....
的头像 工程师人生 发表于 12-24 14:47 553次 阅读
怎样测定程序员的代码基因

EMC工程师的发展及演变

要了解什么是EMC工程师,我们首先要了解什么是EMC。工程师这个职业相信大家都耳熟能详了,像硬件工程....
的头像 韬略科技EMC 发表于 12-22 10:47 787次 阅读
EMC工程师的发展及演变

成功解决pyinstaller打包AttributeErrortype object pandas_TSObject has no attribute _reduce_cython_

成功解决pyinstaller打包AttributeErrortype object pandas_TSObject has no attribute _reduce_cython_...
发表于 12-19 17:04 80次 阅读
成功解决pyinstaller打包AttributeErrortype object pandas_TSObject has no attribute _reduce_cython_

_general_exception_handler()不会执行

您好,我在我的代码中创建了一个严重的错误来测试“泛型”异常Exchange():“IyGrimalAuthExpAutoLeLe())代码:我的...
发表于 12-19 15:35 55次 阅读
_general_exception_handler()不会执行

请问这段代码是什么意思?

这两个if表达什么样的逻辑?
发表于 12-17 08:49 130次 阅读
请问这段代码是什么意思?

有哪位朋友指导一下用stm32测电感的程序怎么写吗?

或者有参考的代码吗?
发表于 12-16 14:50 100次 阅读
有哪位朋友指导一下用stm32测电感的程序怎么写吗?

请问网站怎么嵌入代码

网站怎么嵌入代码
发表于 11-25 11:57 193次 阅读
请问网站怎么嵌入代码