现在是北京时间2019年11月28日,大学毕业已经工作四个多月。说来也是奇怪,大学里面明明主修机械电子工程,几乎是纯机械方向,毕业之后的工作却与主修的课程毫无关系。因为对机械这一行业毫无兴趣,大学里面花了点时间学了学C,做过一些项目。毕业设计又拿python写了个爬虫并且为它做了一个界面(当时整个机械学院唯一一个与计算机搭上边的毕业设计,本来没人选的被我捡了个漏)。想着毕业之后去深圳找一点程序员的工作干干,结果我这种非专业出身的很难找相关的工作,最终的最终找到了BIOS工程师这个职位。

当时面试的时候面的是软件工程师,工作了四个月之后才发现和想象的不太一样。BIOS工程师也算是软件工程师,但是做这一行代码写的会比较少(有那种很厉害的架构师,那种层次我体会不到,就拿我目前的理解来对这个职位进行分析),需要写的代码量并不多,但是需要理解的东西却是很多很多。举一个很简单的例子,Inter CPU 采用的架构是0X86架构,这个架构的历史十分长远,直到现在也是X86架构。哪怕是熟悉这个架构都绝非易事(所以说BIOS的架构师是真的厉害),里面设计的东西实在太多。我接触到好几个项目,一整个工程里面文件少的有2w,多的接近3w。文件格式也是有很多,随便数一下就有十几种。.c文件、.h文件、dsc、dec文件、uni、sd、vfr文件还有什么asl等等等等。我目前接触的基本就是上述这些。看别人博客说BIOS入门起码要两年,现在看来两年已经算是很快的了。做这行的好处就是这行里面所有的代码都不开源,不开源也就意味着想自学几乎不可能,市面上也没有教这种技术的培训班(甚至我到各大网站去搜索相关的学习资料,完全找不到,培训机构那么多,但是里面几乎看不到BIOS的影子)。导致这个行业入门难,招人也难。不像其他的码农到了年纪会被嫌弃,这个行业涉及太广泛,能做一辈子说的都不过分。

 说了太多不相关的东西了,今天是我写博客的第一天。我开始写博客的目的是记录和分享我学到的东西。希望让其他BIOS工程师少走一点点弯路,毕竟这一行找个资料都难如上青天。只有一大堆的英文spec慢慢看。

今天的博客就是这么多,废话太多了。之后的主要就是技术分享了。接下来的两篇博客不出意外的话应该是下面的内容:

  • 毕设中爬虫源码解析
  • edk2环境搭建以及一些基础教程

评论留言随缘回复,主要上班太忙,没时间看这些,闲下来了回看看评论回复一下。

一个刚入行的BIOS工程师的自我简介的更多相关文章

  1. [每日电路图] 7、设计一个PCB的流程及细节·总结——给外行的同学或刚入行的同学一个宏观鸟瞰电路板设计的大致流程的文章

    前言 最近两天使用AD14软件设计了一个蓝牙防丢器电路板(PCB)图纸,中间有一些细节在本文中记录下,方便下次设计PCB时参考.也希望能给外行的同学或刚入行的同学一个宏观鸟瞰电路板设计的大致流程的文章 ...

  2. 如何寻找设计灵感?写给刚入行的设计师(转自UI中国)

    如何寻找设计灵感?写给刚入行的设计师 如何寻找设计灵感? 这一次的文章,我想和大家聊聊年轻的设计师在没有那么多经验的情况下如何寻找设计师灵感.(希望这篇文章也能帮助感同身受的你) 每个设计师对设计都有 ...

  3. 入行数字IC验证的一些建议

    0x00 首先,推荐你看两本书,<"胡"说IC菜鸟工程师完美进阶>(pdf版本就行)本书介绍整个流程都有哪些岗位,充分了解IC行业的职业发展方向.<SoC设计方法 ...

  4. 社群公会GangSDK:程序员入行AI领域需要哪些技能?

    作为一名Android开发工程师,身边总有些同行很焦虑,看着人工智能越来越火,总是担心Android要不行了,所以,我们需要转行么?Android还能走多久?其实,无论是对于Android还是iOS开 ...

  5. 想要入行web前端要知道web前端的的基本工作职责

    入一行,要先知一行 ”:我们来看看web前端开发职位 无论什么门派都要做到的一些基本工作职责 首先,你必须是一个合格的“页面仔”,这个叫法不好听,但很生动: 我们都知道,所有呈现的内容都是基于HTML ...

  6. Python Web自动化测试入门与实战,从入门到入行

    Python Web自动化测试入门与实战 购买地址 · 京东:https://item.jd.com/69239480564.html   天猫:https://detail.tmall.com/it ...

  7. 入行数字IC验证后会做些什么?

    半年前,公众号写了第一篇推文<入行数字IC验证的一些建议>,介绍了IC小白可以如何一步一步地摸索入门数字IC验证,同时也在知乎发了这篇入门贴,并且衍生出很多额外基础的内容,收获了不少的浏览 ...

  8. .NET入行之工作后

    成长这条路上,有一些事已经渐渐的消失模糊的脑海里,而有一些事,则历历在目,终生铭记. 一切都是从大二下学期快结束的那段培训课程开始的,从此也算是入门了,这也是一条不归路. 在.NET入行之工作前一文中 ...

  9. 通过npm写一个cli命令行工具

    前言 如果你想写一个npm插件,如果你想通过命令行来简化自己的操作,如果你也是个懒惰的人,那么这篇文章值得一看. po主的上一篇文章介绍了定制自己的模版,但这样po主还是不满足啊,项目中我们频繁的需要 ...

随机推荐

  1. 浅谈Vue.js2.0核心思想

    Vue.js是一个提供MVVM数据双向绑定的库,专注于UI层面,核心思想是:数据驱动.组件系统. 数据驱动: Vue.js数据观测原理在技术实现上,利用的是ES5Object.defineProper ...

  2. C++ OpenSSL 之三:生成CSR文件

    1.等同于使用: openssl req -new -key "key_path" -out "save_path" -subj "/emailAdd ...

  3. nginx实现反向代理 配置多域名以及多端口号

    多个服务部署在同一个服务器,使用不同的端口. 一.思考过程 如果不想带上端口号,就只能访问 80 或 443 端口. 可以用过二级目录区分服务,通过反向代理转发到不同的 Server. 可以用过子域名 ...

  4. 面向对象高级A(反射,拦截方法)

    一等公民:只要可以把一个东西赋值给一个变量,这个东西就叫一等公民 断点调试 在想要加断点的地方用鼠标点击一下,会看到一个红色圆圈 变红的地方,程序执行到,就会暂停 断点应该加在报错之前,在错误代码上放 ...

  5. 用 tomcat 部署 Jenkins

    在tomcat 下面部署 Jenkins 版本 tomcat (7.0.94) +  jdk (7) + jenkins (2.46.3) 前两次没有部署成功,应该是 jdk 版本的问题, 如果不成功 ...

  6. LIST OF BEST OPEN SOURCE BLOCKCHAIN PLATFORMS

    https://www.blockchain-council.org/blockchain/list-of-best-open-source-blockchain-platforms/ Open so ...

  7. LA2955 Vivian难题——梅森素数

    题意 输入 $k$(1 \leq k \leq 100)个正整数 $p_1, p_2, ..., p_k$(1 < p_i < 2{31}),找出 $k$ 个非负整数 $e_i$ 使得 $ ...

  8. 并发设计模式:Immutability模式

    多个线程同时读写同一共享变量存在并发问题,其中的必要条件之一就是 读写 ,如果没有写,只存在读,是不会存在并发问题的. 如果让一个共享变量只有读操作,没有写操作,如此则可以解决并发问题.该理论的具体实 ...

  9. Ajax 与 Django

    目录 Django与AJAX orm优化查询: MTV 与 MVC模型 choices 参数 update 与 save的区别 AJAX导入: Jquery 实现AJAX ajax基本语法结构 原生J ...

  10. E437: terminal capability "cm" required 解决办法

    E437: terminal capability "cm" required 这个错误一般是环境变量TERM没有配置或者配置错误所致. 解决办法: 执行export TERM=x ...