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

投递人 itwriter 发布于 2016-06-07 21:55 评论(31) 有5367人阅读 原文链接 [收藏] « »

  文/帅气小伙(简书作者)

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

  岁月的锤炼

  圆口接口的键盘,2003 年的

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

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

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

  图书馆抄书的怪蜀黍

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

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

  程序员特技——专注

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

  编程需要的是流程再造

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

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

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

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

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

  我把我爸逼成了伪全栈

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

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

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

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

  程序员要时刻认识自己

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

  做一名守信用的程序员

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

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

时间: 2024-10-17 09:24:12

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

32岁入门的70后老程序员的传奇故事,他只有初中文化

有人问这个键盘难道没有擦过吗?不是的,是擦不掉的岁月痕迹.如果有注意到细节的朋友会发现,程序员什么键位用得最多.除了(ASDW,YUHJ,那是我小时候玩拳王留下的).这个键盘虽然老旧,但是我爸一直不舍得扔.03 年的时候,他从二手市场买会来了这台 486Cpu 主频的二手电脑,开始自学汇编.我爸是只有初中文化.但是有超强的动手能力. 圆口接口的键盘,2003 年的 零编程基础入门嵌入式开发 因为当时 03 年的时候,他刚从一家电子厂辞职,他在电子厂里看到了单片机这种玩意,他看到了他们工程师的工资

插件式的80后程序员是怎样在夹缝中求生存的

我们先说80后.网上到处流传80后是最苦逼的.在夹缝中求生存的. 我个人部分同意,为啥说80后在夹缝中呢?(这里我们先摒除一些80后成功人士,我可以很负责的说,这是少数.如果你就是这少数中的一员,那么请直接跳过本章) 我个人总结了有那么几点: 1.现在大部分财富都掌握在60-70后手中. 这条估计已经是一个不争的事实.话说时事造就英雄,60.70经历了房地产.下海经商.互联网.软件发展的爆发期,而这个时期为他们积累资金和财富提供了基础.而此时,80后还在读书. 2.  即将发生的财富转移 话说9

伤不起的三十岁,干不动的程序员要何去何从?(三条路:技术专家,行业专家,转为管理)

程序员干到30岁,好不容易从码奴混到了白领,却再也干不动了,还时时面临失业的危险.30岁,是一个程序员伤不起的年龄.明天,何去何从? 一.30岁现象 在官场上,曾经有一个59岁现象,就是官员们会在59岁时,会使劲捞上一把.很明显嘛,权力过期作废,再不捞就要退休了,没有机会了. 在程序员的圈子里,也有一个30岁现象.当然,如果你有铁饭碗,比如在国企或政府机关,那你是无法理解底层劳动人民的感受的.同时也要恭喜你成为体制内的一员,可以一直干到退休无忧. 30岁现象人人都明白,但要给出一个定义并不容易.

一个“纯屌丝”如何零基础转行做程序员

高考落榜后,生活像被蒙上了一层灰色的雾霾,看不清未来.在接下来的一两年中,磕磕绊绊地走了一些弯路.庆幸的是,我一直勇敢前行,欣慰的是,如今拨云见日,天朗气清. 放弃复读 一路波折 或许是因为年轻,心性不够成熟,我对高考的失败一直耿耿于怀,只顾嗟叹,连复读的勇气都没有.每每看到考上大学的同学在QQ空间发表状态.晒照片,总会有一种羡慕的感觉郁结心头. 在家闲的无聊,总觉得该找点事做,我在广告宣传的引导下来到传说中的新*电脑学校,学习网络技术,当时,不谙世事的我以为学完之后就能成功跨进IT行业,成为一

【转载】如何成为一个高效、快乐、健康的程序员

只需每天做一些小改变,就可摆脱病痛.保持健康.....学会去积累工作经验和成果就会变得高效......具备这些小习惯就会保持快乐…… 一:高效 互联网发展日新月异,社会科技每天都在发生着翻天覆地的变化,而程序员已经成了这个时代的庞大群体,各种各样的程序员数不胜数,我们每天上下班,不 论你是坐公交还是乘地铁,在你的身边一定有程序员.本人我就是其中的一员,本人主修java语言,从事java类开发工作.由于本人工作时间不长,经验尚 浅,都是学着前辈高人的路子,在慢慢前行,下面我给大家分享下,如何从菜鸟

我是一个初出大学校园的准程序员

大四了,还有半年毕业,现在正在一家软件公司实习,以后要从事程序员的工作.这是我的现状,也有很多人和我一样.我时常在想,我以后会怎么样,现在该有什么计划,每次都是想着头大了而睡觉告终.别人问我的时候,我就说先工作两年再说.其实,这才是真正正确的答案.好像每个人都在内心打着自己的小九九,想着今天干什么明天干什么,但是,最终还是在平平淡淡的工作中度过青春. 白岩松说过:人生有90%的平淡,5%的痛苦和5%的幸福,每个人都在为了5%的幸福,忍受着5%的痛苦,在90%的平淡中度过.我印象中也听过他在一次大

PHP入门培训教程PHP程序员要掌握哪些技术

总有那么一群人,学个半吊子就急着找工作,面试题做不出来,吹牛都吹不来所以你只能低工资.PHP程序员要掌握哪些技术?那么兄弟连PHP培训 就来小结一下. 面试前请参考:(前三阶段完成80%在北京月薪5k+) 第一阶段: (PHP+MySQL核心编程) 面向对象编程 MySQL数据库, MySQL的优化细节. HTTP协议,http也是我们web开发的基石.对我们了解PHP底层机制有很大帮助,做到知其然,还知其所以然. 数据库编程(mysql mysqli pdo), MySQL扩展库.MySQLI

大龄程序员怎样渡过中年危机?(转)

大龄程序员怎样渡过中年危机? 作者前言: 话说再有十几天就进入2016年了,想到这,我不由得五味杂陈.2016年对我来说是一个特殊的年份,因为我即将40岁了,人生正式告别青年期,进入中年了. 在娱乐圈,哦不,是在程序员这个吃青春饭的行业,有一个人人闻之色变的话题,曰:「年老色衰」.只要是个程序员,心里都会惴惴不安的想:「我老了以后卖不动色相,哦不,写不动代码了,我还能干啥呢?」.今天咱们来谈谈这个禁忌话题. 在我还是25岁的时候,我和很多程序员一样,其实有同样的担心,老了以后怎么办?写代码难道还

程序员,怎么样面对自己三十岁后的下坡路(转)

程序员,怎么样面对自己三十岁后的下坡路 2015-04-09 10:48 向阳生涯 (文/向阳生涯)程序员干到30岁,好不容易从码奴混到了白领,却再也干不动了,还时时面临失业的危险.30岁,是一个程序员伤不起的年龄.明天,何去何从? 一.30岁现象 在官场上,曾经有一个59岁现象,就是官员们会在59岁时,会使劲捞上一把.很明显嘛,权力过期作废,再不捞就要退休了,没有机会了. 在程序员的圈子里,也有一个30岁现象.当然,如果你有铁饭碗,比如以前在国企或政府机关,那你是无法理解底层劳动人民的感受的.