一个32岁入门的70后程序员给我的启示_第1页
一个32岁入门的70后程序员给我的启示_第2页
一个32岁入门的70后程序员给我的启示_第3页
一个32岁入门的70后程序员给我的启示_第4页
一个32岁入门的70后程序员给我的启示_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一个32岁入门的70后程序员给我的启示 2016-06-19 学高端IT开发,来济南华清远见 大家好,我是帅气小伙,今天为大家带来一个非常励志,让我反思的故事。今天为大家讲 的是我父亲是如何用行动教会我成为程序员的。 岁月的锤炼 圆口接口的键盘,2003 年的 有人问这个键盘难道没有擦过吗?不是的,是擦不掉的岁月痕迹。如果有注意到细节的朋 友会发现,程序员什么键位用得最多。除了(ASDW,YUHJ,那是我小时候玩拳王留下的)。 这个键盘虽然老旧,但是我爸一直不舍得扔。03年的时候,他从二手市场买会来了这台48 6Cpu主频的二手电脑,开始自学汇编。我爸是只有初中文化。但是有超强的动手能力。 零编程基础入门嵌入式开发 因为当时03年的时候,他刚从一家电子厂辞职,他在电子厂里看到了单片机这种玩意,他 看到了他们工程师的工资和待遇,而当时的他只是一名流水线上的焊锡工,虽然是个组长 ,但是也感觉到了职业的局限性。(这也带给我们一个启示,作为男人,如果觉得职业看 不到头,趁早换工作吧,如果不趁早,你会在以后的家庭压力中选择妥协,再也看不到头 了。),辞职的第二天,他就买回了这台486赛扬系列的二手电脑,和一台仿真的烧写机 器(把程序写到芯片的机器),一本汇编语言入门的书,开始了他12年的嵌入式开发之路 。(这里给我的启示是,说学就学,不要想着看看怎么入门,最好的入门技巧就是动手。 ) 图书馆抄书的怪蜀黍 这是他当时学C语言的时候在新华书店偷偷抄的 我记得初中的时候每周六我爸都会带我去新华书店去看书,然后去到那里,每次都是他叫 我看着图书馆里员有没有来,然后他就在那里专心地去抄写这些代码片段(这种学习方法 在我看来,现在就是个笑话,随便打开一个网站,代码都是一堆堆的,但是话又说回来, 你们在这些源代码中学到了什么,记住了吗?会灵活运用吗?从前辈的学习方法来看,记 录一些常用的代码片段还是很用必要的,你的github有一套自己的代码片段吗?如果没有 那就赶紧收集!)但是我爸的笔记,我每次问他,这是什么项目的,他都能记得很清楚, 当然他当时入门的时候是非常痛苦的,一个英文单词都不懂,可想而知。可是大家的基础 应该比我爸高很多吧,所以不要怀疑自己是否能够学会编程,是一定能够学会的。 程序员特技专注 我的亲人总是对我说:“你啊,坐久了要多起来走走,看看远处,这样子才好”。可是我 觉得大部分程序员都做不到,因为编程是根本停不下来的,一旦你入门之后,你就会有种 时刻想创造的感觉。这是写程序写出来的专注。说到这,我就想问问大家:“你能够专注 多少个小时?”,我把这个问题抛给了我爸,我爸笑着跟我说:“用煤气,把一个装满水 的平底锅烧穿需要多少时间?”。这是他的一次真实的经历,那是他在用汇编语言编写一 个MP3播放器,在调试的过程中,忘记了自己在烧开水,幸亏煤气烧完了!说这个故事只 想告诉大家一个道理:“写程序你必要保持高度的专注,但是不能够疲劳过度地专注。” 编程需要的是流程再造 软件工程跟建筑学很像,它们都是基于现实的技术,搭建最好的解决方案。“钢筋,混凝 土”这些都是做好的,都可以直接拿来用,编程也是如此,嵌入式开发也是如此。 这是一块移植了 UCOSII系统的STM32 实验板 这块板嵌入了UCOSII系统,可同时执行多个任务,并可指定任务优先级。通俗地说,你可 以边听音乐边打字。虽然看起来很低级,但是嵌入式就是这样。很高端吧,但是我一问我 爸,你是怎么做出来这块板的,你真的这么厉害用C语言写了一个操作系统? 板子是自己画的,其他的芯片都是买的,CPU程序是自己写进去的。原来嵌入式开发所做 的事就是负责把各个功能模块合理设计,用程序去调度。现在成熟的芯片都是厂商写好了 程序,提供外部调用接口,开发人员并不需要了解他里面的内容就可以开发了。这对我以 后学编程启发很大。我的老师曾经说过:“软件工程师之所以能够写出解决实际问题的程 序,是因为他们懂得流程再造,用现实的轮子(技术)去实现这个流程”。想成为一名软 件工程师首要的不是编程语言能力的把握有多么厉害,而是懂得把现实生活中繁琐的流程 通过计算机科学来简化,我觉得这才是真正的软件工程师。我爸的编程基础虽然没我强, 但是流程再造的能力比我强太多了。也许这就是经验吧。 这是它给我提供的串口应答式发送的流程(可能有错) 我把我爸逼成了伪全栈 大二时候的我,学了C#,会做一下简单的winform程序,然后就开始飘飘然了,跟我爸吹牛 了,当时我爸高兴坏了,直接就给我接了一个真实的项目,真金白银啊,我当时还傻傻地 答应了。由于是真实的项目,程序的容错必须很高,你不能够点几下就throwexception吧 ,但是我做的项目都是校园里面的实验,过家家玩的而已,虽然老师给了好评,这都是大 学里面的花拳绣腿。真正派上用场的时候,确显得苍白无力。理所当然,我的程序终将不 能按时完成。我爸意识到了,他笑着跟我说:“你教我学C#吧,我们一起探讨这个程序。 ”,没办法啊,只能让我爸去学吧,一个星期后,他开始于我并行开发,这是我跟我爸同 台工作最好的回忆;为什么我爸能够在一个星期学会C#(只有C 语音基础)? 语言都是通的,变的只是表达方式,思维和流程是不会变的 我们的老师从一开始就教我们画一些简单的流程图,但是我们很多人都觉得他太简单了, 没什么意思,于是就开始去追求那些表面华丽的界面,去满足自己好奇而又虚荣的心,但 是他们错过的是真正的编程技术,这就是当时的我。有很多人都觉得大学的课程很基础, 实际用到项目的很少,是根本不能拿来做项目,书本上学的都过时了。 而实际上,书本教会的是我们写字(编程)的姿势(方法),教会我们如何拿笔(写程序 ),如何写好字(好程序),一旦你学会了就能够写出一手好字(好程序)。所以有很多 人写不好字(程序),那就是在小时候练字(初学编程)急于求成,想着去玩(炫耀)。 这是我最深刻的反省,也是对各大初学者最好的忠告,编程必须耐得住寂寞! 程序员要时刻认识自己 当时,我是膨胀了,有点自以为是了,就觉得自己行,然后就答应项目了,结果幸亏我爸 厉害,不然可是要赔钱的。作为程序员,必须了解自己的水平上限。知己知彼(我能做, 你不能做),百战不殆(我就是要这么多钱)。对的,时刻了解自己水平上限是有助于自 身价值的评估的,例如你跳槽了,你对比同行,你的水平在哪里。决定市场价格的并不是 企业本身,而是社会必要劳动时间(别的程序员要多久才能够做出来)。而最好的认识就 是看最新的技术,了解行业的趋势。这次才能够让自己立足于高薪阶层。 做一名守信用的程序员 我爸当时给我说:”既然你答应了人家,无论你有千百个理由都要给人家完成,完成不了 就是你的错,因为你对人家承诺过“。这不是在讲道理规范,而是一个程序员的职业操守 ,因为这样,我爸能够接手到很多外包的项目,因为他在别人眼里只有两个字:”可靠“ 。也许这就是程序员的个人品牌吧,如果你在企业中能够有这样的品牌,能不升职吗? 总有人质问:“我现在学编程晚吗

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论