有人说程序员的尽头是管理岗,有人说35岁还在写代码就是失败,也有人说创业才是程序员的出路。职业生涯的发展规划是大多程序员所关注的。

▲ 知乎上关于中年程序员的讨论

程序员是不是真的像大家所认为的那样,不写代码就没有出路了?也许看完Python之父吉多·范罗苏姆的故事,我们会有不一样的想法。

▲吉多·范罗苏姆,2014年

从小迷恋电子学

自己鼓捣电路

和不少人一样,范罗苏姆小时候对那些电子器件特别感兴趣,喜欢拆拆装装。父母为了满足他的兴趣爱好,在他10岁的那年送了他一个飞利浦的教育电子套件。当时这种教育产品非常火热,根据说明书能够组装出各种非常有意思的东西,比如收音机、示波器,甚至是电视!

▲ 同时代的飞利浦教育电子套件产品

范罗苏姆很是兴奋,对此爱不释手。熟悉了之后他不满足于跟着说明书组装那些电子元件,开始自己设计电路制作出不一样的东西。一开始非常成功,各种稀奇古怪的电路都能够点亮使用,但是在无数次试验之后,这整个套件只剩下三个晶体管了……

极客觉醒

没过多久,他在5年级时获得了自己的第一个电子模型——一个可以闪烁的灯。当他在班上向同学展示和讲述这个灯作用原理的时候,发现他们不理解、也不关注这玩意是多有意思!原来不是所有的人都喜欢这些神奇的东西。

这个似乎是他关于极客的最早记忆,开始觉醒往极客方向发展。在那之前,他大部分都是一个人安安静静地学习——学得也非常快——并没有和别人分享和展示。之后,他一发不可收,只要有机会就去学习了解那些电子知识,并想尽一切办法实践。

不叛逆的他被认为是另类

到了高中的时候,他在班上遇到了同样喜欢电子学的同学,然后迅速地和他们打成一片,经常聚在一起讨论电子相关的问题。当其他同学在学习欧姆定律的时候,他们已经在教室最后面讨论与非门了。

在七十年代的荷兰,高中生的主流一种是非常叛逆瞎玩的,一种是为了成为医生、律师等职业努力的。而范罗苏姆他们就是非主流的另类:既不叛逆,也没有像另外的人一样为走上成功职业生涯而努力,就是像书呆子一样守着那些电子元件、书籍。

不过当时的物理老师发现了他们的才能,请他们制作了一个数字计时器,用来向全班同学展示万有引力定律。这个项目非常有意思,他们完成后非常开心,了解到自己的这些技能还是很有用的。只不过后来上大学他选的不是物理专业,而是数学,这可能会让物理老师有点失望

遇到更大的家伙,爱上了计算机

1974年,范罗苏姆高中毕业后进入了阿姆斯特丹大学开始了自己精彩的大学生活。

进入大学,对计算机一见钟情

在阿姆斯特丹大学教学楼的地下室,有一台大型计算机,第一次看到这个大家伙的时候,范罗苏姆立马爱上了它!

▲ 阿姆斯特丹大学1964-1973年使用的

B5000/B5500型计算机

相比以前那些简单的电子产品,这个大家伙能做到很多神奇的事情,比如行式打印、批量作业,更重要的是它提供了“高级”编程语言Algol!范罗苏姆很快沉迷其中,学会了编程,同时学会了Algol、Fortran和Pascal这些当时非常流行的编程语言。和高中一样,他又成了坐在教室最后面的学生,只是这时他做的是思考怎么修改自己的程序。

在地下室这个大家伙身边,永远都围着一群同样对计算机感兴趣的人。范罗苏姆开心地和大家交流着编程技巧、共享自己做的程序,一起想办法从大型计算机管理员手中多搞一些操作机会。从那段开心的时光中他得到最大的收获是关于共享:虽然软件与编程技巧会慢慢被替代,但是软件需要共享的思想一直不会变。

不过机器只有一台,僧多粥少,他总觉得上机时间不够。

加入操作系统组,不用和别人抢电脑

1977年,机缘巧合的情况下,他看到大型机的操作系统组在招聘兼职学生,立马去申请空缺的职位。因为他当时的编程能力练习得很好,很快得到了那份兼职,正是这份兼职,改变了他的大学生活。

在以前他是要和一大群人抢为数不多的上机机会,现在突然能够没限制地使用了,他欣喜若狂!而且现在他还能够直接访问计算机中的源代码,并且和数十个专业的同事讨论那些专业的计算机内容。

他觉得编程就是自己的梦想

从差点退学,到开发编程语言ABC

不过这个梦想差点让他大学毕不了业。

疯狂编程,差点退学

有了这份梦寐以求的工作之后,他基本把课程抛到了脑后,不分昼夜地在那编程写代码。去和那些真正的程序员打交道,去使用代码和他人对话——持续了5年。如果一直这样疯狂下去的话,他大概率是要直接退学的。

好在他的顶头上司和学校的一个教授没有放弃他,让他知道学历在以后找工作中是一个比较重要的东西。然后帮助他修完了必要的课程,提点他完成了毕业论文,26岁的他在1982年获得数学与计算机科学硕士学位,顺利毕业

对抗Basic,构建新语言

因为在学校这么些年积累下丰富的编程经验,他出来就很快找到了一份工作——在荷兰数学与计算机科学中心( National Research Institute for Mathematics and Computer Science,简称CWI)协助研发一个面向非专业程序员的新编程语言,ABC。

80年代,Basic是新一代非专业程序员的首选,在Apple II和Commodore 64等小型计算机上使用Basic进行编码是很流行的。当时ABC就是为了挑战Basic,试图将它淘汰掉。

ABC的失败

不过非常可惜的是,经过四年的共同努力,ABC并没有取得预想中的成功。也许是当时他们的营销失败,也许是因为当时时机不好,1986年ABC被抛弃了,项目被终止。

那之后很长一段时间他都在思考,为什么这个项目会失败?除了过度设计之外,他认为主要原因在于当时没有互联网,快速发布和快速接收反馈是一件奢侈的事。当语言的制造者和使用者之间没有一个健康的反馈循环的时候,这个语言注定很难成功。

35岁的他依然热爱编程

范罗苏姆从ABC的失败中吸取了经验,“早点发布,经常发布”成为他的座右铭。

Python诞生

1986年,范罗苏姆参与到了另一个项目Amoeba中去,但对于ABC依然是念念不忘,改善并构建一门新的语言成为当时的辅助项目。而且当时Amoeba项目的系统管理工作一直没有找到合适的方法,需要有一种可扩展、能够解决异常的语言来解决这个问题。

1989年圣诞前夕,实验室也因为假期准备关门,他手头上又没有其他的工作,看着家里那台电脑,决定为那个一直在考虑的新编程语言写一个解释器。经过一周不可开交的忙碌,这份工作终于有了眉目。他使用自己最喜欢的剧团Monty Python给这个新的编程语言命名,叫Python。

之后,他用了一年的时间来完善这个新的语言,并且在当时的项目Amoeba中使用,并获得成功交互运行。

1991年发布首个版本0.9.0,那年范罗苏姆35岁

他持续爱着编程与Python

在Amoeba之后,范罗苏姆转向了另一个多媒体小组工作。这个小组主要是开发超媒体演示的软件,还有为之提供操作系统和网络支持。他将Python带到了这个小组,并且获得了同事们的一致认可并使用,小组大部分项目的实施工作都是用的Python。

Python获得了一定的成功。

1994年,美国国家标准与技术研究院(NIST)赞助他在圣达菲举行了第一次的Python研讨会。之后几年他的工作大部分都是研究和使用自己发明的Python,在美国国家研究计划公司工作期间他编写了第一个用Python编写的Web浏览器 Grai。

2000年6月的一个周六下午,在西弗吉尼亚州南部一个美丽的庄园Claymont Court草坪上,范罗苏姆和Kim Knapp举行了婚礼成为夫妻。那年他45岁。

一直以来,他对于编程的热爱从未停止,婚后三年里,他去了两家公司当Python实验室的主管,专门从事编程语言开发。2005年12月到2012年12月,他一直在谷歌工作,开发代码审查工具、参与开发 Admin Console、 Appstats 库、 NDB 库,并且花了不少时间继续开发Python。

临近退休,他在my.py工作,将超过500万行的服务器端代码从Python 2迁移到Python 3。

退休后又加入微软为Python做贡献

2019年到2020年,他退休了一年。不过退休生活似乎并不那么有意思,大半辈子都在编程的范罗苏姆对其割舍不下。这份热爱最终把他指引到了微软。

▲范罗苏姆宣布入职微软的推文

果然没有编程的日子是无趣的,他可忍受不了这种无聊,编程可太有意思啦!

保持对编程的热爱

程序员35岁还在写代码就是失败的吗?30岁的程序员真的没人要吗?在小异看来并不是的。从Python之父范罗苏姆的故事我们也能看出来,并不是说一直写代码就没有出路。他还觉得退休生活没代码可写很无聊呢,他是失败的吗?

那是不是创业才是程序员的未来?也未必。创业是一个复杂的问题,并不是每个人都适合成为企业家,需要会管理、还需要招聘面试,更重要的是还要向投资者推销自己的想法——范罗苏姆曾表示这是他最不想做的事情之一。作为一个正常上班的程序员,开发的软件能够被上千人、上万人,甚至是上百万人使用,难道不是一件非常有意思而又有回报的事情吗?

保持着那份对编程的热爱吧!它现在和未来,都会为我们带来丰厚无比的回报!

年龄不是限制我们职业发展的唯一因素,专业技术与自己的其他职业能力才是。作为年轻的程序员,完全不需要有这种焦虑,打铁还需自身硬!把自己技能修炼好了,不愁没有合适的工作。

所以,少年来看书!学习强身,用知识武装自己。

最后

 如果对Python感兴趣的话,可以试试我的学习方法以及相关的学习资料

 对于0基础小白入门:

如果你是零基础小白,想快速入门Python是可以考虑培训的。

一方面是学习时间相对较短,学习内容更全面更集中。

 Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

二、Python必备开发工具

三、精品Python学习书籍

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。

四、Python视频合集

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

五、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

六、Python练习题

检查学习结果。

七、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

大家拿到脑图后,根据脑图对应的学习路线,做好学习计划制定。根据学习计划的路线来逐步学习,正常情况下2个月以内,再结合文章中资料,就能够很好地掌握Python并实现一些实践功能。

Python之父,26岁大学毕业,35岁发明Python,却差点因为沉迷编程被退学相关推荐

  1. Python之父,26岁大学毕业,35岁发明Python,却差点因为沉迷编程被退学!

    有人说程序员的尽头是管理岗,有人说35岁还在写代码就是失败,也有人说创业才是程序员的出路.职业生涯的发展规划是大多程序员所关注的. ▲ 知乎上关于中年程序员的讨论 程序员是不是真的像大家所认为的那样, ...

  2. 程序员分界线:30岁,30岁转行、35岁转行、35岁被迫裁员

    程序员作为一个高薪群体,早已广为人知,越来越多的的从业者加入进来,每年的毕业生.半路出家培训班出来的转行者,涌入进来,门槛之低只需要培训两个月就可以上岗,导致人员素质参差不齐,找不到好工作也总得有工作 ...

  3. 多地GitHub账号使用受限;Python之父考虑重构解释器;62岁程序员埋逻辑炸弹 | 开发者周刊...

    整理 | 张红月 出品 | CSDN(ID:CSDNnews) CSDN开发者周刊只为传递"有趣/有用"的开发者内容,点击Star(Github:https://github.co ...

  4. 部分岗位放宽35岁限制!35岁找工作不再被嫌弃老

    近日,一则"建议部分岗位向35岁以上群体倾斜"引发热烈讨论. 目前,部分岗位限制35岁就业的方式非常不太友好,35岁照理说应该是找工作最美好的年华,为什么这么说,20几岁时,刚毕业 ...

  5. 大一python实验二答案_大学慕课2020年用Python玩转数据题目答案

    大学慕课2020年用Python玩转数据题目答案 更多相关问题 [单选题]在Word编辑状态下,连续进行了三次插入操作,当单击两次"撤消" 命令后,则(31). A. 第一次插入的 ...

  6. 阿里云大学python教程下载_阿里大学开放 11 门免费 Python 视频课程

    Python 语言近几年越来越火,语言使用率占比节节攀升. 我们知道Python 现在稳居世界编程语言前三名,在 PYPL 语言流行指数上更是稳居第一,可见 python 的适用范围.受众基础.影响力 ...

  7. 15岁大学毕业,一生800多篇专著论文,双眼失明却凭一条公式称霸数学界

    全世界只有3.14 % 的人关注了 青少年数学之旅 从文明之火初燃的那一刻起 数学就与之为伴 从万年前"数"的产生 到现代科技的迅猛发展 数学 不仅是窥探宇宙万物的入口 也是最高智 ...

  8. 20多岁大专生吐槽:面试39岁同济大学毕业的测试专家,对方却连简单编程题都不会!...

    互联网行业有多残酷? 一个20多岁的大专毕业生吐槽:面试一个39岁的同济大学毕业生,考了一道小编程题,她没做好,其他方面也不是很好.看简历,她之前都是测试专家.测试负责人等. 楼主感叹:不敢想自己的4 ...

  9. python如何打印26个字母_玩法#用Python学会打印26个英语字母,简单操作如下

    当我们去研究Excel表,设置单元格宽度的时候,我们就要用到字母列了,就会直接想着range('A','Z')循环一次不是就可以批量设置了,结果呢,显示报错. 结果报错: for leter in r ...

最新文章

  1. C++(Goto使用实例)
  2. UA MATH565C 随机微分方程V 算子半群理论简介
  3. HTTP代理如何正确处理Cookie(1)
  4. 腾讯数平精准推荐 | 横扫ICDAR 2019,斩获七项冠军
  5. java static方法
  6. Qt官方文档阅读笔记-QStyledItemDelegate Class描述
  7. 值类型和引用类型及其区别!
  8. WCF中使用自定义behavior提示错误的解决方法
  9. Mysql Grant 用户权限总结(详细编)
  10. VS code 完全清除终端内容
  11. 博弈算法实现简单五子棋
  12. vdbench(一)
  13. oracle实验7 pl/sql编程基础
  14. 重庆首个程序员社区成立
  15. 解决win10中无法打开CHM文件的方法
  16. Base-calling for next-generation sequencing platforms (译文)
  17. 求幂级数展开的部分和 / 求分数序列前N项和 / 特殊a串数列求和
  18. linux下开启、关闭、重启mysql服务
  19. 概率论与数理统计_数理统计部分
  20. 发那科机器人没有码垛指令_FANUC机器人码垛教程

热门文章

  1. Html.DropDownListFor练习
  2. 本·拉登的书架:Python文本分析拉登最常念叨什么?
  3. python多线程爬虫
  4. 转化率分析的四个维度
  5. mysql sql inner join_sql inner join几种用法
  6. yoloV4论文知识点记录
  7. CUDA编译器nvcc可能遇到:error: asm operand type size(8) does not match type/size implied by constraint ‘r‘
  8. 使用Python实现K近邻
  9. l4d2服务器修改武器伤害,《幽浮2》怎样修改武器属性 武器属性修改代码介绍
  10. 前端面试总结 :http、html和浏览器篇