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