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

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

3天内不再提示

工程师认识工程和解决问题的一些思路

工程师人生 来源:工程师吴畏 2019-07-11 16:54 次阅读

我所理解的工程师简单描述是指“能根据实际问题选择适当的方法、适当的工具较好的达到既定的目标”这样一类人,下面是我自己归类的一些认识工程和解决问题的一些思路,背景是嵌入式+linux类问题的解决。

1.认识对象

这一步的全称应该叫认识对象、考虑需求、确立标准,我刚开始决定学习嵌入式linux的原因是为了找一份较好的工作,在linux大环境下的服务器、ARM驱动or内核开发薪资待遇都是不错的,而且有较好的上升空间,同时不想软件那样无休止的加班学习,但是后来一根筋扎进去学了一阵子后发现开始迷茫了,因为平时做项目的话我有一个分析对象,我还有用户,我可以较好的建立工程并构思一些IDEA达到用户需求,但是现在呢,我的用户需求变成了找份好工作,对象是ARM+LINUX学习,于是陷入了一个学习无底洞,因为目的不够清晰,同时变化较大,就比如说驱动开发,不同行业背景的要求不同、人才偏向不同导致招聘要求相当多,我从来没见过这么麻烦的用户,于是在我崩溃之前我决定好好思考为什么会产生这样的一个bad loop。在整个过程中我的“用户”不成熟,同时具有很强的功利性,同时我确定“用户”的时候也不够真诚,起码脱离了我自己所认可的工程师的“品行”,经过一系列的自问自答后我做了如下的一些确定:

我希望的是成为一名工程师

我希望在某一类专业中具有较好的专业素养

在以上基础下在考虑工作问题

因此,我的对象变成了做一个ARM(及类ARM)+LINUX(及类LINUX)方向的驱动开发工程师,这就是我所要解决的问题,也是我所面对的对象。

2.建立框架

全名是根据需求建立框架,要达到前面的标准,首先我需要选择一款ARM,并以此种结构作为了解以后相似结构的基准,针对LINUX也是一样的,于ARM来说,以后工作可能会遇到ARM的其他系列,也或者有DSP等等,系统方面可能还会遇到一些针对特定用户的类LINUX系统,又或者我们接触最多的Andriod,既然都是一脉相承,那核心不变也就是一些小的规则、一些处理问题的约定发生变化,相对来说并不会很难,因此以ARM+LINUX的某个内核作为基础,以此来学习这个行业、掌握一种处理问题的方法是可行的。

如果把ARM+LINUX确定了,那么就需要根据这个对象来建立我的框架,我们可以确定一条主线,在主线的基础上添加附件,我把主线确定为LINUX系统,在学习整个系统及移植的过程中,添加对ARM架构的学习,包括:建构相关硬件资源的原理及使用。

3.实施方法

一个LINUX系统我们可以将之分为u-boot、Kernel、Drivers三个部分,后面两个部分其实是一体的,作为一名工程师,我们的目的就是解决我们的问题,因此在一个大型工程中,我们不能面面俱到,我们需要其他人的帮助,那么这个时候就确立了两条基准:1.学习(学习方法、笔记、书籍资料、官方说明)、2.委托,所谓的委托就是我们在解决一些大问题时往往不用完全理解事情的处理细节,只要该种方法能够合理的达到我要的技术标准那么我就直接使用,比如我要使用手机打电话,那么我并不需要知道手机是如何打电话的,这一部分我留给硬件方面的人才,但是这也不是绝对的,当我们涉及到一些委托的部分出现问题时就需要深挖了,而如何判断哪些需要深挖哪些需要委托呢,这个完全就是经验了,要么是一个技术骨干告诉你这里可以不用考虑,是全球通用的,要么就是自己的经验之谈了,总而言之,对付一个大工程,我们需要简化他,但是所委托的部分我们必须知道给了他什么,他做了什么,达到了怎样的结果,这样就够了,人力有限,不管是谁都需要有自知之明。

前面委托说的很清楚了,委托其实也算是一种学习,只不过始终宏观学习,而学习这一步,就尽可能多的去了解了,在学习搜集资料的过程中,我们基本按照如下方法,1.他是谁?2.来自哪里?3.将要做什么?4.怎么做,只有深刻的了解了对象的各种形式的特征,我们才能更好地操作他,把握他的变化,采取应对措施。

最后还需要添加一点,关于笔记的,我们未来需要处理很多的对象,使用很多相关的芯片、架构、系统,那么针对不同的特征尽量有个笔记记录,人的记性毕竟有限,而记录的标准我们可以既定为:有价值、花费自己一定时间才思考出的。

4.优化

我们假定在第三部就完成我们的目标了(当然,实际会还有一些过程),任何一件事如果认真做,一直做,都会做到“得心应手”,那么这个时候我们可以考虑进一步的升华,也就是优化,比如编写的大型程序,我们可以优化代码段,调整局部实现思想,根据对结果的分析,不断的做这些是,我想一个合格的工程师总是为此感到骄傲的。

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

    关注

    59

    文章

    1565

    浏览量

    68397
收藏 人收藏

    评论

    相关推荐

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

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

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

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

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

    嵌入式软件工程师和硬件工程师的区别? 嵌入式软件工程师 嵌入式软件工程师是软件开发领域中的种专业工程师
    发表于 05-16 11:00

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

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

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

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

    #人工智能 #FPGA 怎么成为个合格的FPGA工程师

    fpga工程师
    明德扬助教小易老师
    发布于 :2023年12月18日 21:19:01

    电子工程师天上班就暴揍师傅。。。#科普 #示波器 #电子工程师 #打工日记

    电子工程师示波器
    安泰小课堂
    发布于 :2023年12月18日 17:36:12

    FPGA工程师需要具备哪些技能?

    。 FPGA工程师在进行DSP电路设计之前,需要深入了解数字信号处理技术。他们需要掌握数字信号处理中的概念和基础知识,例如滤波器、傅里叶变换、数字信号采样等。FPGA工程师还需要了解一些DSP开发板
    发表于 11-09 11:03