FPGA工程师成长四阶段
朋友,你有入行三年、五年、十年的职业规划吗?你知道你所做的岗位未来该如何成长吗?
FPGA行业的发展近几年是蓬勃发展,有越来越多的人才想要或已经踏进了FPGA行业的大门。很多同学在入行FPGA之前,都会抱着满腹对职业发展的疑问。已经入门的朋友,或多或少也对未来的职业发展有过迷茫。
作为FPGA产品开发的关键环节,FPGA开发岗位也备受关注。FPGA开发工程师从小白到资深的路,应该如何走?
一、小白阶段
首先,是小白阶段。
处于入门阶段的你,刚刚接触FPGA行业,需要不断汲取知识,建立起知识架构。
你需要开始梳理FPGA开发流程,包括设计输入、仿真、综合、实现、下载和调试等过程。通过教材图书、在线课程等资源,学习数字电路基础知识、Verilog/VHDL硬件描述语言、FPGA器件架构等。慢慢熟悉常用接口协议、算法和基本架构。工具方面,对于EDA工具软件(如Vivado、Quartus Prime、ModelSim等)需要掌握基本操作。
众所周知,FPGA行业重经验重技术。
除了上述理论知识,项目经验的重要性不言而喻。拥有项目经验等于拥有了一块含金量很高的敲门砖。如果有任何实习、比赛、培训机会,请抓住。参加像宸极教育这样的专业FPGA培训机构,可以系统且高效地学习FPGA知识,并积累宝贵的项目经验。
俗话说万事开头难,这个阶段以学为主,需要投入大量的时间、精力。甚至很多转行的朋友,可能还需要再额外参加培训班,进行系统且高效的学习、积累项目经验。
二、初级工程师
接下来,是初级工程师阶段。
入行的前1-3年,这是作为一名FPGA开发工程师的基础阶段,你必须能够保质且保量的完成项目工作。
你需要根据项目需求,完成模块的设计、编码、仿真和验证。熟悉FPGA开发流程,能够独立完成简单的FPGA项目,例如简单的通信模块、数据处理模块、控制逻辑等。根据项目需求,撰写设计文档和测试报告。负责模块的集成和调试,解决项目中遇到的问题。
在这个阶段,学习借鉴一些经典设计案例、请教前辈、查阅相关文档和应用笔记……都会是你积累经验的辅助手段。良好的工作习惯的养成和工程师思维的形成,也都会在这个阶段逐渐培养起来。
薪资方面,学历、经验不同,薪资水平自然也不同。根据网络招聘信息和行业调研,985/211硕士起薪20-35W,985/211本科+双非硕士起薪18-25W,双非本科起薪12-20W。(以上数据仅供参考,实际薪资会因地区、公司、具体岗位等因素有所差异。)
随着工作年限增长和工作经验积累,企业自然也有相应的涨薪政策。以入职25W为例,年涨幅15%-20%,3年后就是年薪35W-40W左右。
三、中级工程师
继续成长,是中级工程师阶段。
这时的你已经入行4-6年了,经历过多个项目,积累了不少设计经验和解决问题的能力,很多工作已经开始变得游刃有余。
比如,你能够在这个阶段熟练掌握各种脚本语言(如Tcl、Python等),掌握各类EDA工具的高级用法。当项目发生问题后,你能够迅速定位并提出有效的解决方案。这个阶段的你,技术深度和广度都有了显著提升,所以需要在初级工程师的基础上,寻求突破——突破自己在初级阶段积累的基础能力,开始接触更复杂、更具挑战性的项目。
如果有不同应用领域的业务机会,可以去多做尝试,例如从通信领域转向图像处理或硬件加速等。避免多年如一日做重复的工作,最终沦为一颗螺丝钉。
薪资方面,不同方向、不同技术、不同经验的工程师也各不相同。不谈跳槽涨薪,只谈在一家公司深耕的话,第6年的薪资也会在35W-50W之间。
对未来的职业规划,你的内心也已经有了轮廓,技术路线or管理路线,你也会有大致的方向。
四、高级工程师
成长的里程碑之一,是高级工程师阶段。
这时的你入行7-9年,熟悉FPGA产品开发的各个环节,已经是非常成熟稳重的高级工程师了。高级工程师需要更加具备全局观和团队观。你的工作内容早就包括但不限于初、中级的内容了。
比如,你需要按照产品需求完成FPGA架构设计、逻辑设计、验证和优化,满足功能、性能和功耗要求。负责复杂FPGA系统的集成和调试,解决系统级的问题。除此之外,新人带教、团队配合、项目管理等也是高级工程师众多工作中的一小部分。
高级工程师,已经深耕多年,自身所具备的经验就是弥足珍贵的财富,薪资50W-80W甚至更高都是可能的。
学习与进步也永无止境,成为高级工程师的你,可以开始考虑走技术还是走管理。走技术,负责起整个FPGA系统的架构设计和集成,未来转架构师或技术专家也是一种选择。走管理,用自己的实际经验带领团队完成项目,未来成为项目经理、技术总监等同样是一种选择。
随着时间的推移,资深、专家的名头也会逐渐冠之你名。年薪百万也并非遥不可及。

结语
最后,分享最近读到的一段话:
“应该有一个20年的梦想,尽可能大些,尽可能抽象一点。因为你知道20年是很长的时间,可以发生任何事情,这个计划主要以你的梦想为主。 给自己一个不超过10年的理想,这个计划主要以培养和发展你的核心竞争力为主。 对新的机会和趋势永远保持警醒。” 与君共勉。
相关文章:
FPGA工程师成长四阶段
朋友,你有入行三年、五年、十年的职业规划吗?你知道你所做的岗位未来该如何成长吗? FPGA行业的发展近几年是蓬勃发展,有越来越多的人才想要或已经踏进了FPGA行业的大门。很多同学在入行FPGA之前,都会抱着满腹对职业发…...
java fastjson2 解析JSON用法解析
Fastjson2 是 Fastjson 的升级版本,提供了更好的性能和扩展性,同时也在 API 和功能上做了很多改进。使用 Fastjson2 解析 JSON 数据非常简单,支持多种方式来解析 JSON 字符串、嵌套 JSON 对象和数组、以及转换成 Java 对象。下面详细介绍 Fas…...
计算机视觉算法实战——步态识别(主页有源码)
✨个人主页欢迎您的访问 ✨期待您的三连 ✨ ✨个人主页欢迎您的访问 ✨期待您的三连 ✨ ✨个人主页欢迎您的访问 ✨期待您的三连✨ 1. 步态识别简介✨✨ 步态识别(Gait Recognition)是计算机视觉领域中的一个…...
LabVIEW水位监控系统
LabVIEW开发智能水位监控系统通过集成先进的传感技术与控制算法,为工业液体存储提供精确的水位调控,保证了生产过程的连续性与安全性。 项目背景 在化工和饮料生产等行业中,水位控制的准确性对保证生产安全和提高产品质量至关重要。传统的水…...
网络层协议-----IP协议
目录 1.认识IP地址 2.IP地址的分类 3.子网划分 4.公网IP和私网IP 5.IP协议 6.如何解决IP地址不够用 1.认识IP地址 IP 地址(Internet Protocol Address)是指互联网协议地址。 它是分配给连接到互联网的设备(如计算机、服务器、智能手机…...
计算机网络八股文学习笔记
总结来自于javaguide,本文章仅供个人学习复习 javaguide计算机网络八股 文章目录 计算机网络基础网络分层模型OSI七层模型TCP/IP四层模型 HTTP从输入URL到页面展示到底发生了什么?(非常重要)HTTP状态码HTTP Header中常见的字段有哪些?HTTP和HTTPS有什么区别?(重要)HTTP/1.0和…...
IntelliJ IDEA中Maven项目的配置、创建与导入全攻略
大家好,我是袁庭新。 IntelliJ IDEA是当前最流行的Java IDE(集成开发环境)之一,也是业界公认最好用的Java开发工具之一。IntelliJ IDEA支持Maven的全部功能,通过它我们可以很轻松地实现创建Maven项目、导入Maven项目、…...
如何在Jupyter中快速切换Anaconda里不同的虚拟环境
目录 介绍 操作步骤 1. 选择环境,安装内核 2. 注册内核 3. 完工。 视频教程 介绍 很多网友在使用Jupyter的时候会遇到各种各样的问题,其中一个比较麻烦的问题就是我在Anaconda有多个Python的环境里面,如何让jupyter快速切换不同的Pyt…...
stack和queue专题
文章目录 stack最小栈题目解析代码 栈的压入弹出序列题目解析代码 queue二叉树的层序遍历题目解析代码 stack stack和queue都是空间适配器 最小栈 最小栈的题目链接 题目解析 minst是空就进栈,或者是val < minst.top()就进栈 代码 class MinStack { public:M…...
【Vue】点击侧边导航栏,右侧main对应显示
需求:点击侧边导航栏,右侧main对应显示 通过v-if或v-show等指令来控制不同内容的显示隐藏来实现 注意: 使用v-if时候进行导航栏切换,右侧显示区域可能会出现样式错乱;使用v-show则不会出现此错误 <template>&…...
【Debug】django.db.utils.OperationalError: (1040, ‘Too many connections‘)
报错: django.db.utils.OperationalError: (1040, ‘Too many connections‘) 排查 可能是Mysql的连接数量超过了允许的最大连接数量; 查看Mysql允许最大连接数量: -- 查看允许连接的最大数量 SHOW VARIABLES LIKE %max_connections%;-- 查…...
如何开放2375和2376端口供Docker daemon监听
Linux (以 Ubuntu 为例) 1. 修改 Docker 配置文件 打开 Docker 的配置文件 /etc/docker/daemon.json。如果该文件不存在,则可以创建一个新的。 bash sudo nano /etc/docker/daemon.json在配置文件中添加以下内容: json {"hosts": ["un…...
RabbitMQ确保消息可靠性
消息丢失的可能性 支付服务先扣减余额和更新支付状态(这俩是同步调用),然后通过RabbitMq异步调用支付服务更新订单状态。但是有些情况下,可能订单已经支付 ,但是更新订单状态却失败了,这就出现了消息丢失。…...
前端常见的设计模式之【单例模式】
前端常见的设计模式: 单例模式观察者模式工厂模式适配器模式装饰器模式命令模式迭代器模式组合模式策略模式发布订阅模式 单例模式【创建型设计模式】: 单例模式是确保一个类只有一个实例,并提供一个全局访问点。这个模式非常适合那些需要…...
【React】脚手架进阶
目录 暴露webpack配置package.json的变化修改webpack.config.js配置less修改域名、端口号浏览器兼容处理处理跨域 暴露webpack配置 react-scripts对脚手架中的打包命令进行封装,如何暴露这些打包配置呢?上篇写到在package.json中的scripts配置项中有eje…...
win32汇编环境,窗口程序中单选框的一般操作示例
;运行效果 ;win32汇编环境,窗口程序中单选框的一般操作示例 ;比如在窗口程序中生成单选框,默认哪项选中,判断当前选中哪一项,让哪项选中,得到选中项的名称等 ;直接抄进RadAsm可编译运行。重点部分加备注。 ;以下是ASM文件 ;>&g…...
如何移除git中被跟踪的commit文件
忽略已被跟踪的文件 问题描述 如果某个文件已经被 Git 跟踪(即已被提交到仓库),即使后来将其添加到 .gitignore 文件中,Git 仍会继续跟踪它。 解决方案 更新 .gitignore 文件 将需要忽略的文件加入 .gitignore: .env…...
结合night compute分析 利用tensor core 优化K值较大的矩阵乘(超过cublas50%)
一 night compute分析 将cublas作为base line和现有的代码分析 图1.1 可以发现计算吞吐量明显偏低,能想到的就是计算单元处于空闲的概率较大,是访存密集型算子,因此可以增大数据的吞吐量,多给计算单元提供数据 二 代码 #include "common.h"//mma计算的基本尺…...
Docker 部署 Typecho
1. 官网 https://typecho.org/插件 & 主题 https://github.com/typecho-fans/plugins https://typechx.com/ https://typecho.work/2. 通过 compose 文件安装 github官网: https://github.com/typecho/Dockerfile 新建一个目录,存放 typecho 的相…...
【大数据】机器学习-----模型的评估方法
一、评估方法 留出法(Holdout Method): 将数据集划分为训练集和测试集两部分,通常按照一定比例(如 70% 训练集,30% 测试集)。训练集用于训练模型,测试集用于评估模型性能。优点&…...
Chapter03-Authentication vulnerabilities
文章目录 1. 身份验证简介1.1 What is authentication1.2 difference between authentication and authorization1.3 身份验证机制失效的原因1.4 身份验证机制失效的影响 2. 基于登录功能的漏洞2.1 密码爆破2.2 用户名枚举2.3 有缺陷的暴力破解防护2.3.1 如果用户登录尝试失败次…...
应用升级/灾备测试时使用guarantee 闪回点迅速回退
1.场景 应用要升级,当升级失败时,数据库回退到升级前. 要测试系统,测试完成后,数据库要回退到测试前。 相对于RMAN恢复需要很长时间, 数据库闪回只需要几分钟。 2.技术实现 数据库设置 2个db_recovery参数 创建guarantee闪回点,不需要开启数据库闪回。…...
Mybatis逆向工程,动态创建实体类、条件扩展类、Mapper接口、Mapper.xml映射文件
今天呢,博主的学习进度也是步入了Java Mybatis 框架,目前正在逐步杨帆旗航。 那么接下来就给大家出一期有关 Mybatis 逆向工程的教学,希望能对大家有所帮助,也特别欢迎大家指点不足之处,小生很乐意接受正确的建议&…...
FastAPI 教程:从入门到实践
FastAPI 是一个现代、快速(高性能)的 Web 框架,用于构建 API,支持 Python 3.6。它基于标准 Python 类型提示,易于学习且功能强大。以下是一个完整的 FastAPI 入门教程,涵盖从环境搭建到创建并运行一个简单的…...
关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案
问题描述:iview使用table 中type: "index",分页之后 ,索引还是从1开始,试过绑定后台返回数据的id, 这种方法可行,就是后台返回数据的每个页面id都不完全是按照从1开始的升序,因此百度了下,找到了…...
【算法训练营Day07】字符串part1
文章目录 反转字符串反转字符串II替换数字 反转字符串 题目链接:344. 反转字符串 双指针法,两个指针的元素直接调转即可 class Solution {public void reverseString(char[] s) {int head 0;int end s.length - 1;while(head < end) {char temp …...
DIY|Mac 搭建 ESP-IDF 开发环境及编译小智 AI
前一阵子在百度 AI 开发者大会上,看到基于小智 AI DIY 玩具的演示,感觉有点意思,想着自己也来试试。 如果只是想烧录现成的固件,乐鑫官方除了提供了 Windows 版本的 Flash 下载工具 之外,还提供了基于网页版的 ESP LA…...
【Java_EE】Spring MVC
目录 Spring Web MVC 编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 编辑参数重命名 RequestParam 编辑编辑传递集合 RequestParam 传递JSON数据 编辑RequestBody …...
深入浅出深度学习基础:从感知机到全连接神经网络的核心原理与应用
文章目录 前言一、感知机 (Perceptron)1.1 基础介绍1.1.1 感知机是什么?1.1.2 感知机的工作原理 1.2 感知机的简单应用:基本逻辑门1.2.1 逻辑与 (Logic AND)1.2.2 逻辑或 (Logic OR)1.2.3 逻辑与非 (Logic NAND) 1.3 感知机的实现1.3.1 简单实现 (基于阈…...
MySQL JOIN 表过多的优化思路
当 MySQL 查询涉及大量表 JOIN 时,性能会显著下降。以下是优化思路和简易实现方法: 一、核心优化思路 减少 JOIN 数量 数据冗余:添加必要的冗余字段(如订单表直接存储用户名)合并表:将频繁关联的小表合并成…...
