美文网首页技术程序猿的自我修养IT人故事会
一个32岁入门的70后程序员给我的启示

一个32岁入门的70后程序员给我的启示

作者: 帅气小伙 | 来源:发表于2016-06-03 20:12 被阅读27702次

    大家好,我是帅气小伙,今天为大家带来一个非常励志,让我反思的故事。今天为大家讲的是我父亲是如何用行动教会我成为程序员的。

    岁月的锤炼

    圆口接口的键盘,2003年的

    有人问这个键盘难道没有擦过吗?不是的,是擦不掉的岁月痕迹。如果有注意到细节的朋友会发现,程序员什么键位用得最多。除了(ASDW,YUHJ,那是我小时候玩拳王留下的)。这个键盘虽然老旧,但是我爸一直不舍得扔。03年的时候,他从二手市场买会来了这台486Cpu主频的二手电脑,开始自学汇编。我爸是只有初中文化。但是有超强的动手能力。

    零编程基础入门嵌入式开发

    因为当时03年的时候,他刚从一家电子厂辞职,他在电子厂里看到了单片机这种玩意,他看到了他们工程师的工资和待遇,而当时的他只是一名流水线上的焊锡工,虽然是个组长,但是也感觉到了职业的局限性。(这也带给我们一个启示,作为男人,如果觉得职业看不到头,趁早换工作吧,如果不趁早,你会在以后的家庭压力中选择妥协,再也看不到头了。),辞职的第二天,他就买回了这台486奔腾系列的二手电脑,和一台仿真的烧写机器(把程序写到芯片的机器),一本汇编语言入门的书,开始了他12年的嵌入式开发之路。(这里给我的启示是,说学就学,不要想着看看怎么入门,最好的入门技巧就是动手。

    图书馆抄书的怪蜀黍

    这是他当时学C语言的时候在新华书店偷偷抄的

    我记得初中的时候每周六我爸都会带我去新华书店去看书,然后去到那里,每次都是他叫我看着图书馆里员有没有来,然后他就在那里专心地去抄写这些代码片段(这种学习方法在我看来,现在就是个笑话,随便打开一个网站,代码都是一堆堆的,但是话又说回来,你们在这些源代码中学到了什么,记住了吗?会灵活运用吗?从前辈的学习方法来看,记录一些常用的代码片段还是很用必要的,你的github有一套自己的代码片段吗?如果没有那就赶紧收集!)但是我爸的笔记,我每次问他,这是什么项目的,他都能记得很清楚,当然他当时入门的时候是非常痛苦的,一个英文单词都不懂,可想而知。可是大家的基础应该比我爸高很多吧,所以不要怀疑自己是否能够学会编程,是一定能够学会的。

    程序员特技—专注

    我的亲人总是对我说:“你啊,坐久了要多起来走走,看看远处,这样子才好”。可是我觉得大部分程序员都做不到,因为编程是根本停不下来的,一旦你入门之后,你就会有种时刻想创造的感觉。这是写程序写出来的专注。说到这,我就想问问大家:“你能够专注多少个小时?”,我把这个问题抛给了我爸,我爸笑着跟我说:“用煤气,把一个装满水的平底锅烧穿需要多少时间?”。这是他的一次真实的经历,那是他在用汇编语言编写一个MP3播放器,在调试的过程中,忘记了自己在烧开水,幸亏煤气烧完了!说这个故事只想告诉大家一个道理:“写程序你必要保持高度的专注,但是不能够疲劳过度地专注。

    编程需要的是流程再造

    软件工程跟建筑学很像,它们都是基于现实的技术,搭建最好的解决方案。“钢筋,混凝土”这些都是做好的,都可以直接拿来用,编程也是如此,嵌入式开发也是如此。

    这是一块移植了UCOSII系统的STM32实验板

    这块板嵌入了UCOSII系统,可同时执行多个任务,并可指定任务优先级。通俗地说,你可以边听音乐边打字。虽然看起来很低级,但是嵌入式就是这样。很高端吧,但是我一问我爸,你是怎么做出来这块板的,你真的这么厉害用C语言写了一个操作系统?

    板子是自己画的,其他的芯片都是买的,CPU程序是自己写进去的。原来嵌入式开发所做的事就是负责把各个功能模块合理设计,用程序去调度。现在成熟的芯片都是厂商写好了程序,提供外部调用接口,开发人员并不需要了解他里面的内容就可以开发了。这对我以后学编程启发很大。我的老师曾经说过:“软件工程师之所以能够写出解决实际问题的程序,是因为他们懂得流程再造,用现实的轮子(技术)去实现这个流程”。想成为一名软件工程师首要的不是编程语言能力的把握有多么厉害,而是懂得把现实生活中繁琐的流程通过计算机科学来简化,我觉得这才是真正的软件工程师。我爸的编程基础虽然没我强,但是流程再造的能力比我强太多了。也许这就是经验吧。

    这是它给我提供的串口应答式发送的流程(可能有错)

    我把我爸逼成了伪全栈

    大二时候的我,学了C#,会做一下简单的winform程序,然后就开始飘飘然了,跟我爸吹牛了,当时我爸高兴坏了,直接就给我接了一个真实的项目,真金白银啊,我当时还傻傻地答应了。由于是真实的项目,程序的容错必须很高,你不能够点几下就throwexception吧,但是我做的项目都是校园里面的实验,过家家玩的而已,虽然老师给了好评,这都是大学里面的花拳绣腿。真正派上用场的时候,确显得苍白无力。理所当然,我的程序终将不能按时完成。我爸意识到了,他笑着跟我说:“你教我学C#吧,我们一起探讨这个程序。”,没办法啊,只能让我爸去学吧,一个星期后,他开始于我并行开发,这是我跟我爸同台工作最好的回忆;为什么我爸能够在一个星期学会C#(只有C语音基础)?

    语言都是通的,变的只是表达方式,思维和流程是不会变的

    我们的老师从一开始就教我们画一些简单的流程图,但是我们很多人都觉得他太简单了,没什么意思,于是就开始去追求那些表面华丽的界面,去满足自己好奇而又虚荣的心,但是他们错过的是真正的编程技术,这就是当时的我。有很多人都觉得大学的课程很基础,实际用到项目的很少,是根本不能拿来做项目,书本上学的都过时了。

    而实际上,书本教会的是我们写字(编程)的姿势(方法),教会我们如何拿笔(写程序),如何写好字(好程序),一旦你学会了就能够写出一手好字(好程序)。所以有很多人写不好字(程序),那就是在小时候练字(初学编程)急于求成,想着去玩(炫耀)。这是我最深刻的反省,也是对各大初学者最好的忠告,编程必须耐得住寂寞!

    程序员要时刻认识自己

    当时,我是膨胀了,有点自以为是了,就觉得自己行,然后就答应项目了,结果幸亏我爸厉害,不然可是要赔钱的。作为程序员,必须了解自己的水平上限。知己知彼(我能做,你不能做),百战不殆(我就是要这么多钱)。对的,时刻了解自己水平上限是有助于自身价值的评估的,例如你跳槽了,你对比同行,你的水平在哪里。决定市场价格的并不是企业本身,而是社会必要劳动时间(别的程序员要多久才能够做出来)。而最好的认识就是看最新的技术,了解行业的趋势。这次才能够让自己立足于高薪阶层。

    做一名守信用的程序员

    我爸当时给我说:”既然你答应了人家,无论你有千百个理由都要给人家完成,完成不了就是你的错,因为你对人家承诺过“。这不是在讲道理规范,而是一个程序员的职业操守,因为这样,我爸能够接手到很多外包的项目,因为他在别人眼里只有两个字:”可靠“。也许这就是程序员的个人品牌吧,如果你在企业中能够有这样的品牌,能不升职吗?

    总有人质问:“我现在学编程晚吗?”,“我30岁之后还能继续写程序吗?”,“学编程难吗?”看完这篇文章后,我相信你不会再问了,因为如果你真的是热爱编程,你就应该像我父亲那样,无论现实如何逼迫,初心永远不忘。虽然,我跟我的父亲没有太多的语言交流,但是这么多年的耳濡目染,足以让我发出:“谨遵父训,不忘初心”。

    相关文章

      网友评论

      • 米酒真香:我好像很久之前在哪里看过这个故事
      • AlanFu:stay hungry stay foolish
      • 4f0c356a41e7:不错,看来我28岁来学编程不算太晚,其实编程没有想象中的那么难,只要你能理解它的思想,真心不难。现在我在补编程的基础
      • 卖轮子:程序员2代就是牛:+1:
      • cc39e936a8a1:赞你爸
      • 846450aa4c41:人与人是真的有差距的。你应该庆幸有一个好老爸,顶天立地的男人。
        846450aa4c41:@帅气小伙 🙄🙄想想我爸爸再想想你爸爸。自然而然的就发出来了
        帅气小伙: @小小小二爷 写这篇文章不是说我爸如何了得,只是为了鼓励那些自学而处于迷茫的朋友们。
      • 79b2cdf257cc:Python起步的小白在这谢谢作者了😃
        帅气小伙: @王小白_ 只要肯学习,学编程,再不济也能找到体面的工作
      • 肯狄:虽然现在的工作游刃有余,只是自己从没下过决心去处理,真的有些看不起这样的自己。 如果看到一个自定义的功能需要实现,大多数人一定是想找个会的人去处理,自己去处理那些摆在面前有例子和模仿案例的去改造,我现在就属于这一类。 编程确实要耐得住寂寞去认识自己,去学习,去完成,这样才会进步,才不会让自己原地踏步,怨天尤人。
        风彡笑: @帅气小伙 想问一下,IT技术的更新太快,指的什么方面?
        肯狄:@帅气小伙 确实,我面对你的观点我很苍白,我要下决心,不能和我身边的人一样就这样被生活糊弄,像你学习,像高处发展,不再浪费时间。真诚的谢谢,你这篇文章给了我一个定心丸!
        帅气小伙:IT技术更新太快了,很容易被淘汰的3种人
        1.懒惰,固步自封,停滞不前,虽然能够胜任大部分工作,可是过了几年,逐渐就会失去了对工作的热情。
        2.缺乏独立思考能力,在大学的4年,我不断的尝试用不同的技术去重构同一个项目,在这个过程中,我遇到了非常多的问题,可是我的老师只会给我方向性的指导,缺从来没有原封不动地给我代码,其实思考的过程才是最重要的,我很讨厌那些直接复制代码的提问,更讨厌直接要代码的“伸手党”
        3.没有职业规划,一名IT的从业者,我觉得必须要有自己的职业规划,如果你还没有,试着想想10年后的自己吧:smile:
      • 28fe0c3cc98c:请问你们现在生活过的还好吗?
        帅气小伙:@庐州阿利 父与子,大家都是程序员,因为都需要专注,所以很容易忽视身边的人,包括最亲近的人,我们之间没有太多的语言交流,电话也挺少的,我们的交流大多数是社交媒体,交流的方式都是展示自己学习的成果,这是我之所以来到简书这个平台的原因。话虽少,但是我和我爸的感情是非常好的,他是我心中永远的英雄。
      • 13e5af35fc29:太感谢了,简直浓汤宝!
      • 夏大王2019:好文章! 楼主幸福~ 有人带
        夏大王2019:@帅气小伙 是的
        帅气小伙: @夏大王2019 编程的路上大部分靠自己,别人的教诲就只能在你自学的过程中领会的。
      • 极乐君:有个会编程的老爸是种什么体验系列~
        极乐君:https://www.zhihu.com/question/54756597。楼主来回答一个~哈哈
        极乐君:@帅气小伙 多沟通,别抵触,也别怕被抵触。毕竟一个行业~:grin:
        帅气小伙: @极乐君 我从小的梦想就是能和爸爸一起写代码,后来长大了我才发现我更需要的是项目以外的更多东西,哪怕是相互的关心和问候,如今父子两就像雇佣关系一样,这也许是我的问题吧,可是我又不知道如何去表达。
      • 6b69124ff056:虽然略鸡汤,但是给了我多一份走下去的力量, 谢谢~
      • Joker_King:难得,我看过很多次了,每次看过,我有重新坚定了自己的信心。
        Joker_King:@帅气小伙 对的,
        帅气小伙: @Joker_King ↖(^ω^)↗,编程的路上需要自我激励,独处是自我升华的过程。独处有时候会让人变得沉着,可是有时候真的需要找个人说说心里话的。
      • 56362a9605fa:想学永远都不晚,可惜简书上同时还充斥着很多“不能死抠技术”, “要脱离技术走管理道路,否则过了35就没希望了。。”之类的傻逼文章。
        56362a9605fa:@帅气小伙 我认为是从根本上对技术的一种轻视, 他们从心底里还是认为劳力者治于人, 而搞技术的就是劳力者。
        帅气小伙: @webwombat 价值观不一样吧,转管理的是为了职业,而技术的是为了事业。
      • 骄气包包:Pentium MMX 好经典的CPU啊~
        帅气小伙: @娇气的包子 那时候为了玩游戏没,这个cpu没少搞它,每次玩都超频,终于有一次烧了,被打了一顿😥
      • 一梦付浮生:万丈高楼平地起,终有成大神的一天,加油
      • 小书简写:你爸真厉害,我从2000年开始学,现在也还只是个菜鸟。。。哎
      • DukeAnn:your father 棒棒的
      • f848e024eb24:厉害了,我的哥
      • 1687711dc4ce:挺好的经历
      • 0cea5263d40a:我也是28开始学习编程,只要开始用心去做,就永远不会太晚,加油
      • sanchuan:你爸真是屌屌的,不得不服啊
      • 0f791b639042:第一次来这网站就是看到你这文章,在三个月前。今天再次进来,才发现这里然来是个平台。 :blush:
        帅气小伙: @炎黄若梦 愧对你啊,这么长时间没有更新文章了
      • e3bd7df964ad:很励志,虽然我是一个刚刚入门的女程序员,一直都在想自己做的是什么,根本没有明白自己要学的是什么,看完自己要好好思考一下啦
        AlanFu:为自己定个小目标,比如写一个连连看的小游戏,然后拼命地完成了。
        79b2cdf257cc: @帅气小伙 不要怕编写弱智代码。
        帅气小伙:@e3bd7df964ad 程序员是一个解决问题的职业,你要通过编程语言来表达你解决问题的思路,衡量一个程序的好坏,就是在衡量你解决问题的方式合适与否,仅此而已。而不是用代码的好坏去判断一个程序员的好与坏。所以初学并不需要把代码看得太过重要,重要的是学会如何去解决问题,学习解决问题的思维方式。
      • En_peng:get到满满的父爱 给你阿爸点个赞:+1:
      • AD小徐:很励志的文章,我今年29岁,刚进入编程这个世界,自勉之!
      • bf14ce31c625:做为一个70后程序猿,很多感觉是相同的。支持
      • 你好地球人:目前20岁,在学安卓开发,JAVA,前端,希望能走多条路!
      • ZENETOM:说得很有道理 只不过不是每个人都适合学编程
        ZENETOM:@帅气小伙 赞同
        帅气小伙:@我是一只一天到晚吃鱼的猫阿 编程只是一种解决问题的方式,我之所以热爱编程,是因为我喜欢解决问题。
      • c85f5b266d11:你爸是因为有了你,才这样努力。什么专注都是扯淡,还不明白吗
        帅气小伙:@远去之情 男人都是为了老婆和孩子的,都懂,我写这篇文章是表达我对父亲的感谢的,感谢他从小培养我去思考,去专注。
      • e56a308701cf:为什么很多人30岁退出了这行,你认为那么多人不如你吗?答应别人就要做到,做不到你就等着加班到天亮,好像你很厉害,能一天写个操作系统,能写一门语言样
        帅气小伙: @FreeCodeCamp 文章转载我都同意的,感谢你们的支持,如果有任何写作的建议,我非常乐意接受,我最缺的就是指导
        FreeCodeCamp:@帅气小伙 你老爹很赞:+1: 很想认识你父子俩。世界不缺BB者,忽视之。 苏州 一个脑瘫少年也在我们社区学习编程,我们坚信人人皆可编程,只要你想 ,少年的故事 下周会放出:v:
        帅气小伙:@qfcc 请你理智看待,我写这篇文章的目的并不是叫你去辞职然后入门写程序,我只是从一个旁观者的身份看待我父亲的编程生涯,感受他给我的启迪,如果你觉得对你是一种误导,你可以一笑而过。至于答应别人就有做到,我觉得你不能够质疑别人的价值观,我不厉害,但是我也要有自己的职业操守,我真正热爱程序,而不是把它当成一种谋生的职业,那些30岁就退出的人只是看到了自己随岁月磨灭的曾经理想,于是选择了退出。
      • e56a308701cf:32岁编程真的好吗?你这可是在误人子弟
      • f1856f7ddd71:故事有点假。
        帅气小伙: @f1856f7ddd71 这不是一个故事,这是一个事实
      • 1edc7c146291:如果这是真事而不是鸡汤的话,确实很励志。
        帅气小伙: @梦碎心亦累 没必要作那么大圈故事,文章之所以读起来有感触,是因为这算是我心里的言语
      • 帅气小伙:我认真地看完了有关我这篇文章的所有评论,我谢谢各位读者,我以后会以严谨的态度去审慎我文章的每一个细节,再也不会扯上“赛扬486”这种不专业的词汇了。
      • 打底裤:除了 “敬佩” 二字 真的不知道说什么!
        帅气小伙: @打底裤 你可以看看第二篇的续集
        打底裤:@帅气小伙 共勉,虽然很难 我正在努力
        帅气小伙: @打底裤 你也可以的
      • 莫丛林:现在我们这代的人太过浮躁,总想一口吃个胖子。然而编程这个行业是由量变引发的质变。 这也是一个浮躁的时代。
        帅气小伙: @莫丛林 浮躁的背个是时代的要求在变化了,现在人的要求变高了,对能力的要求变高了。我们必须有快速学习的能力。
      • a42183d3ae26:超酷啊!
      • da14f9427edc:你应该感到很幸运才是,有这样的老爸作为榜样,真是三生有幸!!!
      • EarlGrey:真励志的故事!能转载到我的公众号(编程派)吗?
        EarlGrey:@帅气小伙 谢谢,我会简单校对下文字~~方便的话到时可以到图文下方留言交流 :smile:
        帅气小伙:@EarlGrey 可以的,感谢你的支持
      • Floyda:此贴必火~
        帅气小伙:@Floyda 感谢你的支持,我是帅气小伙
      • 小米飞猫:我能说我30岁学linux,32学shell,现在36还在干运维吗?
      • VioletJack:加油!乘着我们还年轻不断强化自己,不能被时代所淘汰。
      • dec6148fbdd8:读完有点疑问,贴主说他父亲在32岁的时候开始学的编程,当时贴主读初中;假设初中生正常的最小年纪在12-13岁(初一),贴主的爸爸结婚够早的啊,20岁的时候就生了贴主啊!
        糖糖_0923:@太平洋飞鱼 20岁生孩子很正常,不要拿现在的眼光去评判上一代人,我爸爸也是在20岁的时候当爸爸的
        dec6148fbdd8: @帅气小伙 怎么能不在意细节?细节里面有魔鬼!devil's in the details
        帅气小伙: @太平洋飞鱼 我今年22岁,差不多了,不要在意这些细节。
      • 唯变:赞一个.好榜样.
      • 1fb1fc53828e:经历倒是非常类似,我是28学编程,从Excel函数到VBA,vb6,再到openresty,终于赶上时代了
      • 2349d1825e3b:喜欢这个文 生活纵然有逼迫 敢于直面而不断努力的人 无论作为一个父亲 还是前人 都富有意义 :heartbeat:
      • 一蓑烟雨啊:真的假的啊:+1:我也奔三咯
        帅气小伙: @尼采的太阳 有图有真相,不骗你的
      • e79f9ea8e00c:因为你父亲的 【自省】,【信用】,【专注】 我专门登录给你个打赏。
        费用很少,主要是这些精神无价。

        先做人再做事!!!! 好生动的一课。
        帅气小伙: @skiff 感谢你的支持,主要是我回家看到他那份专注,对我感触很深,所以就写下这篇文章了。
      • 梦马韶华:工匠精神
        帅气小伙:@梦马韶华 老一辈的精神,值得学习的,我在大学的团队都缺这些精神。
      • 默默守护:必须赞一个,叔叔真棒,我这还在迷茫中
        默默守护:@帅气小伙 谢谢
        帅气小伙:@默默守护 祝你早日找到前进的方向
      • 向日葵的笑:赞一个
        c49cb54500c0:父母是最好的老师。中国好爸爸
        帅气小伙: @抹茶与橙汁 感谢你的支持
      • 大屯小志:厉害,很像传统的手艺人。靠着自己执着一样能完成那些看起来不可能的任务
      • 我将一直都在:我还怕啥呢?哈哈
        帅气小伙: @我将一直都在 年轻完全有资本任性,没有错的
      • 52bba2b1d25a:一座灯塔
        Joe_sh:@帅气小伙 大多数情况下,程序与其它行业一样,是个熟能生巧的事。想多了, 平淡对之
        大白PM:何止灯塔,简直启明星!
        帅气小伙:@向青春致敬 程序员是一个高智商的物种,要不断地思考。
      • 68f2f75300d4:父子都是一个职业啊 😂我也在学单片机的说
        帅气小伙:@谁倚东风十二阑 我爸做硬件,我做软件
      • 向右奔跑:赞!太励志了。
        向右奔跑:@帅气小伙 难得,加油!
        帅气小伙:@向右奔跑 励志的背后,是我们这代程序员的反思,特别是大学生
      • 9a347a46bb18:咕~~(╯﹏╰)b
        纠正一个小错误,第一代Pentium在486之后发布的时候,大家俗称586,但是官方没有这么叫。赛扬不是486,赛扬是intel Pentium 的简化版,赛扬出来的时候应该在第一代Pentium之后几年去了。
        骄气包包:更准确的说赛扬是Pentium II开始流水线上残次品就变成了赛扬~
        帅气小伙: @曾经的TS 感谢告知
      • Twenty_:很幸福的事情
        chengquan223:能和父亲讨论程序,我觉得是一件既幸福又骄傲的事情
        Twenty_:@帅气小伙 我也需要跟父母找个话题。。哈哈
        帅气小伙:@二零壹四年的天空有星星 只要我一回到家,我爸就会跟我讨论项目,但是时间久了,我却会感到疲倦甚至厌烦 :sweat:

      本文标题:一个32岁入门的70后程序员给我的启示

      本文链接:https://www.haomeiwen.com/subject/gekxdttx.html