Repository navigation
Expand file tree
/
Copy pathexperience.html
More file actions
111 lines (101 loc) · 10.3 KB
/
Copy pathexperience.html
File metadata and controls
111 lines (101 loc) · 10.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
<!DOCTYPE html>
<html lang="en" data-lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title data-en="Experience · Wenbo Zhi" data-zh="经历 · Wenbo Zhi">Experience · Wenbo Zhi</title>
<meta name="description" content="Wenbo Zhi, Electrical Engineering at the University of Waterloo. Embedded systems, firmware, real-time software and web projects.">
<meta name="theme-color" content="#3d2a7a">
<meta property="og:type" content="website">
<meta property="og:site_name" content="Wenbo Zhi">
<meta property="og:title" content="Experience · Wenbo Zhi">
<meta property="og:description" content="Wenbo Zhi, Electrical Engineering at the University of Waterloo. Embedded systems, firmware, real-time software and web projects.">
<meta property="og:url" content="https://mitchee30.github.io/personal-web/experience.html">
<meta property="og:image" content="https://mitchee30.github.io/personal-web/assets/img/og.jpg">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="630">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:image" content="https://mitchee30.github.io/personal-web/assets/img/og.jpg">
<link rel="icon" href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23ff9fc0' d='M12 1.5c.6 4.6 2.4 6.9 7 8.5-4.6 1.6-6.4 3.9-7 8.5-.6-4.6-2.4-6.9-7-8.5 4.6-1.6 6.4-3.9 7-8.5z'/%3E%3C/svg%3E">
<script>try{var l=new URLSearchParams(location.search).get("lang")||localStorage.getItem("lang")||((navigator.language||"").toLowerCase().indexOf("zh")===0?"zh":"en");document.documentElement.dataset.lang=l==="zh"?"zh":"en";}catch(e){}</script>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Fredoka:wght@500;600&family=M+PLUS+Rounded+1c:wght@400;500;700&family=ZCOOL+KuaiLe&display=swap" rel="stylesheet">
<link rel="stylesheet" href="assets/style.css">
</head>
<body data-sky="sunset">
<div class="bg" id="bg" aria-hidden="true"></div>
<header class="top">
<a class="brand" href="index.html"><svg viewBox="0 0 24 24" aria-hidden="true"><path fill="#fff" d="M12 1.5c.6 4.6 2.4 6.9 7 8.5-4.6 1.6-6.4 3.9-7 8.5-.6-4.6-2.4-6.9-7-8.5 4.6-1.6 6.4-3.9 7-8.5z"/><circle cx="19.5" cy="19" r="1.6" fill="#ffd3e6"/></svg>Wenbo Zhi</a>
<nav aria-label="Pages"><ul class="nav">
<li><a href="index.html"><span class="en">Home</span><span class="zh">首页</span></a></li>
<li><a href="about.html"><span class="en">About</span><span class="zh">关于我</span></a></li>
<li><a href="experience.html" aria-current="page"><span class="en">Experience</span><span class="zh">经历</span></a></li>
<li><a href="projects.html"><span class="en">Projects</span><span class="zh">作品</span></a></li>
<li><a href="contact.html"><span class="en">Say hi</span><span class="zh">联系我</span></a></li>
</ul></nav>
<div class="tools">
<button class="pill music-btn" type="button" data-music-toggle aria-pressed="false" aria-label="Play or pause music">
<span class="disc" aria-hidden="true"></span>
<span class="music-label">AM<small>T-Chenxi</small></span>
</button>
<button class="pill lang-btn" id="langBtn" type="button">中文</button>
</div>
<div class="music-hint" id="musicHint" role="status">
<span class="en">Music file not found. Put the song at <b>assets/music/am.m4a</b>.</span><span class="zh">没有找到音乐文件。请把歌曲放到 <b>assets/music/am.m4a</b>。</span>
</div>
</header>
<main id="main">
<p class="chapter">✦ <span class="en">6 pm, heading home</span><span class="zh">傍晚六点,下班路上</span></p>
<h1 class="page-title"><span class="en">Experience</span><span class="zh">经历</span></h1>
<p class="page-lede"><span class="en">The sun goes down on the working day. Here's where I've spent mine, newest first.</span><span class="zh">工作日的太阳落山了。这些是我工作过的地方,按时间倒序。</span></p>
<div class="timeline">
<article class="job">
<div class="panel">
<div class="job-head">
<div>
<h2><span class="en">Web Developer</span><span class="zh">网页开发</span></h2>
<div class="job-org"><span class="en">Electrium Mobility, UWaterloo design team</span><span class="zh">Electrium Mobility,滑铁卢大学电动交通设计团队</span></div>
</div>
<div class="job-when"><span class="en">Sep 2026 to now</span><span class="zh">2026 年 9 月至今</span></div>
</div>
<div class="job-stack">React, TypeScript, Tailwind CSS, Docusaurus</div>
<ul class="points"><li><span class="en">Redesigning the team website's homepage: a new <b>hero with its own illustration and light/dark mode</b>, a metrics band and a <b>project showcase</b>, each a separate React component with content in one data file.</span><span class="zh">重新设计团队官网首页:带自绘插图和<b>亮/暗模式</b>的新首屏、数据展示条和<b>项目展示区</b>,每块拆成独立的 React 组件,内容统一放在一个数据文件里。</span></li><li><span class="en">Built a <b>sponsorship enquiry form</b> (contact, organization, tier, message) so prospective sponsors can reach the team straight from the site.</span><span class="zh">做了独立的<b>赞助咨询表单</b>(联系人、机构、赞助档位、留言),潜在赞助商可以直接从网站联系团队。</span></li><li><span class="en">Sorted years of project docs into <b>six vehicle categories</b>, removing duplicates and leftover starter tutorials so the sidebar is easy to browse.</span><span class="zh">把多年积累的项目文档整理成<b>六大车型分类</b>,去掉重复页面和模板自带的教程,侧边栏一目了然。</span></li><li><span class="en">Moved the team roster into a single <b>team.json</b> and merged duplicate card components, cutting about 185 lines; self-hosted the fonts.</span><span class="zh">团队名单合并到一个 <b>team.json</b>,合并重复的卡片组件,删掉约 185 行代码;字体改为自托管。</span></li></ul>
</div>
</article>
<article class="job">
<div class="panel">
<div class="job-head">
<div>
<h2><span class="en">Control Software Intern</span><span class="zh">控制软件实习生</span></h2>
<div class="job-org"><span class="en">Sioux Technologies, Suzhou (hybrid)</span><span class="zh">Sioux Technologies,苏州(混合办公)</span></div>
</div>
<div class="job-when"><span class="en">Jan to Apr 2026</span><span class="zh">2026 年 1 月至 4 月</span></div>
</div>
<div class="job-stack">C++, NSIS, PowerShell, Linux, CODESYS</div>
<ul class="points"><li><span class="en">Programmed and calibrated parameters for the <b>Smart Controller</b> in Sioux's Smart Suite, keeping hardware in sync with host software in production.</span><span class="zh">为 Sioux 自研 Smart Suite 中的 <b>Smart Controller</b> 编程并标定参数,让硬件和上位机软件在生产环境中保持同步。</span></li><li><span class="en">Built an <b>atomic rollback mechanism</b> in NSIS and C++ that catches failed configuration writes mid-install and restores the last good state, bringing OS-level configuration errors <b>down to zero</b>.</span><span class="zh">用 NSIS 和 C++ 实现<b>原子回滚机制</b>:安装中途发现配置写入失败就自动恢复到上一个正常状态,把系统级配置错误<b>降到零</b>。</span></li><li><span class="en">Added <b>incremental caching</b> to legacy PowerShell build scripts so only changed components rebuild, cutting build time <b>75%</b> (20 min to 5 min).</span><span class="zh">给旧的 PowerShell 构建脚本加上<b>增量缓存</b>,只重新编译改动过的组件,构建时间缩短 <b>75%</b>(20 分钟降到 5 分钟)。</span></li><li><span class="en">Configured <b>PREEMPT_RT</b> real-time Linux kernels and CODESYS runtimes, tuning scheduler and interrupt latency for microsecond-level timing under production load.</span><span class="zh">配置 <b>PREEMPT_RT</b> 实时 Linux 内核并部署 CODESYS 运行环境,调优调度和中断延迟,在生产负载下保证微秒级实时性。</span></li></ul>
</div>
</article>
<article class="job">
<div class="panel">
<div class="job-head">
<div>
<h2><span class="en">Electrical Team Member</span><span class="zh">电气组成员</span></h2>
<div class="job-org"><span class="en">Midnight Sun Solar Car Team, UWaterloo</span><span class="zh">Midnight Sun 太阳能赛车队,滑铁卢大学</span></div>
</div>
<div class="job-when"><span class="en">Jan 2026 to now</span><span class="zh">2026 年 1 月至今</span></div>
</div>
<div class="job-stack">PCB, CAN bus, C++, Git</div>
<ul class="points"><li><span class="en">PCB testing, precision soldering and wire harnessing on vehicle electronics, reading schematics and datasheets to catch integration issues before they reach the car.</span><span class="zh">负责整车电子系统的 PCB 测试、精密焊接和线束制作,直接读原理图和数据手册,在问题上车前发现集成隐患。</span></li><li><span class="en">Helping build a telemetry pipeline that models solar-array power under changing weather and track conditions to support race-strategy calls.</span><span class="zh">参与搭建遥测数据管道,根据天气和赛道条件建模太阳能板发电功率,为比赛策略提供依据。</span></li><li><span class="en">Re-tuned interrupt timing on BMS communication to stop dropped and corrupted CAN frames under electrical noise.</span><span class="zh">重新调整 BMS 通信的中断时序,消除电气噪声下 CAN 总线的丢帧和错帧。</span></li></ul>
</div>
</article>
</div>
</main>
<footer class="foot">
<span class="en">Designed and built by Wenbo Zhi in Waterloo. Music: “AM” by T-Chenxi.</span><span class="zh">由 Wenbo Zhi 在滑铁卢设计制作。背景音乐:T-Chenxi《AM》。</span>
</footer>
<script src="assets/scenes.js"></script>
<script src="assets/site.js"></script>
<script src="assets/extras.js"></script>
</body>
</html>