雷军:如果程序人生的话,这条路太漫长

这篇文章是在雷总个人博客看到的,里面聊到了他作为程序员的一些经历、初衷以及思考。写的不错,便转来给大家看看。

-- 如果程序人生的话,这条路太漫长

我并非天生喜欢写程序,上高中时也没有想过程序员的生活。

我学电脑非常偶然,小时好友上大学时选择了计算机系,为了和这个朋友有更多的共同语言,我也选择了计算机系,开始步入程序人生的道路。

当我学会一些后,发现自己特别喜欢写程序。我是八七年上的武汉大学计算机系,大一下学期才有专业课。当我有资格上机的时候,发现电脑世界太美妙,就一头扎进去。

当时用的是 Motorola 68000 (相当 于 Intel 8088), 540K 的内存,运行的 UNIX 操作系统,八个人一起用。

大二学PC,又过了一学期,开始出现在老师的实验室,帮忙干活,当时就写了现在很多人用的 RI (RAMinit, 清内存的小工具, 看来我还是最早一批写 Shareware 的人)。

又过了一个学期,开始和校外的公司接触。大二暑假,也就是1989年8月,和一个朋友组建了 Yellow Rose 软件小组,写了我第一个商品软件 BITLOK 0.99。后来自己创业办过公司,也写过一些其他的软件。

大学毕业后,分到研究所,不太适应那里的气氛,就在1992年初加入金山软件,开始了职业程序员的生涯。后来成了金山软件研发部门的主管,但我一直都是一线的程序员。

-- 程序员活在自己想象的王国里

我刚接触电脑就发现电脑的妙处,电脑远没有人那么复杂。如果你的程序写得好,你就可以和电脑处好关系,就可以指挥电脑干你想干的事。

这个时候你是十足的主宰。每每你坐在电脑面前,你就是在你的王国里巡行,这样的日子简直就是天堂般的日子。

电脑里的世界很大,编程人是活在自己想象的王国里。你可以想象到电脑里细微到每一个字节、每一个比特的东西。

-- 我爱编程这个工作,可以肯定我会干上一辈子

不少人认为程序员最多干到三十五岁就可以收山换环境了,脑子也差不多该歇歇了,体力也不支了。并认为写程序是年轻人的事情,到了一定岁数,估计没什么人再当程序员了。

当我刚有一点本事的时候,我也和大家一样觉得编程辛苦,也想三十岁后干别的。当我年长一点后就发现了自己的无知。

一个人大学毕业就二十一二岁,有点水平的时候可能二十五,接着就是过日子诸多事情。一切搞掂的时候,也许就是三十五岁。如果这样的话,我们就不用选择程序人生的道路。

电脑进入中国时间并不短,但真正大规模开始用,还是八五年 PC 开始的,因此国内真正写电脑程序的人最长也就写了十几年(不知道是否还有这样的人)。

由于电脑应用在国内时间比较短,国内开发的主力是三十五岁以下的年轻人为主。但这不表示程序员如同红粉佳人般的容易衰老。美国主力工程师以三十四十多岁的人为主。

开始的时候,我们觉得我们没有什么不能做的(现在还能听到这样的豪言壮语),而且更要命的是好象我们特别聪明,特别适合开发软件,比老外强得多。

当我们真正接触那些杰出的开发人员的时候,发现他们太厉害了,都有十多年的开发经验。虽然也有很多年轻人做了很多好东西,但决大多数的产品出自这些有丰富开发经验的程序员的手。

刚毕业的时候,编程不仅仅是爱好,而且也成了一辈子的工作。整天不知道写些什么东西,觉得特别没劲,找不到感觉,特别灰心。

-- 后来,才明白,只有全身心地投入,程序才会有感觉。

写程序的活特别费脑子,也特别累,但我喜欢,可以肯定我会干上一辈子,虽然我没有打算一生只干这一件事。用一生来编程序是一件既容易又困难的事。

如果碌碌无为,为交差写点程序,这样的日子太好混了。但如果想全身心地写程序,写十年就不是一件容易的事。

现在我不少朋友都洗手了,有时我也想“用什么电脑呀,Windows 外的世界不是也很大吗?”。

面对电脑的时候,立刻顿悟:写程序还是自己最擅长的事,也是最喜欢的事。

-- 高级程序员不是追求的目标

有的人学习编程技术,是把高级程序员做为追求的目标,甚至是终身的奋斗目标。后来参与了真正的商品化软件开发后,反而困惑了,茫然了。

一个人只要有韧性和灵性,有机会接触并学习电脑的编程技术,就会成为一个不错的程序员。刚开始写程序,这时候学得多的人写的好,到了后来,大家都上了一个层次,谁写的好只取决于这个人是否细心、有韧性、有灵性。掌握多一点或少一点,很快就能补上。

成为一个高级程序员并不是件困难的事。

当我上学的时候,高级程序员也曾是我的目标,我希望我的技术能得到别人的承认。后来发现无论多么高级的程序员都没用,关键是你是否能够出想法出产品,你的劳动是否能被社会承认,能为社会创造财富。成为高级程序员绝对不是追求的目标。

-- 编程不仅仅是技术,还是艺术

有人认为编程是一种熟练工种,也有人把编程说成是艺术创作。这两种意见争论比较激烈。

我们换个工种来看,石匠应该是熟练工种,属于工人,更和艺术似乎沾不上边。但正是这些石匠,给我们留下多少文物古迹,如乐山大佛、莫高窟等等。应该说这些石匠给我们留下了无穷的文化财产。

现代软件工业已具相当规模,很多软件的完成需要的是大兵团作战。一名普通程序员接受编写某一模块的任务后,往往只是写代码,发挥的余地很小。

在大项目中,很多程序员只能了解到和自己所编模块相关的很局部的细节,另外还受到开发环境的限制,真的很难体会到自己在从事”艺术”创造,更多的时候是感到自己在从事重体力劳动。

有的时候还担心自己苦苦参与的这个项目究竟有没有意义,是不是在同类产品中有竞争力,会不会开发出来以后就因为硬件的发展,操作系统的换代而过时……

我认为编程的工作和石匠比较相似,有技术活,更多的是体力活。不管怎么说,写出一个好软件不是一件容易的事。

这两种想法都有片面性,编程应该说两种属性都有。编程不仅仅是技术,也还是艺术。编程是技术活,才有可能大规模进行,才会有软件工程和软件工厂。也正是编程是艺术,才会有如此多的好产品,让大家如痴如醉。

著名程序编程指北点评表示,雷总是中国最早的一批程序员,极具极客精神。他把写程序当作一生的追求,完全没有去考虑程序员是吃青春饭的问题,全身心的投入到代码王国。

在他眼里编程不仅仅是谋生的一个技能,更是一种艺术。这也许就是极客程序员和普通程序员的区别吧。

希望诸君共勉,未来能在核心工业软件摆脱美国制裁上贡献属于自己的一行代码!

推荐阅读:

    专辑|Linux文章汇总

    专辑|程序人生

    专辑|C语言

嵌入式Linux

微信扫描二维码,关注我的公众号 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/466990.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

51单片机——硬件基础

单片机——硬件基础知识 宗旨:技术的学习是有限的,分享的精神是无限的。 1、单片机内部资源 STC89C52:8KFLASH、512字节RAM、32个IO口、3个定时器、1个UART、8个中断源 (1)Flash(硬盘)——程…

马上工作了,想问下要注意哪些问题?

这是一位读者在知识星球提问的,涉及的内容很多,但是这些问题,我觉得很多人都需要注意,分享出来让大家看,也希望留言说下自己的看法。1一、 offer情况 1. 已签三方 2. 公司是国内靠前的芯片原厂,深圳&#x…

CSS绘图

1. 自适应的椭圆 背景知识:border-radius属性的基本用法 使用border-radius制作一个圆很简单,只要给任何正方形元素设置固定宽高及一半长度以上的border-radius,就可以得到圆形 1234background: #fb3;width: 200px;height: 200px;border-radi…

51单片机——定时器

单片机——定时器 宗旨:技术的学习是有限的,分享的精神是无限的。 1、定时器和计数器 时钟周期:单片机时序中的最小单位,集体计算的放法就是时钟源分之一 机器周期:单片机完成一个操作的最短时间,12个时钟…

当年要是这样搞,我的C++也不至于这样!

C一直被称作永不过时的开发语言,比如游戏、服务器、人工智能等领域都必须用到C!虽然网上有很多教程和资料,但仍有很多人说C难学,究其原因是没有找到正确的学习方法!GoogleTest框架一直广泛应用于C/C项目测试 &#xff…

ABP之创建实体

ABP框架是一个非常庞大的框架,里面的东西有很多,那么如果我需要使用ABP进行项目的开发,具体的使用流程是怎样的呢?接下来将以一个简单的电影票管理“系统”为例子具体的实现一下。 一. 实体的创建 实体是属于领域层的,…

三亚野生植物园

近来朋友外出旅游颇多,大家分享快乐和美景的同时,文字往来也丰富。我的三亚行也该落幕了,休整得差不多了,重整行装,再踏旅途……诸君逍遥游芙蓉叶残桂满岩,粤女梦起游天姥。白塔青湖鸣沙丘,渡海峨眉牵白鹿。…

10张图22段代码,万字长文带你搞懂虚拟内存模型和malloc内部原理

成功是急不来的。不计较眼前得失,将注意力真正着眼于正在做的事情本身,持续付出努力,才能一步步向前迈进,逐渐达到理想的目标。不着急,才能从容不迫,结果自会水到渠成。大家好,我是程序喵&#…

51单片机——中断

单片机——中断 宗旨:技术的学习是有限的,分享的精神是无限的。 1、中断:放下手中的事情去处理另一种事情。 2、定时器中断 定时器是单片机模块的一个资源,确确实实存在的一个模块,中断是单片机的一种运行机制。不是一…

转!!ftp的主动模式(port)与被动模式(PASV)

转自 http://www.phpweblog.net/killjin/archive/2008/01/06/2653.htmlftp中主动模式(port)与被动模式(PASV)目录 开场白 基础 主动FTP 主动FTP的例子 被动FTP 被动FTP的例子 总结 参考资料 附录 1: 配置常见FTP服务器 开场白 处理防火墙和其他网络连接问题时最常见的…

深入MTK平台bootloader启动分析笔记

bootloader到kernel启动总逻辑流程图ARM架构中,EL0/EL1是必须实现,EL2/EL3是选配,ELx跟层级对应关系:EL0 -- appEL1 -- Linux kernel 、lkEL2 -- hypervisor(虚拟化)EL3 -- ARM trust firmware 、pre-loade…

Android反翻译详解

这段时间在学Android应用开发,在想既然是用Java开发的应该很好反编译从而得到源代码吧,google了一下,确实很简单,以下是我的实践过程。 在此郑重声明,贴出来的目的不是为了去破解人家的软件,完全是一种学习…

51单片机——UART

单片机——UART串口通信 宗旨:技术的学习是有限的,分享的精神是无限的。 对于单片机来说,通信则与传感器、存储芯片、外围控制芯片等技术紧密结合,成为整个单片机系统的“神经中枢”。 1、初步认识 一位一位的发送出去的&#xf…

day 34 守护线程守护进程 互斥锁线程 信号量 生产者消费者

今日内容 1、守护进程vs 守护线程(*) 2、互斥锁(**) 3、信号量(**) 4、生产者消费者模型(*****) 5、GIL(什么时候用进程,什么时候用线程)&#xf…

20000W的电灯泡,真的是叼炸天

编排 | strongerHuang素材来源 | 电工电气学习1000W的灯泡有多亮? 20000W的灯泡呢?嵌入式专栏11000W灯泡一位手工帝名叫rctestflight,他认为普通白炽灯泡的能耗是LED灯8倍,他自己要做一盏最亮最亮的灯,就选择了LED灯泡…

以色列:新发明大幅提高太阳能发电效率

央视国际 [url]www.cctv.com[/url]  2007年08月22日太阳能发电是个老话题了,同时也有一个老问题,就是发电效率很低。最近,以色列科学家宣布,他们发明了一种新型的、高效太阳能发电系统,将促进太阳能在工业领域的广泛…

51单片机——I2C总线

单片机——I2C 宗旨:技术的学习是有限的,分享的精神是无限的。 UART 属于异步通信,比如电脑发送给单片机,电脑只负责把数据通过TXD 发送出来即可,接收数据是单片机自己的事情。而 I2C 属于同步通信, SCL 时…

物联网开发者被疯抢,华为做了什么?

5G时代到来,物联网技术的应用也离我们越来越近。智慧交通、智能家庭、智慧园区,越来越多的融入到我们的生活当中。所以,对于开发者而言,物联网将是未来发展的一大蓝海领域。但国内物联网人才短缺,每年人才缺口达百万之…

VMware 安装kali——linux

学习信息安全需要安装kali-linux,会遇到许多问题,如下: 1、版本问题 需要注意自己多用软件和电脑操作系统是否是一致版本,有些是可以安装但是不能运行。 2、安装过程选择错误的选项 我们创建新的虚拟机,这时,选择自定…

FreeRTOS及其应用,万字长文,基础入门

嵌入式系统不只是ARMLinux,不是只有安卓,凡是电子产品都可称为嵌入式系统。物联网行业的兴起,也提升了FreeRTOS市场占有率。本文就是介绍FreeRTOS基础及其应用,只是个人整理,可能存在问题,其目的只是简要介…