-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html
417 lines (400 loc) · 23.3 KB
/
index.html
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
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
<!DOCTYPE HTML>
<!--
Miniport by HTML5 UP
html5up.net | @ajlkn
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
-->
<html>
<head>
<title>Conrad Beach | Web Developer</title>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no" />
<link rel="stylesheet" href="assets/css/main.css" />
</head>
<body class="is-preload">
<!-- Nav -->
<nav id="nav">
<ul>
<li class="logo"><a href="#top">Conrad Beach | Web Developer</a></li>
</ul>
<ul>
<li><a href="#values">Values</a></li>
<li><a href="#skills">Skills</a></li>
<li><a href="#work">Work</a></li>
<li><a href="#weaknesses">Weaknesses</a></li>
<li><a href="#about">About</a></li>
<li><a href="#contact">Contact</a></li>
</ul>
</nav>
<!-- Home -->
<article id="top" class="wrapper style1">
<div class="container">
<div class="row">
<div class="col-4 col-5-large col-12-medium">
<span class="image fit"><img src="images/profile-latest.jpg" alt="Conrad Beach" /></span>
</div>
<div class="col-8 col-7-large col-12-medium">
<header>
<h1>Hi. I'm <strong>Conrad Beach</strong>.</h1>
</header>
<p>I'm a (mostly) <strong>Back-end Web Developer</strong> located in
Logan, Utah, United States. I'm a family man and a Ruby fanboy. I love
building stuff for the web.</p>
</div>
</div>
</div>
</article>
<!-- Values -->
<article id="values" class="wrapper style2">
<div class="container">
<header>
<h2>Things That Are Important to Me</h2>
</header>
<div class="row aln-center">
<div class="col-6 col-12-small">
<section class="box style1">
<span class="icon featured solid fa-hands-helping"></span>
<h3>Being Good</h3>
<p>I care a lot about being a genuinely good person and treating people right. I strive to be kind, generous and ethical in everything I do. Being humble and selfless is important to me. I want to be the kind of person who's easy and enriching to work with, the kind of guy that you're glad to have on your team.</p>
</section>
</div>
<div class="col-6 col-12-small">
<section class="box style1">
<span class="icon featured solid fa-globe-americas"></span>
<h3>Doing Good</h3>
<p>I'm passionate about doing work that makes a positive difference in the world. It doesn't need to be as glamorous as curing cancer or something like that, but it does need to be genuinely valuable. It needs to solve real problems and make people's lives better. Too many businesses, teams, etc. really only exist to make money; I think that's a shame, and I think we can do better.</p>
</section>
</div>
<div class="col-6 col-12-small">
<section class="box style1">
<span class="icon featured solid fa-drafting-compass"></span>
<h3>Craftsmanship</h3>
<p>I focus on writing code that works correctly, is reliable
and is easy to maintain. I aim to build products that
meet needs and are enjoyable to use. I take the time to
truly understand problems so that I can create well-designed,
quality solutions. Well-made software can do amazing things.
Poorly made software can be a real pain. I work hard to
consistently produce the well-made kind. I put a lot of effort
into keeping my schedule, health and other factors in balance so
that I can stay fresh and do my best work.</p>
</section>
</div>
<div class="col-6 col-12-small">
<section class="box style1">
<span class="icon featured solid fa-seedling"></span>
<h3>Constant Improvement</h3>
<p>I'm committed to the constant pursuit of mastering
my field of work. I've chosen software development as my career,
and I intend to become the best I possibly can at it. I'm always
working to learn more about what I do and looking for ways to improve.
I'm definitely not one of the best developers out there and likely
never will be, but I'm on the path to mastery and I intend to be
on it for a very long time.</p>
</section>
</div>
<div class="col-6 col-12-small">
<section class="box style1">
<span class="icon featured solid fa-laugh-beam"></span>
<h3>Joy</h3>
<p>Ultimately, I choose to be a developer because I love doing it! I love writing code; I love creating beautiful, useful software. Building things with nothing more than a laptop and some know-how is a blast. I find joy in it, and I want the work I do to create joy in the lives of others as well.</p>
</section>
</div>
</div>
</div>
</article>
<!-- Skills -->
<article id="skills" class="wrapper style3">
<div class="container">
<header>
<h2>Things I Have Strong Experience With</h2>
</header>
<div class="row aln-center">
<div class="col-6 col-12-small">
<section class="box style1">
<a class="image small" href="https://www.ruby-lang.org/" target="_blank">
<img src="images/ruby.png" alt="Ruby logo">
</a>
<h3>Ruby</h3>
<pi>I fell in love with the Ruby language pretty quickly. I'm a
huge fan of the elegance of the syntax and it's focus on
programmer happiness. Writing Ruby feels natural and easy
while still providing powerful tools and constructs. Like all things,
Ruby has tradeoffs, but I’ve never found a programming language
that is more effective or more enjoyable to use.</p>
</section>
</div>
<div class="col-6 col-12-small">
<section class="box style1">
<a class="image small" href="https://rubyonrails.org/" target="_blank">
<img src="images/ruby_on_rails.png" alt="Ruby on Rails logo">
</a>
<h3>Rails</h3>
<p>I think Rails is a fantastic framework for web development. I
really appreciate the focus on convention over configuration and
sensible defaults. It also pursues Ruby's goals of emphasizing programmer
happiness and exalting beautiful code. I'm impressed by how
productive I can be when I work with Rails. Even having been
around as long as it has, I'm still excited by the progress and
additions being made to the framework. Lately, I’ve been using
Hotwire to build our application’s front-end and I've been
loving it.</p>
</section>
</div>
<div class="col-6 col-12-small">
<section class="box style1">
<a class="image small" href="https://restfulapi.net/" target="_blank">
<img src="images/rest.png" alt="restfulapi.net logo">
</a>
<h3>REST APIs</h3>
<p>I really enjoy building REST APIs. I prefer to be on the back-end, and I really
like when I get to focus on just the data and don't have to worry too
much about client-side UI. A quality API goes beyond just returning the right data.
It includes things like semantically correct status codes, helpful error messages,
predictable URL structures and secure, user-friendly authentication. Whether
the API is intended to be consumed by an external application or by a companion
front-end application or both, I really enjoy working with REST APIs.
(As long as I can use JSON and not XML. <i class="far fa-grin-tongue"></i>)</p>
</section>
</div>
<div class="col-6 col-12-small">
<section class="box style1">
<a class="image small" href="http://rspec.info/" target="_blank">
<img src="images/rspec.png" alt="RSpec logo">
</a>
<h3>Automated Testing</h3>
<p>I'm a big believer in automated testing. Well tested code is
easier to work with, easier to depend on and just makes for
better software. I don't typically practice true TDD, but I
write tests frequently as I write implementation code. I don't
think of writing tests as only an investment in the future (though it
certainly is that); I think writing tests improves the quality of
your code and your software immediately, and there aren't very
many cases where you wouldn't want to write tests.</p>
</section>
</div>
<div class="col-6 col-12-small">
<section class="box style1">
<a class="image small" href="https://git-scm.com/" target="_blank">
<img src="images/git.png" alt="Git logo">
</a>
<h3>Version Control with Git</h3>
<p>I really enjoy managing source code with Git. I think there's a lot of value in not only putting your code under source control, but in taking the time to do it well. I think a well-crafted Git history in a project can be a really valuable resource. It can be helpful to your team (or you) in the future and also improve the quality of your code as you're committing it. It's common for me to write lengthy commit messages and take the time to revise my Git history as I'm working on a project.</p>
</section>
</div>
</div>
</div>
<footer class="content-section">
I'm also really interested in <a href="https://elixir-lang.org/" target="_blank">Elixir</a>
and <a href="https://www.phoenixframework.org/" target="_blank">Phoenix</a>. I haven't
done much with them yet though.
</footer>
</article>
<!-- Work -->
<article id="work" class="wrapper style3">
<div class="container">
<header>
<h2>Examples of Things I've Worked On</h2>
</header>
<div class="row">
<div class="col-6 col-12-small">
<article class="box style2">
<h3>Track Your Hours</h3>
<p><i>2024, <a href="https://www.simplepractice.com/" target="_blank">SimplePractice</a></i></p>
<p>Track Your Hours helps pre-licensed mental health
professionals track their experience hours and ensure they stay
on track to meet state requirements and receive their license.</p>
<p>I worked with a small team of developers to rewrite and
enhance a legacy PHP application using Rails 7 and Ruby 3.</p>
<p>We used Rails for the full-stack with <a href="https://hotwired.dev/" target="_blank">Hotwire</a>
on the front-end. The development experience with Hotwire was
excellent and, in our opinion, it gave us all the functionality we needed to
create a modern, usable interface with very little JavaScript
and a lot less front-end code.</p>
<p>The project included writing a licensure
requirements engine that allowed application admins to model
license requirements for various states and licenses with
minimal to no code changes.</p>
<p><strong>Primary Technologies:</strong> Rails 7, Hotwire, RSpec</p>
<p><a href="https://www.trackyourhours.com/" target="_blank">Product Page</a></p>
</article>
</div>
<div class="col-6 col-12-small">
<article class="box style2">
<h3>Atomic Journals</h3>
<p><i>2020, <a href="https://www.atomicjolt.com/" target="_blank">Atomic Jolt</a></i></p>
<p>Atomic Journals is an LTI application that integrates with
learning management systems such as <a href="https://www.instructure.com/canvas/" target="_blank">Canvas</a>.
It encourages learning by reflection, inviting students to ponder and reflect
on the educational material they're working through.</p>
<p>I was the technical lead on the project and worked with 2
other developers to implement the application using React, Rails
and GraphQL.</p>
<p>The application uses <a href="https://www.imsglobal.org/lti-advantage-overview" target="_blank">LTI Advantage</a>
APIs to interface with the LMS to do things like launch within
the LMS in a context-aware way, create and update LMS assignments
and generate grades and submissions for those assignments.</p>
<p><strong>Primary Technologies:</strong> Rails 5, React, GraphQL, RSpec, React Testing Library</p>
<p><a href="https://www.atomicjolt.com/atomic-journals" target="_blank">Product Page</a></p>
</article>
</div>
<div class="col-6 col-12-small">
<article class="box style2">
<h3>Case Notifications</h3>
<p><i>2018, <a href="https://journaltech.com/" target="_blank">Journal Technologies</a></i></p>
<p>Case Notifications is an application that consumes event data
from courts (a hearing was scheduled, a document was filed,
etc.) and then summarizes and distributes that event data
to subscribers through SMS and email notifications.</p>
<p>Some of the courts we expected to integrate with would have tens
of thousands of events a day. The application needed to import
and process those events in an efficient way.<p>
<p>I built a RESTful back-end using Rails which integrated with a
React front-end. I also wrote a companion AWS Lambda function
which notified the Case Notifications application when a new
data file had been uploaded to AWS S3. I also built an admin
interface using thoughtbot
<a href="https://github.com/thoughtbot/administrate" target="_blank">Administrate</a>.
The user facing application was secured with
<a href="https://auth0.com/" target="_blank">Auth0</a>, and the admin interface was
secured with <a href="https://www.okta.com/" target="_blank">Okta</a> single sign-on.<p>
<p><strong>Primary Technologies:</strong> Rails 5, AWS Lambda,
REST API, RSpec</p>
</article>
</div>
<div class="col-6 col-12-small">
<article class="box style2">
<h3>SIS Canvas Integration</h3>
<p><i>2017, <a href="https://www.atomicjolt.com/" target="_blank">Atomic Jolt</a></i><p>
<p>This application was built to sync student and course data from an
existing <a href="https://www.wikiwand.com/en/Student_information_system" target="_blank">student information system</a>
(SIS) to our client's <a href="https://www.instructure.com/canvas/" target="_blank">Canvas LMS</a>
instance. Syncing primarily happens via scheduled jobs but can also be done through one-off jobs.</p>
<p>The application makes extensive use of asynchronous
background jobs for both the one-off and scheduled sync tasks.</p>
<p>I did full-stack development on the project. Myself and
another team member built a Rails back-end and a React, Redux
front-end.</p>
<p>The front-end is a dashboard that allows administrators to
see which jobs are running, manage scheduled jobs and
allows them to execute one-off jobs.</p>
<p><strong>Primary Technologies:</strong> Rails 5, React, Redux, RSpec, Jest</p>
</article>
</div>
</div>
</div>
<footer class="content-section">
Feel free to check out my <a href="files/resume.pdf" target="_blank">resume</a> if you're interested in more details about my work history.
</footer>
</article>
<!-- Weaknesses -->
<article id="weaknesses" class="wrapper style2">
<div class="container">
<header>
<h2>Things I'm Not Very Good At</h2>
</header>
<div class="row aln-center">
<div class="col-4 col-6-medium col-12-small">
<section class="box style1">
<span class="icon featured brands fa-js-square"></span>
<h3>JavaScript SPAs</h3>
<p>I’ve done quite a bit of JavaScript development in the past,
and I don't mind writing a little JavaScript when
needed, but full blown JavaScript SPAs aren't a good fit for me.
They have a tendency to burn me out. Generally, I prefer back-end development; I enjoy
it more and I feel like I have more natural aptitude
and value to contribute in that area. But I'm also comfortable
with and enjoy simple client-side tooling like <a href="https://hotwired.dev/" target="_blank">Hotwire</a>.</p>
</section>
</div>
<div class="col-4 col-6-medium col-12-small">
<section class="box style1">
<span class="icon featured solid fa-tachometer-alt"></span>
<h3>Performance Optimization</h3>
<p>I’m conscious of basic performance requirements and pay attention to the performance of the code I write, but there haven’t been too many projects I’ve worked on thus far where performance was a high priority. I’m not the kind of guy who can eek out every drop of performance from an application. (If I was I probably wouldn’t be using Rails, right? <i class="far fa-grin-tears"></i> I kid, I kid. Rails is great.)</p>
</section>
</div>
<div class="col-4 col-6-medium col-12-small">
<section class="box style1">
<span class="icon featured solid fa-microchip"></span>
<h3>Computer Science</h3>
<p>I don’t have a traditional computer science background and
heavy computer science topics have never been terribly
interesting to me. If something requires lots of math,
sophisticated algorithms or other such things, I don't have a
lot of supporting skills to offer.</p>
</section>
</div>
</div>
</div>
<footer class="content-section">
Obviously, there are more than just 3 things I’m not very good at. I just wanted to list a few of the more relevant and substantial ones that I feel are good to know about if you’re considering working with me.
</footer>
</article>
<!-- About -->
<article id="about" class="wrapper style2">
<div class="container">
<header>
<h2>A Little More About Me</h2>
</header>
<div class="row">
<div class="col-6 col-12-small">
<span class="image box"><img src="images/family_2023.jpg" alt="Family photo" /></span>
</div>
<div class="col-6 col-12-small">
<p>I've been married to my wonderful wife since 2013. We have 4 delightful (and
sometimes taxing) children. Our son Aiden is 9 years old, our
daughter Teshia is 7, our daughter Jadie is 4, and our son Ezra is 2.</p>
<p>I'm a devout Christian and actively involved in <a href="https://www.churchofjesuschrist.org/?lang=eng" target="_blank">my church</a>.<p>
<p>Some things I really enjoy learning
about are <a href="https://en.wikipedia.org/wiki/1776_(book)" target="_blank">history</a>,
government, nutrition and <a href="https://www.goodreads.com/en/book/show/35457692" target="_blank">human relationships</a>.</p>
<p>Some of my hobbies include running, reading and hiking.</p>
</div>
</div>
</div>
</article>
<!-- Contact -->
<article id="contact" class="wrapper style4">
<div class="container medium">
<header>
<h2>Feel free to get in touch.</h2>
<p>I'd be happy to hear from you.</p>
</header>
<div class="row">
<div class="col-12">
<ul id="contact-info">
<li><a href="mailto:[email protected]">[email protected]</a></li>
<li><a href="tel:435-232-9842">(435)232-9842</a></li>
</ul>
</div>
<div class="col-12">
<h3>Find me on...</h3>
<ul class="social">
<li><a href="https://github.com/conradbeach" class="icon brands fa-github" target="_blank"><span class="label">Github</span></a></li>
<li><a href="https://www.linkedin.com/in/conrad-beach/" class="icon brands fa-linkedin-in" target="_blank"><span class="label">LinkedIn</span></a></li>
</ul>
<hr />
</div>
</div>
<footer>
<ul id="copyright">
<li>Design: <a href="https://html5up.net/miniport" target="_blank">Miniport by HTML5 UP</a></li>
<li>The source code for this site is available on <a href="https://github.com/conradbeach/conradbeach.github.io" target="_blank">GitHub</a>.</li>
</ul>
</footer>
</div>
</article>
<!-- Scripts -->
<script src="assets/js/jquery.min.js"></script>
<script src="assets/js/jquery.scrolly.min.js"></script>
<script src="assets/js/browser.min.js"></script>
<script src="assets/js/breakpoints.min.js"></script>
<script src="assets/js/util.js"></script>
<script src="assets/js/main.js"></script>
<!-- Clicky Web Analytics -->
<script>var clicky_site_ids = clicky_site_ids || []; clicky_site_ids.push(101196169);</script>
<script async src="//static.getclicky.com/js"></script>
<noscript><p><img alt="Clicky" width="1" height="1" src="//in.getclicky.com/101196169ns.gif" /></p></noscript>
</body>
</html>