大连全瓷种植牙齿制作中心 发表于 2024-8-26 23:04:00

熟悉代码之前,请先熟悉你自己 |《编程人生》

这是我的湛庐课程《给技能人的职场突围课》 (链接) 的一部门。 这篇文章也是 IT 女神征文活动 的一部门。
《编程人生》是一本优秀步伐员的采访集,内里记载了15位世界级编程大师的故事。
我在 发刊词 内里说过,在这个书单课里,我会通过对四种关系的梳理,帮你系统思索自己的职业发展。而在这几种关系中,最基本的一个,就是要处理处罚好“我和自己的关系”,更好地熟悉自己。
女步伐员先驱( IT女神)

https://i-blog.csdnimg.cn/blog_migrate/8f002972a43571d8c21ae7d315cca9bf.png
我之以是选《编程人生》 (原名:Coders at Work)这本书,就是想通过书里这些优秀的软件工程师、科学家的例子,“以人为镜”,从比较务实的层面,和你聊聊怎么去清晰地认知自己,发掘自己的性格特点,选择适合的职业发展路径。我也写了一篇这本书的读后感。
《编程人生》这本书采访了 15 位优秀的步伐员,我不能一一先容,那从什么人开始先容呢? 编程可以说是一个工程,是一门艺术,也可以说一门技能。 作为一个行业,我们如今的很多屡见不鲜的规矩和做法,是怎么来的?这个行业的先驱们是在什么样的条件下建立这个行业的各种规范的?我们叫他们‘祖师爷’,或者在我们这一集内里,叫她们‘祖师奶奶’。 我想从最年长的步伐员说起,在这本书里,就是 Fran Allen。
(注:我搬运了几张网上的照片,例如https://blog.csdn.net/rx3oyuyi/article/details/88342230)
Fran Allen

Fran 1932 年出生,2020 年去世,她是美国早期盘算机步伐员和科学家。如许一位“元老”级别的步伐员,她的工作和我们如今的盘算机、软件工程发展有什么直接关联么?
答案是,不仅有,而且有很大的关系。她的研究对于如今Java 等语言的即时编译 (Just In Time, JIT)技能起了奠基作用。 2002年时,Fran Allen 还凭借 “在优化编译器技能的理论和实践中的开拓性贡献” 获得了图灵奖。 她是七十多位获得者中仅有的两位女性之一。
Fran本人并不是盘算机专业毕业的,她有数学的本科学位,还辅修物理学课程,除此之外,她只是在读数学硕士学位的时间,选修过盘算机技能的课程。
她毕业时,正赶上 IBM 招聘,因为觉得盘算机很风趣,加上发急要还助学贷款,以是她就填了申请,此后一段时间,其他的工作机会迟迟没有出现,她就答应了 IBM 的 offer。
她在1957 年参加 IBM ,开始了自己的步伐员生涯,一直在 IBM 工作了 45年,直到退休。作为一个并非科班出身的人,Fran是怎么学习盘算机技能呢? 是像如今许多人一样,去市面上找一个培训学校参加培训么?显然不大概,因为那时间盘算机科学还算是一个非常前沿的学科。
Fran的方法是边做边学。她在工作中,会通过研究已有的代码实例来学习编程技巧,或者是新的编程语言。
对于工作,她非常投入,这也是她日后奇迹中成功的紧张缘故起因之一。
她曾经说:“最令人陶醉的事情是阅读源代码,在我的记忆中,那些代码真是写得优雅无比,我时常陶醉其中,感叹计划的精巧。” 留意:她在这里说的源代码,其实是汇编代码。
除此之外,她在职场的经历,也为女性在IT行业的成长提供了一个很好的参照。
Fran曾经领导过一个紧张的项目,项目中有位男同事身材魁梧,不苟言笑,有时还有些令人望而生畏,他喜欢通宵工作。
有一天早上,这位男同事走进办公室后,径直将一份厚厚的调试代码清单甩在了 Fran 的办公桌上。他指着打印信息列表中的某个细节问“你为什么要设置这一位?” 原来他一整夜都盯着这个犯愁,百思不得其解。 以是早上非常恼怒地质问 Fran。
听到这儿,我想请你来假想一下,如果你是Fran,早上刚一上班,一个身材魁梧不苟言笑的同事就跑过来指责你的步伐中的细节题目。你会怎么办?
或许有人直接就怒了,或者害怕了, 但 Fran 非常相识这个步伐,而且,她也具备足够的耐烦,足够的岑寂,以是她很平静地向对方表明确技能缘故起因,并指出 bug 不在这里,而是在另一个地方。最后,这个小插曲得到了很好的解决。
Fran 的洞察力从那边来,我想很大的部门是来自于长期深入的实践。
代码的世界有很多规律,外人看起来眼花缭乱的代码和各种日记信息,在有洞察力的人看来,其实也很有规律。 比如我听到过一个步伐员高手的故事:某个步伐输出的日记信息从编号1开始,一直到了 1048576 今后就没有了。这位高手看到后就说:为什么这个数这么整齐? 他旁边的步伐员迷惑说,1048576 这个数有什么整齐的?
你能猜到这个数为什么整齐吗?答案就是 1048576 = 1024 * 1024, 也就说,1048576是 【一兆】的现实数值,出现这个数值之后,就阐明某个容量为【一兆】的数组满了。
这个不是要背数字,然后应付填空题的知识,而是在实践中造就出来的洞察力。 我也碰到一些弟子,很喜欢考证书。我个人认为,这种“证书”绝大部门磨练的是静态的知识点,是实践技能的根本,但不是实践技能。 而且我不知道他是考前一周临阵磨枪背书考过的,照旧自己平时就掌握这些技能,不消背书就能考过的。 相比之下,我更看重一个人的现实项目,例如,写博客,自己的开源代码,因为你可以看到技能积聚的过程。一个写了100 篇博客,1万行代码,他是在几年内一连积极创作的,这个创作历程是公开的,不断改进的,这个证明远远胜于一个富丽的证书。
在IT行业,Fran Allen本身就是一个先驱,她用自己的气力和影响力,让更多的女性到场到这个行业当中,在她的团队中,也有不少女性的身影。
为什么我本日特别想来和你聊聊盘算机行业的女性先驱呢?因为我和一些人谈起软件工程师这个职业,各人的印象是这是一个男性占统治职位的行业,女生要进入,似乎是要追赶男同学的样子。 其实,盘算机科学早期发展汗青中,女性发挥了很大的作用。
Ada Lovelace

或许很多人不知道,汗青上的第一位步伐员,就是一位女性,她叫Ada Lovelace ,是英国著名墨客乔治·拜伦的女儿,在母亲的鼓励下,阿达从小就喜欢数学,在1842年与1843年其间,Ada为发明家巴贝奇(Babbage)发明的分析机编写算法,她详细阐明用盘算机进行数学的运算方式,如许的描述,被认为是世界上第一个盘算机步伐;她还提出了循环等编程的基本概念。 她曾经对盘算机做了预言,说“这个呆板将来可以用来排版,编曲或是各种更复杂的用途”。
Grace Hopper

如果说Ada作为“步伐员”并没有一个当代的盘算机作为根本来编程,那么,在一百年后,1944年,第一个能现实运行并被编程的盘算机 Mark I 在美国哈佛大学诞生,时年三十七岁的格蕾丝·霍珀(Grace Hopper)女士就是它的第三个步伐员,她和她的团队在Mark I 上实现了100年前阿达提出的循环,子步伐,还有其他当代编程的概念和实践。 例如“回滚机制”,让出题目的步伐能返回到一个出题目之前的状态,这种实践在如今的互联网公司的运维体系中还在运行。
https://i-blog.csdnimg.cn/blog_migrate/642f9e4a06fad9a06376a57e8db9a28e.png
那年的秋日,她们的工作吸引了另一个数学家和盘算机科学家冯 · 诺依曼的留意。 在研究了 Mark I 和另一个早期盘算机 ENIAC 的技能和架构的特点后,冯 · 诺依曼在第二年提出了划时代的 “冯·诺依曼体系”,奠基了当代盘算机的体系机构的根本。 根据霍珀的回忆,其时大部门的盘算机研究都是在美国军方的资助下工作,对于公开辟表文章都有很多限制。冯 · 诺依曼的文章是建立在这些一线步伐员和研究员的工作之上的第一个公开辟表的文献。
这里还有一个风趣的小插曲,我想你大概也听说过,就是霍珀在软件计划领域的第一项重大“发明”,是创造出了一个著名的盘算机术语——“bug”。
1946年,她在发生故障的MarkⅡ盘算机的 继电器触点 里,找到了一只被夹扁的小飞蛾,正是这只小虫子“卡”住了呆板的运行。霍珀顺手将飞蛾夹在工作笔记里,并记载下这是一个真正的“bug”。厥后这演变成盘算机行业的专业术语。我们如今在网上,还可以查到这个最早“bug”的照片。
虽然当代电脑和飞蛾再也没有什么关系了,各人照旧习惯地把排除步伐故障叫做Debug(除虫)。
在早期的工作中,各人留意到一个题目。盘算机代码,是给盘算机读的,照旧给人读的? 在盘算机的早期,盘算机的指令都是用二进制或者八进制的数字表现的。呆板只熟悉这些数字,以是对于呆板来说,挺方便的。 霍珀和其他步伐员在实践中发现,步伐员要花很多时间来记忆,修改,和讨论步伐,一行一行的数字,并倒霉于人类计划,改进和交换步伐,于是,霍珀和她的团队做了一系列的改进:


[*]第一,用英语字母来表现盘算机指令,如许步伐员就能方便地阅读和明确。
[*]第二,她也是第一个在源步伐上写表明的步伐员,这个成为了如今盘算机编程的规定动作。
[*]第三,“一图胜千言”,她们发明确流程图 (Flow Chart),利用矩形来代表操纵,利用菱形来代表选择,用线来表现步伐的状态。就是从1940年代末开始的。一直到 70 多年后的本日,初学者照旧用流程图来帮助计划和明确步伐。
沿着 "让盘算机步伐容易写,容易明确” 的思路, 在1950年代末,霍珀还领导计划了当代编程语言 COBOL, 这个基于英语的盘算机语言广泛地用于贸易领域。 其时的盘算机存储器非常贵,为了节省空间,COBOL 语言用六位字符来存储日期, 即年,月, 日各两位。 过了近四十年,世界上还有很多 COBOL 语言写的步伐在运行,但是随着 2000 年的到来,用两位数记载的‘年’会变成 00, 如许就和 1900 年分不清了。这就是著名的 ‘千年虫’题目,这也从一个侧面阐明确她计划的这个语言的长寿和应用广泛。
讲到这儿,有听众会问,这是不是故意要推崇女性的贡献呢?其实这个行业在早期发展的时间,没有人深入考虑过IT行业有多大的远景,在选择的时间,能干活就行,以是不管是男生女生,能解决题目就好,从我自身的经向来看,在盘算机领域做出优秀的结果,和性别没有什么关系。
IT 行业提供了特别广泛的机会,各种不同的性格特点的人,都能找到自己的发挥空间。而且步伐写出来之后,是没有性别的,各人只能看见步伐的精确性、稳定性,以是只要技能过硬,无论男女,无论性格怎么样,都大概取得成功。
当然我在这儿说的成功,不是要给你灌鸡汤,我们总说:“这个世界上只有一种成功,就是以自己喜欢的方式过一生。”例如,我喜欢热情,不拘一格的生存方式,这没题目。但是,我们并不是自己性格的仆从,不拘一格并不是 “由着自己的性子”。
Silvia

我想起一个同事,我的一个经理 Silvia (西尔维亚)。 她是从巴西来到美国微软公司工作的,她有南美女性的那种外向的热情性格,但是工作非常细心。 例如,我们软件工程师常常签入代码,很容易导致在主分支上的代码编译不过。我自己也曾犯过如许的错误。 在微软团队内里,如果你的代码签入导致了主分支的错误,你要去做 Build Master ,又叫“构建大师”,就是在本职工作之外,处理处罚很多和代码构建相干的工作,直到下一个犯错误的人出现。 但是西尔维亚在微软作为一个资深的开辟职员,就是没有犯过一次错误,没有做过一次 Build Master。 在工作之余聚会会议谈天的时间,我们都非常敬佩她。
总结这一讲,我们讲了盘算机软件行业几位老先辈的故事。 回到我们故事的主人公,我们有如许的题目:
   如果你获得了数学系的博士,并且是大学里受欢迎的数学讲师了,就像我们前面说的格蕾丝 · 霍珀那样。 但是你的工作需要你学全新的硬件,和一个全新的“编程”的东西,你会怎么看这个机会?怎么选择?
    如果刚一上班,一个身材魁梧不苟言笑的同事就跑过来指责你的工作中的题目。你会怎么办?
欢迎你在评论区分享你的见解。
   这是我的湛庐课程《给技能人的职场突围课》 (链接) 的一部门。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 熟悉代码之前,请先熟悉你自己 |《编程人生》