0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一位IT工程师谈论自己的三年编程生涯

工程师人生 来源:网络整理 作者:工程师吴畏 2018-07-06 11:13 次阅读

从2012年初入职场到现在已经三年有余,从当时技术小白到现在的勉强小手,显然这样的结果是我不曾希望的。步入职场之初,暗下决心,三年时间里希望能在工作技术上有一个质的变化。奈何事实却是时间消磨了斗志,抹灭了激情,梦想被现实打败,而且是一败涂地。三年的时间里,回首思考过去的计划安排,却发现花在钻研技术上的时间其实并不少的,为何却没有比较深入的提高呢?或者说,为什么感觉不到进步呢?在写这个之前,自己也冥思苦想了好久,寻找根本原因,不论客观的主观的,最后总结于如下几个方面:

自制力

我想这应该是让我这几年停滞不前,甚至有些后退的根本原因之所在吧。虽然能勉强应付工作了,虽然计划赶不上变化了,虽然明日复明日,明日何其多,虽然…太多的诱惑,太多的借口让自己放松自己,任由计划放空,甚至有些放纵自己。当一次此松懈的有恃无恐,当舒适的感觉已养成习了,当计划一而再的变成了可有可无的时候,怎么可能还会有翘首企盼的进步和突破呢?温水煮青蛙的故事,谁又不懂呢?劳逸结合固然是提高效率的决定因素,但是当原本计划落空导致严重的压迫感的时候,因松懈而带来内心强烈的自责感的时候,行动和回报距离过于遥远甚至可能没有回报的时候,无一不深深的牵绊着下一步计划的实施和泯灭钻研的热情。

自制力这个时候显然是软弱无能的,当你这刻吃下了一块炸鸡,你能坚持明天一直吃素吗?当你今天一直不学习,真的相信明天会补回来吗?别骗自己了。遇到事情或者遭遇问题,最好立马实施去做去解决,而不是过多的考虑和依赖如何,在哪里,何时去做。当一切准备就绪的时候,可能又没有做的心情了。不做就是停滞不前,做了即使做错,也有经验的积累,而且也能提高自己的自制力和执行力。遇事不存事,立马制定计划,开始实施。套用别人的话,自制力是最优秀的品德。

侧重点

翻开过于的一些计划安排,发现自己有点饿坏了的感觉,看到了东西就抓过来吃,不管能不能吃,是什么味道都塞进嘴里,还没来得及咀嚼消化就吞进肚里然后排泄出来,占了空间就没能吸收到必须的营养。回头想这几年花时间学的一些技术知识:c/c++,shell ,kernel, Qt,正则 pythonjava,还包括一些网络开源的库等等,无一不是这样。随着时间的推移以及工作的不相关等因素,现在能熟练使用的也只是目前工作需要的,其他都忘记的十之八九了,而工作中需要的去了解,去深入钻研的却无暇顾及,导致工作上有时问题不能完美的解决或者无法解决。

这个显然也是导致营养不良的一个严重问题。一把抓式学习显然对我们钻研技术的来说不是一件好事。于时间,于精力都是不被允许的,懂的多固然是一件好事,但是我想这应该是立足于熟练自己擅长的基础之上的还有足够精力和兴趣的,如果本身的都没有抓好,又出四处乱抓一把,虚胖显然是很不健康的,到头来只会越陷越深,失去方向。写到这里,突然想起前段时间公司培训,讲到时间管理坐标系的问题(紧急为x轴和重要为y轴,正为紧急 重要,负为不紧急,不重要),将自己列入其中,才发现自己一直在错误的象限中(不紧急不重要和紧急重要)忙的团团转,却忘记了最应该花大量时间去的管理的象限(重要不紧急)的事情。

难易度

前段时间看一位牛人的博客,里面谈到人对外部世界的认知区域。感觉对于程序员来说挺有用,也正好适合我想表达的想法。分享一下,心理学认为人对于外部世界的认识可以分为三个区域:舒适区(comfort zone)、学习区(learning zone)、恐慌区(panic zone)。比如我们看一本书,如果这本书所说的内容都是我们熟悉的,完全符合我们的人生观和世界观,那么这本书就在我们的舒适区内,但如果这本书说的内容和我们的人生观和世界观不符,但是我们思考后之后仍能接收理解的,那么这本书就在我们的学习区内。

如果这本书的内容在我们阅读的时候很难理解和吸收,那么就在我们的恐慌区内。心理学研究说,只有在“学习区”内做事,人才会进步。纵观我这几年的额外学习的重点知识都不是在“学习区”内的,对于基础Qt、python、java语法等这些几乎都是趋于“舒适区”内的,在某种意义上的重复劳动。而kerne、某些开源网络框架等趋于“恐慌区”内的,也只是短暂时间的逼迫接受。而这些却是我耗费时间精力最多的两个区域,这样又如何进步呢。

写到这里我想要表达的都总结的差不多了。反省总是有所收获的,或茁壮成长,或自甘堕落,在这里,一切的言语在行动面前都是苍白的。希望在下一个阶段性的回望时,能给自己交一份真正意义答卷。最后套用一位牛人的的话送给自己:

“写到这里,我想有很多人都问过我,程序要怎么写才能写得好,或者说设计模式要怎么写,之类的问题。如果把学习编程话费的精神代价作为标准的话,捷径是没有的。但是如果仅仅把时间作为标准的话,捷径显然是有的。怎么才能加速你学习的过程呢?答案就是,先写再看书。

对于像编译原理这种略微高深的知识,总要自己写过几遍,吃一些苦头,才能知道为什么书里非要把算法那么设计,结构那么安排。对于像设计模式这种需要大量经验才可以领悟到的知识,如果你从来没有独立写过一个上万行的程序,你觉得你能理解设计模式在讲什么吗?我觉得这个时候能做的就也就是背下来,理解什么的都是扯淡。诸如此类,学习程序,如果要加速那个过程,肯定要花大量的时间写代码。

当你把项目做的越大、越复杂、算法越扭曲、界面越华丽、尺寸已经大到你觉得不学习新的方法论就肯定会让代码失控的时候,这个时候你来看设计模式的书,保证是每看到一个模式都觉得人家说到你心坎里去了。那你不仅可以迅速理解,而且以后还可以不由自主的想起来使用它”

在程序员的生涯里面,最重要的就是保持对编程的热情,不要被生活的琐事所磨灭。其次是要给自己不断地创造一些足够困难但是又有办法完成的挑战,这样才可以总是让自己保持着一个快速前进的状态。”

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 工程师
    +关注

    关注

    59

    文章

    1571

    浏览量

    68552
  • 编程
    +关注

    关注

    88

    文章

    3621

    浏览量

    93785
收藏 人收藏

    评论

    相关推荐

    FPGA算法工程师、逻辑工程师、原型验证工程师有什么区别?

    ,共同进步。 欢迎加入FPGA技术微信交流群14群! 交流问题() Q:FPGA中的FPGA算法工程师、FPGA逻辑工程师、FPGA原型验证工程师
    发表于 09-23 18:26

    寻求专业工程师帮助设计USB多口充电器

    嗨, 我正在开发款USB多口充电器,现寻求一位专业工程师或产品设计的帮助。希望能够与有经验的工程师合作,共同完成产品设计。以下是我们的需
    发表于 08-05 12:03

    正是拼的年纪|65岁电子工程师上班VLOG #65岁退休 #电子工程师 #搞笑 #上班vlog

    电子工程师
    安泰小课堂
    发布于 :2024年07月25日 11:31:02

    嵌入式软件工程师如何提升自己

    ,可以为自己的职业生涯打下坚实的基础,并实现个人的职业目标。愿每一位嵌入式软件工程师都能在这个充满挑战和机遇的领域中取得成功!
    发表于 06-12 11:20

    嵌入式软件工程师和硬件工程师的区别?

    和通信协议,以及熟练掌握种或多种编程语言和开发工具。 主要负责的任务和领域 嵌入式软件工程师的工作涉及到各种任务,主要包括: * 系统设计:包括确定系统功能、分配资源、优化性能等。 * 软件
    发表于 05-16 11:00

    大厂电子工程师常见面试题#电子工程师 #硬件工程师 #电路知识 #面试题

    电子工程师电路
    安泰小课堂
    发布于 :2024年04月30日 17:33:15

    寻找一位编程

    寻找一位编程员。请法邮件 j_helmut@163.com
    发表于 04-02 13:34

    为何国外工程师偏爱使用for(;;)来实现MCU死循环?

    一位工程师发现,国外工程师在给demo在做死循环时用的是for(;;),而不是常用的while(1)。这仅仅是个人习惯的问题,还是有更深层次的含义?
    发表于 04-01 11:26 662次阅读
    为何国外<b class='flag-5'>工程师</b>偏爱使用for(;;)来实现MCU死循环?

    如何搞崩个硬件工程师心态?试试对ta说这几句

    硬件工程师
    扬兴科技
    发布于 :2024年02月20日 18:05:49