Brady Pomerleau
Verified Expert in Engineering
Real-time Embedded Systems Developer
布雷迪有三年的软件工程师经验. 他的经验主要是在C/ c++的嵌入式固件方面. He also has significant experience with CICD, GitLab, 用于测试自动化和Python的Docker和脚本. 布雷迪在思科公司有网络方面的经验, Apache中的I型管理程序和全栈开发, Flask, Go, Bootstrap.
Portfolio
Experience
Availability
Preferred Environment
Unix, Windows, Visual Studio Code (VS Code)
The most amazing...
...我开发的项目是一个动态网络拓扑生成器,用于开发和测试网络设备.
Work Experience
Manager of Software Engineering
FulcrumAir
- 开发新功能并解决机器人固件中的问题.
- 创建和维护新的和现有的库,用于与外围传感器和执行器接口.
- 使用示波器和软件调试进行嵌入式系统网络故障排除.
- 为机器人固件使用了CI构建管道.
- 将整个嵌入式系统应用程序从ArduPilot迁移到PX4自动驾驶仪.
- 实现了基于qt的地面控制站的新功能和bug修复.
Software Engineer
FulcrumAir
- 开发机器人和无人机嵌入式控制软件(c++).
- 设计和开发各种驱动器的执行器和传感器.
- 调谐PID控制器增益和执行器定时机器人和无人机.
Software Engineer
General Dynamics Mission Systems-Canada
- 设计并实现了一个动态网络拓扑生成器,用于开发和测试网络和通信设备, including front-end, API, and back-end services.
- 开发了嵌入式通信软件的新功能和bug修复.
- 在使用IBM CLM软件的SAFe敏捷项目管理环境中计划开发活动.
- Managed on-premises build, test, 以及使用GitLab CI/CD部署CI/CD管道, Python, Docker, and XCP-ng.
- 创建内部SaaS工具和应用程序,以提高开发人员的效率和生活质量.
- 部署了一个反向代理服务器,以提供对整个组织的SaaS工具的访问.
- Generated and maintained various documentation, including version description documents, firmware description documents, and numerous how-to guides and white papers.
- 自动生成和维护测试结果和验证交叉参考矩阵.
DevOps Engineer
General Dynamics Mission Systems-Canada
- 为20多个软件项目开发了CI/CD构建/测试/部署管道.
- 实现自定义插件Wireshark包剖析.
- 更新了软件组件的发布文档.
Experience
Dynamic Network Topology Generator
我设计了一个管理交换机网络,它允许我们在不移动物理硬件的情况下动态创建和破坏网络拓扑. 我使用Python Flask和Apache编写了一个REST API来接受YAML拓扑文件. 通过在被管理交换机上创建VLAN隧道,生成文件中指定的网络拓扑. 使用MySQL数据库跟踪可用资源和活动隧道.
后来,我用Go为系统开发了一个命令行界面. CLI可以创建、列出和销毁活动网络. 该接口将缓存规范化拓扑,并按名称引用它们,而不是在每次需要创建时提供文件.
这个动态网络生成器使我们能够在一夜之间将可用的自动化测试时间增加一倍,这对项目在COVID-19大流行期间的成功至关重要.
Battery-Powered DSLR Gimbal Prototype
我设计并制作了整个项目的原型,包括机械、电气和软件.
万向架的设计是为了允许围绕相机的光学中心而不是重心旋转. 它消耗更多的能量,但减少视差偏移.
我改编了一个开源的单反控制库,通过Arduino微控制器通过USB控制相机.
我做了一个可热插拔的电源转换器,用电动工具电池给万向节供电.
Reverse Proxy
实现反向代理是为了跨企业网络的多个段提供软件服务.
该服务器包括一个用Python Flask和Bootstrap实现的前端登陆页面. 这个页面有链接到我的反向代理代理的各种服务器.
使用OAuth2认证访问服务器.0.
Data Injection and Retrieval Using CLM API
收集数据的一些示例包括来自网络分析器的数据, test logs, and unit and integration test results.
从CLM套件中检索到的数据用于自动生成报告.
Skills
Languages
Python 3, c++, Python, SQL, VHDL, Java, c++ 11, Go, CSS, HTML, Bash Script, Bash, XML
Other
Software Development, Software Design, Real-time Embedded Systems, PX4 Autopilot, Scripting, APIs, Hardware, Full-stack, Physics, Algorithms, Operating Systems, Electrical Engineering, Digital Signal Processing, Multimedia Processing, Electronics, FPGA, ArduPilot, Cisco Networking, IEEE 802.1Q, Mechatronics, Multimedia, Power Supplies, Prototyping, Robotics, Video Processing, Statistics, Software, RHEL, Proxy Servers, VMware ESXi, Configuration Management, PID Controllers, Control Systems, Unmanned Aerial Vehicles (UAV), OAuth, RPC
Frameworks
Flask, Bootstrap, Windows PowerShell, Qt
Libraries/APIs
REST APIs, Protobuf, API Development
Tools
GitLab CI/CD, VirtualBox, Apache, Wireshark, GitLab, IBM RTC, DOORS, MSBuild
Platforms
Unix, Visual Studio Code (VS Code), Android, Docker, XenServer, Apache2, Arduino, Linux, Windows, Windows Server 2016
Paradigms
DevOps
Storage
数据库,MySQL, Elasticsearch, MongoDB, Redis
Education
Bachelor's Degree in Computer Engineering
University of Alberta - Edmonton, Alberta