-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.html
More file actions
383 lines (338 loc) · 14.6 KB
/
index.html
File metadata and controls
383 lines (338 loc) · 14.6 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
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<style>
* {
font-family: sans-serif;
}
a,
a:visited {
color: teal;
text-decoration: underline;
}
h1 {
margin-bottom: 15px;
}
h2,
h3,
h4,
h5 {
margin: 0;
}
h3 {
text-decoration: underline;
}
ul {
margin-top: 7px;
}
#body {
display: grid;
}
#mid {
order: -1;
}
#left,
#mid,
#right {
padding: 12px 16px;
margin: 8px 8px;
background-color: #f7f7f7;
}
#left {
margin-left: 0;
}
#mid,
#right {
margin-right: 0;
}
#lang-lib-tools {
display: grid;
grid-template-columns: repeat(auto-fit, 100px);
}
.noul {
text-decoration: none;
}
@media screen and (min-width: 810px) {
#left {
order: -1;
grid-row-end: span 2;
}
#mid {
order: 0;
}
#body {
max-width: 1060px;
margin: auto;
grid-template-columns: 6fr 3fr;
grid-template-rows: auto 1fr;
}
}
@media print {
#body {
display: inline;
margin: 0;
}
#left,
#mid,
#right {
margin-left: 0;
margin-right: 0;
}
li {
font-size: 1em;
}
body {
width: 100%;
margin: 0;
}
#lang-lib-tools {
display: flex;
}
#rgroup {
display: grid;
grid-template-columns: 3fr 2fr;
grid-template-rows: auto 1fr;
}
#rmid {
/* order: 1; */
grid-row-end: span 2;
}
#rtop {
/* order: 2; */
}
#rbot {
/* order: 3; */
}
}
</style>
<title>Jagvir's Resume</title>
</head>
<body>
<center style="margin-bottom: 10px;">
<h1 id="title">Jagvir Dehal - Software Developer</h1>
Email: <a href="mailto:jagvird216@gmail.com">jagvird216@gmail.com</a> | Github: <a
href="https://github.com/jagvirdehal">jagvirdehal</a> | LinkedIn: <a
href="https://linkedin.com/in/jagvirdehal/">jagvirdehal</a>
<br>
</center>
<div id="body">
<div id="mid">
<h2 id="summary">Summary</h2>
<hr>
<ul>
<li>Many years of experience working with <strong>C/C++</strong>, <strong>JavaScript</strong> and
<strong>Python</strong>
</li>
<li>Very well-versed in <strong>Linux</strong>, with several
years of experience using it as a desktop and server</li>
<li>Comfortable working with <strong>large codebases</strong>
(Tesla, AMD, Ford)</li>
<li>Well-practiced in <strong>operating systems</strong> and
<strong>real-time programming</strong>
</li>
<li>In-depth knowledge of <strong>firmware development</strong>
at Tesla and Ford</li>
</ul>
</div>
<div id="left">
<div id="ltop">
<h2 id="work-experience">Work Experience</h2>
<hr>
<h3 id="tesla"><a href="https://tesla.com/">Tesla Motors</a></h3>
<h4>Maps and Navigation (C/C++, Go, Python)</h4>
<ul>
<li>Developed a vehicle simulator for navigation
validation (Python, C++)</li>
<li>Built a replacement for our firmware
networking code to utilize gRPC
(C++, Go)</li>
<li>Implemented a new weather radar service in
Go, which in turn, saved $1.8 million.</li>
<li>Integrated an AWS Client into our Navigation
infrastructure to significantly reduce costs and
deployment time</li>
<li>Reproduced and patched a 2 year old
networking bug in our production
K8s deployment, as well as an
ETA update bug caused by a race
condition</li>
<li>Contibuted a total of 122 PRs throughout the
internship</li>
</ul>
<h3 id="ford"><a href="https://ford.com/">Ford Motor Company</a></h3>
<h4>Bluetooth Drivers (C/C++)</h4>
<ul>
<li>Developed a tool to tunnel UART bluetooth
data from an Android device (car) over a
TCP/IP socket to a Linux workstation in
C</li>
<li>Cleaned up <strong>10,000+ bugs</strong> and warnings in a large <strong>C/C++ and Java</strong>
codebase</li>
<li>Worked on <a href="https://www.bluetooth.com/specifications/specs/core-specification-5-4/"
class="noul">filtering PIIs</a> from Bluetooth packets using <strong>C/C++</strong> and
<strong>Wireshark</strong>
</li>
<li>Gained a solid understanding of the <strong>Make/SOONG</strong> build system in
<strong>AOSP</strong>
</li>
</ul>
<h3 id="amd"><a href="https://amd.com/">Advanced Micro Devices (AMD)</a></h3>
<h4>Display Abstraction Layer (C/C++)</h4>
<ul>
<li>Updated 4 year old driver code for an <strong>FPGA GPU</strong>
to enable DisplayPort over USB 4 using
latest drivers.</li>
<li>Refined my ability to use debug tools such
as gdb and WindDBG to quickly understand
a massive C/C++ codebase (the AMD display driver).</li>
<li>Resolved issues and completed <strong>USB4
compliance</strong> process for Ryzen
6000 mobile GPUs using Voyager M4x, UCD-400, and
debugging tools</li>
</ul>
<h3 id="ncr"><a href="https://www.ncr.com/">NCR Corporation</a></h3>
<h4>Systems Software/Architecture (Python)</h4>
<ul>
<li>Developed a <strong>firewall automation portal</strong> to enhance NCR's new security policies
</li>
<li>Learned and utilized new technologies such as <strong>Ansible Tower (AWX)</strong>,
<strong>Fortinet</strong>, and <strong>LDAP</strong>
</li>
<li>Collaborated <strong>remotely</strong> with teams in India, Ireland and USA</li>
<li>Submitted a <strong>professional report</strong> to NCR's security team to support the adoption
of my firewall portal</li>
</ul>
</div>
<div id="lbot">
<h2 id="projects">Projects</h2>
<hr>
<h3 id="microkernel">Real-time Operating System from Scratch</h3>
<h4>(C++)</h4>
<ul>
<li>Created a microkernel OS for a Raspberry Pi to control a
model train set from the 1980s</li>
<li>Implemented a scheduler, interrupt handler/controller,
and several user tasks to build up our operating
system in C</li>
<li>Created several patches to <a href="https://github.com/jagvirdehal/qemu/pull/1">QEMU's
source code</a> to implement Raspi functionality
that was not yet implemented</li>
<li>Collected velocity and acceleration data of the model
trains to accurately predict their positions, avoid
collisions, and route them efficiently</li>
</ul>
<h3 id="compiler"><a href="https://github.com/jagvirdehal/java-compiler">Java Subset Compiler</a></h3>
<h4>(C++)</h4>
<ul>
<li>Created a compiler for a subset of the Java language in
C++</li>
<li>Autonomously tested compiler using the Fuzzing technique
via LibFuzzer and LibProtoBuf Mutator</li>
<li>Compiler performs scanning/parsing of source code,
static checking on the resulting abstract syntax
tree, and code generation into x86 assembly</li>
</ul>
<h3 id="customkeyboardfirmwarec">Custom Keyboard Firmware</h3>
<h4>(C)</h4>
<ul>
<li>Developed <strong>custom firmware</strong> for my ATMEGAU32 keyboard using <strong>QMK</strong>
</li>
<li>Implemented a <strong>feature</strong> to dynamically display my WPM on the keyboard via
backlights</li>
<li>Connected the keyboard to my <strong>smart home</strong> to control the lights and AC</li>
<li><strong>Goal:</strong> To gain experience with <strong>open source software</strong>, creating
<strong>firmware</strong> in <strong>C</strong>, and <strong>API</strong>s
</li>
</ul>
<h3 id="chess"><a href="https://github.com/jagvirdehal/chess">Chess Endgame Solver</a></h3>
<h4>(Python)</h4>
<ul>
<li>Developed a program that can arbitrarily solve endgame chess positions using <strong>graph
theory</strong></li>
<li><strong>Optimized</strong> algorithms to work with large datasets upwards of <strong>4.5 million
graph connections</strong></li>
<li>Utilizes <strong>data structure and algorithms</strong> knowledge to reduce time and space
complexity</li>
</ul>
<h3 id="flightsim"><a href="https://github.com/jagvirdehal/flight-sim">Flight Simulator</a></h3>
<h4>(JavaScript + Docker)</h4>
<ul>
<li>Developed an accessible flight simulation experience that uses a <strong>smartphone
accelerometer</strong> to control the airplane</li>
<li>Implemented camera controls and movement <strong>from scratch</strong> using primative computer
graphics (<strong>vectors, quaternions, etc.</strong>)</li>
</ul>
<h3 id="semisupervisedcnnimageclassificationpytorchkerassklearn"><a
href="https://github.com/jagvirdehal/CNN-imager">CNN Image Classification</a></h3>
<h4>(PyTorch)</h4>
<ul>
<li>Developed a project focused on improving <strong>CNN</strong> accuracy for <strong>image
classification</strong> from unlabeled data</li>
<li>Utilized <strong>Principal Component Analysis (PCA)</strong> to normalize and reduce image
complexity</li>
<li>Clustered images together using <strong>K-means</strong> clustering approach</li>
</ul>
</div>
</div>
<div id="right">
<h2 id="skills">Skills</h2>
<hr>
<div id="rgroup">
<div id="rtop">
<h3 id="languages">Languages | Knowledge | Tools</h3>
<div id="lang-lib-tools">
<ul id="lang">
<li>C/C++</li>
<li>Python</li>
<li>JavaScript</li>
<li>Go</li>
</ul>
<ul id="libs">
<li>React</li>
<li>Firmware</li>
<li>Graphics</li>
<li>Three.js</li>
</ul>
<ul id="tools">
<li>Linux</li>
<li>Docker</li>
<li>K8s</li>
<li>Git</li>
</ul>
</div>
</div>
<div id="rmid">
<h3 id="hackathons">Hackathons</h3>
<ul>
<li>Hack the North 2021</li>
<li>Hack the North 2020++</li>
<li>UofT Designathon 2020</li>
<li>StarterHacks 2020</li>
<li>Hack the North 2019</li>
<li>ETHWaterloo 2019</li>
<li>VikingHacks 2019 (organizer)</li>
<li>PCHacks 2019</li>
<li>WolfHacks 2018</li>
<li>Hack the Hammer 2018</li>
<li>UofT Local Hackday 2017</li>
</ul>
</div>
<div id="rbot">
<h2 id="education">Education</h2>
<hr>
<h3 id="uofw"><a href="https://uwaterloo.ca/">University of Waterloo</a></h3>
<h4>Computer Science (BCS)</h4>
<ul>
<li>Real Time Programming</li>
<li>Operating Systems</li>
<li>Data Structures & Algorithms</li>
<li>Computer Vision</li>
</ul>
</div>
</div>
</div>
</div>
</body>