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
|
import React from 'react'
import Layout from '../components/layout'
import { Project } from '../components/project'
import startupOfTheYear from '../images/startup-of-the-year.jpg'
import brnklAppMap from '../images/brnkl-app-map-iphone.png'
import brnklAppAlerts from '../images/brnkl-app-alerts-iphone.png'
import brnklProduct from '../images/brnkl-product.jpg'
import wpModule from '../images/wp-module.png'
export const workHistory = [
{
name: 'Lead Software Developer',
brief: 'BRNKL by Barnacle Systems',
date: 'Sept 2017 - Feb 2019',
projectDetails: [
{
header: 'Awards',
listItems: [
<>
<a href="https://sbbcawards.ca/winners/"> Best New Concept</a>,
Small Business BC, Feb 2019
</>,
<>
<a href="https://www.passagemaker.com/trawler-news/vancouver-boat-show-best-in-show-awards">
{' '}
Most Innovative (Best In Show)
</a>
, Vancouver International Boat Show, Feb 2019
</>,
<>
<a href="http://viatecawards.com/2018-recipients/#elementor-tab-title-6044">
{' '}
Startup of The Year
</a>
, VIATEC, June 2018
</>
],
images: [
{ imgUrl: startupOfTheYear, caption: 'VIATEC Startup of The Year' }
]
},
{
header: <a href="https://app.brnkl.io"> App</a>,
listItems: [
'Implemented with TypeScript, Angular, and RxJS',
'Deployed on iOS, Android, and the web',
'Realtime data using RxJS and Firebase Realtime Database',
'Push alerts implemented over Firebase Cloud Messaging'
],
images: [
{
imgUrl: brnklAppMap,
caption: 'BRNKL App Map View',
noShadow: true
},
{
imgUrl: brnklAppAlerts,
caption: 'BRNKL App Alert View',
noShadow: true
}
]
},
{
header: 'Backend',
listItems: [
'Written in TypeScript and run on Node',
'Covered by unit tests and integration tests',
'Deployed on Google Cloud Pubsub and Firebase Functions',
'Integrated with cellular network via Sierra Wireless'
]
},
{
header: 'Embedded',
listItems: [
<>
Written in C with the{' '}
<a href="https://legato.io">Legato Framework</a>
</>,
<>
Custom circuit board based on ARM chip with{' '}
<a href="https://www.yoctoproject.org/">Yocto Linux</a>
</>,
'Custom drivers for hardware peripherals (userspace and kernelspace)',
'Integration with backend to implement custom business logic',
'Successful deploys of over the air updates to customers',
<>
Active member of <a href="https://forum.legato.io">Legato</a> and{' '}
<a href="https://forum.mangoh.io">mangOH</a> communities
</>
],
images: [{ imgUrl: brnklProduct, caption: 'BRNKL embedded device' }]
},
{
header: 'Production Automation',
listItems: [
'Test circuit boards against a suite of hardware tests',
'Automate installtion of latest firmware release for hardware',
'Automated delivery of diagnostic messages to factory workers',
'Automation of device inventory (e.g collecting board serial numbers)'
],
images: [
{
imgUrl: wpModule,
caption: 'Sierra Wireless WP85 Module (core of BRNKL)',
noShadow: true
}
]
}
],
desc: (
<p>
Barnacle Systems is a self bootstrapped company working on boat
monitoring and security. I worked as the sole implementer of the the
BRNKL app, backend, embedded firmware, and production automation
software (with thanks to many open source authors).
</p>
),
url: '//brnkl.io'
},
{
name: 'Software Developer, Contract',
brief: 'BRNKL by Barnacle Systems',
date: 'Jul 2017 - Sept 2017',
desc: (
<p>
One of my co-workers from Forest Technology Systems left to found their
own company and approached me to help with the initial version of the
app and backend.
</p>
),
projectDetails: [
{
listItems: [
'Transform mockups and prototype of app into initial commercial release',
'Implement initial backend based on prototype implementation',
`Design infrastructure such that it is self managed (i.e "stateless" or "serverless")`,
'Design and implement local test environment for backend'
]
}
],
url: '//brnkl.io'
},
{
name: 'Software Developer, Co-op',
brief: 'Forest Technology Systems',
date: 'Sept 2016 - April 2017',
projectDetails: [
{
listItems: [
'Implement components of embedded camera product aimed at the fire weather market (FTS RAOS)',
'Automate builds and installs',
'Integrate with user facing software as a service product'
]
}
],
desc: (
<p>
During my time at Forest Technology Systems, I worked with a small
cross-functional team of engineers, product managers, and sales staff.
</p>
),
url: '//ftsinc.com/'
}
]
export default () => (
<Layout>
{workHistory.map(work => (
<Project {...work} key={work.name} />
))}
</Layout>
)
|