当前位置: 首页 > article >正文

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之前,都会抱着满腹对职业发…...

计算机组成原理(2)王道学习笔记

数据的表示和运算 提问:1.数据如何在计算机中表示? 2.运算器如何实现数据的算术、逻辑运算? 十进制计数法 古印度人发明了阿拉伯数字:0,1,2,3,4,5,6&#…...

Spring中的事件和事件监听器是如何工作的?

目录 一、事件(Event) 二、事件发布器(Event Publisher) 三、事件监听器(Event Listener) 四、使用场景 五、总结 以下是关于Spring中的事件和事件监听器的介绍与使用说明,结合了使用场景&…...

3097. 或值至少为 K 的最短子数组 II

3097. 或值至少为 K 的最短子数组 II 题目链接&#xff1a;3097. 或值至少为 K 的最短子数组 II 代码如下&#xff1a; class Solution { public:int minimumSubarrayLength(vector<int>& nums, int k) {int res INT_MAX;for (int i 0;i < nums.size();i) {in…...

简化配置与动态表达式的 Spring EL

1 引言 在现代软件开发中,配置管理和动态逻辑处理是构建灵活、可维护应用程序的关键。Spring 框架以其强大的依赖注入和面向切面编程功能而闻名,而 Spring Expression Language (Spring EL) 则为开发者提供了一种简洁且强大的方式来简化配置并实现动态表达式。 1.1 Spring …...

erase() 【删数函数】的使用

**2025 - 01 - 25 - 第 48 篇 【函数的使用】 作者(Author) 文章目录 earse() - 删除函数一. vector中的 erase1 移除单个元素2 移除一段元素 二. map 中的erase1 通过键移除元素2 通过迭代器移除元素 earse() - 删除函数 一. vector中的 erase vector 是一个动态数组&#x…...

python实现http文件服务器访问下载

//1.py import http.server import socketserver import os import threading import sys# 获取当前脚本所在的目录 DIRECTORY os.path.dirname(os.path.abspath(__file__))# 设置服务器的端口 PORT 8000# 自定义Handler&#xff0c;将根目录设置为脚本所在目录 class MyHTT…...

在php中怎么打开OpenSSL

&#xff08;点击即可进入聊天助手&#xff09; 背景 在使用php做一些项目时,有用到用户邮箱注册等,需要开启openssl的能力 在php系统中openssl默认是关闭状态的,在一些低版本php系统中,有的甚至需要在服务器终端后台,手动安装 要打开OpenSSL扩展&#xff0c;需要进行以下步骤 …...

java构建工具之Gradle

自定义任务 任务定义方式&#xff0c;总体分为两大类:一种是通过 Project 中的task()方法,另一种是通过tasks 对象的 create 或者register 方法。 //任务名称,闭包都作为参数println "taskA..." task(A,{ }) //闭包作为最后一个参数可以直接从括号中拿出来println …...

二次封装的方法

二次封装 我们开发中经常需要封装一些第三方组件&#xff0c;那么父组件应该怎么传值&#xff0c;怎么调用封装好的组件原有的属性、插槽、方法&#xff0c;一个个调用虽然可行&#xff0c;但十分麻烦&#xff0c;我们一起来看更简便的方法。 二次封装组件&#xff0c;属性怎…...

基于Springboot用axiospost请求接收字符串参数为null的解决方案

问题 ​ 今天在用前端 post 请求后端时发现&#xff0c;由于是以 Json对象的形式传输的&#xff0c;后端用两个字符串形参无法获取到对应的参数值 前端代码如下&#xff1a; axios.post(http://localhost:8083/test/postParams,{a: 1, b:2} ,{Content-Type: application/jso…...

STM32 OLED屏配置

1.OLED简介 OLED&#xff08;Organic Light Emitting Diode&#xff09;&#xff1a;有机发光二极管 OLED显示屏&#xff1a;性能优异的新型显示屏&#xff0c;具有功耗低、相应速度快、宽视角、轻薄柔韧等特点 0.96寸OLED模块&#xff1a;小巧玲珑、占用接口少、简单易用&a…...

DiffuEraser: 一种基于扩散模型的视频修复技术

视频修复算法结合了基于流的像素传播与基于Transformer的生成方法&#xff0c;利用光流信息和相邻帧的信息来恢复纹理和对象&#xff0c;同时通过视觉Transformer完成被遮挡区域的修复。然而&#xff0c;这些方法在处理大范围遮挡时常常会遇到模糊和时序不一致的问题&#xff0…...

策略模式 - 策略模式的使用

引言 在软件开发中&#xff0c;设计模式是解决常见问题的经典解决方案。策略模式&#xff08;Strategy Pattern&#xff09;是行为型设计模式之一&#xff0c;它允许在运行时选择算法的行为。通过将算法封装在独立的类中&#xff0c;策略模式使得算法可以独立于使用它的客户端…...

Leetcode40: 组合总和 II

题目描述&#xff1a; 给定一个候选人编号的集合 candidates 和一个目标数 target &#xff0c;找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的每个数字在每个组合中只能使用 一次 。 注意&#xff1a;解集不能包含重复的组合。 代码思路&#xff…...

STM32完全学习——RT-thread在STM32F407上移植

一、写在前面 关于源码的下载&#xff0c;以及在KEIL工程里面添加操作系统的源代码&#xff0c;这里就不再赘述了。需要注意的是RT-thread默认里面是会使用串口的&#xff0c;因此需要额外的进行串口的初始化&#xff0c;有些人可能会问&#xff0c;为什么不直接使用CubMAX直接…...

React应用深度优化与调试实战指南

一、渲染性能优化进阶 1.1 精细化渲染控制 typescript 复制 // components/HeavyComponent.tsx import React, { memo, useMemo } from react;interface Item {id: string;complexData: {// 复杂嵌套结构}; }const HeavyComponent memo(({ items }: { items: Item[] }) &g…...

QT TLS initialization failed

qt使用QNetworkAccessManager下载文件&#xff08;给出的链接可以在浏览器里面下载文件&#xff09;&#xff0c;下载失败&#xff0c; 提示“TLS initialization failed”通常是由于Qt在使用HTTPS进行文件下载时&#xff0c;未能正确初始化TLS&#xff08;安全传输层协议&…...

全面了解 Web3 AIGC 和 AI Agent 的创新先锋 MelodAI

不管是在传统领域还是 Crypto&#xff0c;AI 都是公认的最有前景的赛道。随着数字内容需求的爆炸式增长和技术的快速迭代&#xff0c;Web3 AIGC&#xff08;AI生成内容&#xff09;和 AI Agent&#xff08;人工智能代理&#xff09;正成为两大关键赛道。 AIGC 通过 AI 技术生成…...

Golang之Context详解

引言 之前对context的了解比较浅薄&#xff0c;只知道它是用来传递上下文信息的对象&#xff1b; 对于Context本身的存储、类型认识比较少。 最近又正好在业务代码中发现一种用法&#xff1a;在每个协程中都会复制一份新的局部context对象&#xff0c;想探究下这种写法在性能…...

VSCode+Continue实现AI辅助编程

Continue是一款功能强大的AI辅助编程插件&#xff0c;可连接多种大模型&#xff0c;支持代码设计优化、错误修正、自动补全、注释编写等功能&#xff0c;助力开发人员提高工作效率与代码质量。以下是其安装和使用方法&#xff1a; 一、安装VSCode 参见&#xff1a; vscode安…...

Python 在Word中添加、或删除超链接

在Word文档中&#xff0c;超链接是一种将文本或图像连接到其他文档、网页或同一文档中不同部分的功能。通过添加超链接&#xff0c;用户可以轻松地导航到相关信息&#xff0c;从而增强文档的互动性和可读性。本文将介绍如何使用Python在Word中添加超链接、或删除Word文档中的超…...

Oracle迁移DM数据库

Oracle迁移DM数据库 本文记录使用达梦官方数据迁移工具DTS&#xff0c;将Oracle数据库的数据迁移至达梦数据库。 1 数据准备 2 DTS工具操作步骤 2.1 创建工程 打开DTS迁移工具&#xff0c;点击新建工程&#xff0c;填写好工程信息&#xff0c;如图&#xff1a; 2.2 新建迁…...

Spring Boot整合JavaMail实现邮件发送

一. 发送邮件原理 发件人【设置授权码】 - SMTP协议【Simple Mail TransferProtocol - 是一种提供可靠且有效的电子邮件传输的协议】 - 收件人 二. 获取授权码 开通POP3/SMTP&#xff0c;获取授权码 授权码是QQ邮箱推出的&#xff0c;用于登录第三方客户端的专用密码。适用…...

编辑器Vim基本模式和指令 --【Linux基础开发工具】

文章目录 一、编辑器Vim 键盘布局二、Linux编辑器-vim使用三、vim的基本概念正常/普通/命令模式(Normal mode)插入模式(Insert mode)末行模式(last line mode) 四、vim的基本操作五、vim正常模式命令集插入模式从插入模式切换为命令模式移动光标删除文字复制替换撤销上一次操作…...

K8S极简教程(4小时快速学会)

1. K8S 概览 1.1 K8S 是什么 K8S官网文档&#xff1a;https://kubernetes.io/zh/docs/home/ 1.2 K8S核心特性 服务发现与负载均衡&#xff1a;无需修改你的应用程序即可使用陌生的服务发现机制。存储编排&#xff1a;自动挂载所选存储系统&#xff0c;包括本地存储。Secret和…...

淘宝商品数据解析的应用场景有哪些?

淘宝商品数据解析在多个领域有着广泛的应用场景&#xff0c;以下为你详细介绍&#xff1a; 电商运营与营销 选品分析&#xff1a;通过解析淘宝商品数据&#xff0c;卖家可以了解不同商品的销售情况、价格区间、市场需求热度等信息。例如分析某类商品在不同季节的销量变化&#…...

基于OpenCV实现的答题卡自动判卷系统

一、图像预处理 🌄 二、查找答题卡轮廓 📏 三、透视变换 🔄 四、判卷与评分 🎯 五、主函数 六、完整代码+测试图像集 总结 🌟 在这篇博客中,我将分享如何使用Python结合OpenCV库开发一个答题卡自动判卷系统。这个系统能够自动从扫描的答题卡中提取信…...

计网week1+2

计网 一.概念 1.什么是Internet 节点&#xff1a;主机及其运行的应用程序、路由器、交换机 边&#xff1a;通信链路&#xff0c;接入网链路主机连接到互联网的链路&#xff0c;光纤、网输电缆 协议&#xff1a;对等层的实体之间通信要遵守的标准&#xff0c;规定了语法、语义…...

如何使用tushare pro获取股票数据——附爬虫代码以及tushare积分获取方式

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、pandas是什么&#xff1f;二、使用步骤 1.引入库2.读入数据 总结 一、Tushare 介绍 Tushare 是一个提供中国股市数据的API接口服务&#xff0c;它允许用户…...