• 自动秒收录
  • 软件:1973
  • 资讯:56902|
  • 收录网站:210434|

IT精英团

老工程师总结的10条经验 太有益了~

老工程师总结的10条经验 太有益了~

浏览次数:
评论次数:
编辑: 乐咏
信息来源: ITPUB
更新日期: 2022-06-23 00:19:29
摘要

正文到现在,我已经做了超过21年开发,可以说,我生命中超过一半的时间都在编程,那既是我的职业,也成了我的习惯。下面是我在开发过程中学到的10条最有价值的经验。1你永远不可能什么都知道尤其是在开

  • 正文开始
  • 相关阅读
  • 推荐作品

正文

到现在,我做开发已经超过21年了。可以说我大半辈子都在编程,这既是我的职业,也是我的习惯。以下是我在开发过程中学到的10条最有价值的经验。1你不可能什么都知道,尤其是刚开始的时候。我以为我什么都能学会。在我开发生涯的大部分时间里,我都是这样认为的。然而,每次我学到新的东西,它都打开了一个全新的世界,有着不同的概念和技术。

那似乎非常吸引人。你愿意尝试和学习一切,但这是一个没有终点的旅程。如果你想学,总有其他库、框架等很酷的东西可以学。

似乎永远无法达成目标,所以最终你的热情也会慢慢冷却。最好立足于自己最擅长的,然后学习自己需要的,也就是在真正需要的时候学习新的东西。这样可以让你保持清醒,保持学习的动力。

你也可以把它应用到任何其他领域。你不是什么都懂才能达到预期的效果。利用这一点,并在需要时学习。

一个好的团队可以让你的能力呈指数级增长,而非线性增长独立运作效果很好,但也会限制你自身的能力。

但是在一个好的团队中,谈话和讨论可以极大地影响你的思维过程。这个问题变得容易解决了。根据我的经验,这种影响通常是指数型的,而不是非线性的。

但是,有个限度,即使团队太大。根据我的经验,这个限度取决于参与的人。

个人认为,尽量和容易相处的人在一起。你会发现工作完成的比以前更快,甚至更开心。

3写出来的代码要便于一段时间内阅读。我觉得我很聪明,追求写高度优化的代码。它跑得越快越好。但是,时间久了,我再回头看这些代码的时候,我已经不知道我当时做了什么。在开始真正的工作之前,我总是花大量的时间审查代码。更糟糕的是:99%的时候,那些优化是不必要的。

首先,代码应该易于人们阅读和理解。如果您认为特定代码路径中可能存在性能瓶颈,请对其进行测试。添加一个指标来测量有问题的路径上的执行时间,然后对其进行分析。你会经常发现,你有疑问的代码其实并没有问题。更多的时候,你会发现真正的问题其实是完全不同的东西。

如果某些代码确实有问题,请尝试添加评论,解释为什么这段代码被优化。如果你觉得需要说明你做了哪些优化,那就去做吧。您可能经常听到有人说您不应该陈述代码是做什么的。我的观点是:如果你不能让代码更容易理解,并且你知道其他开发者需要你的帮助来理解代码,那就添加注释。

你可以听那些反对这种方法的人的,把更多的时间和金钱花在未来的问题上,也可以不理会,保证每个人都有参与发展的机会。团队是独立的。便宜行事。

耐心是你最好的朋友。曾经,我没有多少耐心。现在,我有时仍然为此而痛苦。

修复一个Bug或完成一个特性通常需要花费我很多时间。通常,学习新事物需要的时间比预期的要长。

如果你觉得自己总是匆匆忙忙,那么你应该问问自己为什么会有这种感觉。

是自己的错吗?然后停下来。你可以明天或后天完成。那么,下一次你处理类似的问题,就会更快。

如果是因为你的雇主,那你就要想想这个公司是否适合你。

许多经理认为软件越早交付越好。他们设定了不切实际的期限,并对开发者期望过高。那些管理人员真的不懂软件是怎么开发的。

有时候,你会遇到一些全新的东西。你需要一些时间来弄清楚。随着你越来越有经验,你会越来越擅长处理这种情况。

尽量耐心点,不要给自己压力。当你能保持冷静,整理思路,形成思路的时候,你的工作会更好。而且,可以肯定的是,这对你的心理健康也是有益的。

不给自己压力可以说是地球上最难的事情,你总会不可避免的去做。那没问题。你尽量不要那样做。时间长了,会对你造成伤害。

坚持是关键。持续做一些事情可以帮助你成为专家。与其一次投资20个小时,不如每天投资15分钟或1个小时。

不断的重复可以让你在某方面越来越好。刚开始会经常查资料,渐渐的,查的越来越少。你的大脑慢慢学习相应的模式并保存下来。

p>6总是有比你优秀的人你可以向他学习

技术领域如此宽广,你无法把什么都学会。

其他开发人员学习的东西和你不同。在某些事情上,他们就有了知识优势。将此转化为你自己的优势!

你同事可能比你更擅长后端、CSS 或更底层的事情,而你也有自己的优势。你可以向他们学习,他们也可以向你学习。

这绝不是你应该嫉妒或放在心上的事。可以和别人建立联系来丰富自己的知识,这是很好的事情。你可以从别人多年的经验中受益,借此增长自己的知识。而且,你还可以从他人的失败中汲取教训,这样你就不会再犯同样的错误。

7社交网络很重要

走出去,和人建立联系。现如今,这特别重要。

我曾经以为,一份出色的简历就可以为我打开所有的大门,但我错了。

在不认识你的时候,人们会根据一张纸来评价你。但是,在人们认识了你之后,他们可能已经了解了你的优势和不足。这使得你获取下一份工作或合同容易了许多。它会不断地为你带来学习、工作和互动的机会。

8经常休息可以让你更高效

如果没有遇到困难,你可能会一直编码或工作而没有注意到时间的流逝,但你的大脑需要经常休息。

休息有助于大脑恢复活力,处理先前摄入的信息。做些完全不同的事情,等等你的大脑。可以去喝杯咖啡,聊聊天,但至少要离开办公桌。

在休息之前,你可能已经注意到自己的效率越来越低。当你休息完回来时,你发现效率又回来了。你有可以高效地工作了,直到下次休息。

曾经,我并不在意休息,因为我想完成自己的工作。事实证明,每隔一段时间休息一下大脑可以让我更快地完成工作。

有一条很好的经验法则是,每小时至少休息 5 分钟,四个小时后可以休息更长时间,最多 30 分钟。更好的做法是:听从你的身体,据此调整休息时间。

如果你开始觉得累了,效率下降了,或者注意力不集中了,那么就休息一下。

9如果你希望在自己的职业生涯中更进一步,就需要有很好的人缘

在我职业生涯的初期,我以为,只要我付出足够的努力就可以获得回报。但事实证明,事情并非如此,至少在我看来是这样。没有人过来给我提供晋升机会或为我加薪。我觉得自己只是在无人注意的情况下继续工作。

当我可以大声说出自己对工作的看法,并开始与同事和管理者互动时,我的事业有了起色。如果一个问题在某种程度上适合我,那么我肯定就可以分得该项任务。在某些事情上,我成了名人,经常有人找我寻求帮助,我升职了。我在这里就不罗列早期取得的诸多成绩了。反正我的经理已经知道了。

为什么会这样?因为我经常与我的同事和经理谈工作。我从不吹牛。我如实陈述,很乐意帮助同事。私下里,我也经常和人们交流,增进彼此间的了解,建立起了很好的关系。

至少对于我来说,这很有效。你的经历可能有所不同,因为那和公司及其文化关系密切,但可能也值得一试。

10大多数公司都不是你希望的样子

当我终于有机会从事专业工作时,我寄予了过高的期望。我想象着自己和顶级的工程师、技术专家一起解决令人望而生畏的问题。事实证明,我错了。

不要误解我的意思,我周围的工程师很棒,但只是和我想象的不一样。和我们共事的技术专家近乎无聊。问题也没有那么难。

我了解到,所有工程师都会犯错,也没有人什么都知道。毕竟,他们也是人。而技术专家通常恰恰就是那些解决我们所面临的问题的人。

技术越枯燥,就越能帮我们解决某些特定的问题。

开发软件就是为了解决问题。其中有一些会更令人厌烦。并不是每一名开发者都一直在开发将要改变世界的软件。通常,一个为人们的日常生活提供便利的小前端,或是将文件从 A 移动到 B 的 API,就是你赚钱的抓手。

一定要记住,并不是每家公司都有 FAANG 的规模。即使有那种规模,要解决的问题有时也同样令人厌烦。

还有一点很重要:外面有许多和你一样的开发者。你可以发挥你的影响力,并非所有同事都和你想的那样是顶级的。他们就是普通的开发者,工作做得非常好,而且和你懂的一样多。


原文来源于:

https://blog.oliverjumpertz.dev/the-10-most-valuable-lessons-i-learned-as-a-developer

版权归原作者或平台所有,仅供学习参考与学术研究,如有侵权,麻烦联系删除~感谢

Git指令的本质真的很好理解
« 上一篇 2022-06-23
  • Git指令的本质真的很好理解
    0阅读 0条评论 个赞
    前言作为当前世界上最强大的代码管理工具Git相信大家都很熟悉,但据我所知有很大一批人停留在clone、commit、pull、push...的阶段,是不是对rebase心里没底只敢用merge?碰见版……
  • 如何构建自己的可引导Linux Live CD
    0阅读 0条评论 个赞
    使用第三方工具或官方Linux操作系统,在Linux中创建DIY可启动LiveCD很容易。需要帮忙?按照以下步骤在几分钟内创建LinuxLiveCD。LiveCD(或“liv……
  • 拯救你生命的5个python技巧
    0阅读 0条评论 个赞
    Python是一种强大且易上手的语言,语法简洁优雅,不像Java那么繁琐废话,并且有一些特殊的函数或语法可以让代码变得更加简短精悍。根据笔者经验,下面介绍常用的5个python小技巧:字符串操作列表推……
  • 向我学习Java——Java枚举示例说明
    0阅读 0条评论 个赞
    Java中的枚举(Enum)是一种特殊的数据类型,它包含一组预定义的常量。在处理不需要更改的值时,通常会使用enum,比如一周中的天数、一年中的季节、颜色等等。在本文中,我们将看到如何创建一个枚举e……
  • 共享SQL优化的最左前缀原则
    0阅读 0条评论 个赞
    索引结构联合索引结构所以可以沿着这两个索引树来进行检索:所以where条件里的内容看是否能走索引则看最左前缀原则是否满足。常见案例最左前缀的使用,有两条说明:1.Mysql从左向右匹配直到遇到范围查……
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
  • Kubernetes 4000节点运维经验分享
    1阅读 0条评论 个赞
    1摘要在PayPal,我们最近开始试水Kubernetes。我们大部分的工作负载都运行在ApacheMesos上,而作为迁移的一部分,我们需要从性能方面了解下运行Kubernetes集群……
  • 高考AI专业择校指南:清北自由选择 浙大仿真强 哈工大自然语言也不错
    2阅读 0条评论 个赞
    本文转载自|AI科技评论作者|王玥2022年高考在今天拉开帷幕,想必很多学生想选择发展如火如荼的AI专业,但不知如何择校。出于八卦好奇心,小编扒了多个评价指标,最终找到了一份专门针对人工智能进……
  • 收藏!四种异常检测方法综述
    0阅读 0条评论 个赞
    作者丨Ai,来源丨宅码编辑丨极市平台本文收集整理了公开网络上一些常见的异常检测方法(附资料来源和代码)。不足之处,还望批评指正。一、基于分布的方法1.3sigma基于正态分布,3sigma准则认为超……
  • 让事情变得更简单的8个高级Linux命令选项
    0阅读 0条评论 个赞
    随着Linux的发展,社区已经开发出标准Linux命令的强大替代方案。这里是其中的一些。当您学习Linux时,您可能会从Unix时代以来就存在的基本命令开始。但是,开发人员很久以前就创……
  • 不知道如何优雅地停下来挂断在线服务怎么办?
    0阅读 0条评论 个赞
    公司项目是用consul进行注册的,在发布微服务的时候,总是会导致调用方出现一定几率的调用失败。一开始百思不得其解,后来咨询了资深的同事才知道:原来是服务下线的时候没有优雅停机,没有去consu……
  • MySQL为什么不能用uuid作为主键?
    12阅读 0条评论 个赞
    前言在mysql中设计表的时候,mysql官方推荐不要使用uuid或者不连续不重复的雪花id(long形且唯一,单机递增),而是推荐连续自增的主键id,官方的推荐是auto_increment,那么为……
  • Java代码技巧将效率提高一千倍
    0阅读 0条评论 个赞
    前言代码优化,一个很重要的课题。可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗?没用,……
  • 如何在Mac上愉快地使用Docker
    0阅读 0条评论 个赞
    一、目标任务首先要明确的是,作为了一个每天在LinuxServer上rm-rf的人来说,如果想在Mac上使用Docker,最舒服的也是兼容所有dockercli命令行操作……
  • 从SQL Server到MySQL 携程的核心系统没有迁移感
    0阅读 0条评论 个赞
    作者介绍荣华,携程高级研发经理,专注于后端技术项目研发管理。军威,携程软件技术专家,负责分布式缓存系统开发&存储架构迁移项目。金永,携程资深软件工程师,专注于实时计算,数据分析工程。俊强,携程高级后端……
  • 拯救你生命的5个python技巧
    0阅读 0条评论 个赞
    Python是一种强大且易上手的语言,语法简洁优雅,不像Java那么繁琐废话,并且有一些特殊的函数或语法可以让代码变得更加简短精悍。根据笔者经验,下面介绍常用的5个python小技巧:字符串操作列表推……
  • Kubernetes抛弃Docker 不要慌!这里有一套实用的方法告诉你~
    1阅读 0条评论 个赞
    导读Kubernetes是一个可移植、可扩展的开源平台,用于管理容器化的工作负载和服务,可促进声明式配置和自动化。Kubernetes拥有一个庞大且快速增长的生态系统,其服务、支持和工具的使用范围……
  • Redis的底层数据结构 逐个磁盘
    2阅读 0条评论 个赞
    大家好,我是陌溪前言Redis是一个高性能的分布式内存数据库,在国内的公司也有着非常广泛的使用场景。因此,在面试过程中,关于Redis相关的知识点,也是经常被问到的。下面这题,就是之前面试的时候……
  • 作为前端 一定要了解meta标签知识
    0阅读 0条评论 个赞
    前言前几天面试baidu的时候,面试官问:你都知道什么meta标签?用处是什么?尽可能多的说出来。我:嗯……嗯……我一般都自动生成…面试官:……后来俺找资料好好学了下,再看了taobao和头条的……
  • 谈谈MySQL的10大经典错误
    0阅读 0条评论 个赞
    今天就给大家列举MySQL数据库中,最经典的十大错误案例,并附有处理问题的解决思路和方法,希望能给刚入行,或数据库爱好者一些帮助,今后再遇到任何报错,我们都可以很淡定地去处理。学习任何一门技术的同……
  • Linux Foundation 3354IO全面介绍
    0阅读 0条评论 个赞
    Linux-基础IOLinux-基础IO文件IO相关操作stdin&stdout&stderr系统文件I/O文件的宏观理解:狭义理解:1.文件在磁盘里2.磁盘是永久性存储介质……
  • 架构进化 本文终于说清楚了~
    1阅读 0条评论 个赞
    相信大家都听说过单体和我服务,那么,单体到微服务架构的数据是如何演进的呢?这是个有意思的话题。今天,我们一起来看看,希望大家都有收获和启发。京东白条的快速发展满足了当前人们日益增长的消费需求。在京东商……
  • 可以解决80%故障的故障排除方法
    1阅读 0条评论 个赞
    在讲解事件、故障处理思路前,先讲一个故障场景(以呼叫中心系统作为一例子):业务人员反映呼叫中心系统运行缓慢,部份电话在自助语言环节系统处理超时,话务转人工座席,人工座席出现爆线情况。运维人员开始忙活了……
  • 共享SQL优化的最左前缀原则
    0阅读 0条评论 个赞
    索引结构联合索引结构所以可以沿着这两个索引树来进行检索:所以where条件里的内容看是否能走索引则看最左前缀原则是否满足。常见案例最左前缀的使用,有两条说明:1.Mysql从左向右匹配直到遇到范围查……
  • Linux GNU C对标准C语言的扩展和增强
    1阅读 0条评论 个赞
    正文Linux上可用的C编译器是GNUC编译器,它建立在自由软件基金会的编程许可证的基础上,因此可以自由发布。GNUC对标准C进行一系列扩展,以增强标准C的功能。1.零长度和变量长度数组……
  • 无监控 无运维!普罗米修斯在线服务监控实用指南
    1阅读 0条评论 个赞
    本文可以看做是对《SRE》一书第10章《基于时间序列数据进行有效报警》的实践总结。Prometheus是一款开源的业务监控软件,可以看作是Google内部监控系统Borgmon的一个(非官方)实现……
最近发布资讯
更多