-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html
836 lines (733 loc) · 35.2 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
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width">
<!-- Thanks for checking out my HTML and CSS skillz! This is all hand-rolled, fwiw. -->
<title>Avi Flax » Experienced full-cycle software engineer</title>
<style>
/* Apparently Android browsers only got support for woff2 in September 2023. */
/* The values in local() are “PostScript names” that I retrieved via Font Book on MacOS. */
@font-face {
font-family: "Fira Code";
font-weight: normal;
src:
local("FiraCodeRoman-Regular"),
url("fonts/Fira Code/FiraCode-Regular.woff2") format("woff2"),
url("fonts/Fira Code/FiraCode-Regular.woff") format("woff");
}
@font-face {
font-family: "Fira Code";
font-weight: bold;
src:
local("FiraCodeRoman-Bold"),
url("fonts/Fira Code/FiraCode-Bold.woff2") format("woff2"),
url("fonts/Fira Code/FiraCode-Bold.woff") format("woff");
}
@font-face {
font-family: "Fira Sans";
font-weight: 500;
src:
local("FiraSans-Medium"),
url("fonts/Fira Sans/FiraSans-Medium.woff2") format(woff2),
url("fonts/Fira Sans/FiraSans-Medium.woff") format(woff);
}
@font-face {
font-family: "Fira Sans";
font-weight: normal;
src:
local("FiraSans-Regular"),
url("fonts/Fira Sans/FiraSans-Regular.woff2") format(woff2),
url("fonts/Fira Sans/FiraSans-Regular.woff") format(woff);
}
@font-face {
font-family: "Fira Sans";
font-weight: bold;
src:
local("FiraSans-Bold"),
url("fonts/Fira Sans/FiraSans-Bold.woff2") format(woff2),
url("fonts/Fira Sans/FiraSans-Bold.woff") format(woff);
}
@font-face {
font-family: "Fira Sans";
font-style: italic;
src:
local("FiraSans-Italic"),
url("fonts/Fira Sans/FiraSans-Italic.woff2") format(woff2),
url("fonts/Fira Sans/FiraSans-Italic.woff") format(woff);
}
html, body {
font-family: "Fira Sans";
font-size: 15pt;
line-height: 1.2;
}
body {
max-width: 900px; /* seems reasonable I guess */
margin: 0 auto;
padding-left: 15%;
padding-right: 15%;
}
/* How cool is this‽
Found here: https://webdesign.tutsplus.com/articles/start-using-quotation-marks-the-correct-way--webdesign-16905 */
q, blockquote {
quotes: "\201C" "\201D" "\2018" "\2019";
}
p, li, blockquote {
margin-top: 0.75em;
margin-bottom: 0.75em;
}
i > i {
font-style: normal;
}
.footnote_reference {
font-variant-position: super;
}
.statements > li {
list-style-type: none;
}
.statements > li::before {
content: "…";
}
#additional-skills-technologies > ul, #key-technologies > ul, #around-the-web > ul {
columns: 2;
}
#additional-skills-technologies > ul > li {
margin-left: 0.1em;
}
h1 {
font-family: "Fira Code";
font-weight: bold;
}
h2, h3, h4, h5 {
font-weight: 500;
break: avoid-page;
}
body > details > summary::marker, body > details> summary::-webkit-details-marker {
/* This is the same as the computed size of the h2 elems I have under the summary, and
this helps keep the marker aligned vertically with the text in the h2. It results in
the marker being kinda huge, but I can live with that. Anyway it’s better than the
default, which is a little too small. */
font-size: 30px;
}
details, section {
break-inside: avoid;
page-break-inside: avoid;
}
#name {
font-size: 3em;
margin: 0.5em 0 0.25em 0;
}
#tagline {
font-weight: 500; /* 500=medium (400=normal; 700=bold) */
font-size: 160%
}
h2, h3, h4, h5, h6, details {
margin-top: 1.25em;
margin-bottom: 0.5em;
}
summary h2 {
display: inline;
}
header h2 {
margin-top: 0.5em;
}
section, #current-position {
break-inside: avoid;
page-break-inside: avoid;
}
.contact {
margin: 1em 0;
list-style-type: none;
line-height: 150%;
padding: 0;
}
#thanks .contact {
margin: 1em 0;
padding: 0;
}
.contact a {
text-decoration: none;
}
.time-frame {
font-style: italic;
font-weight: normal;
display: block;
}
footer {
font-size: small;
margin-top: 3em;
border-top: 1px solid silver;
}
.experience > section > ul {
margin-top: 0.5em;
}
code {
font-family: "Fira Code";
}
ul.activities > li {
margin-bottom: 0.75em;
}
table {
border: 1px solid black;
border-collapse: collapse;
}
thead th {
font-weight: 500;
background-color: lightpink;
}
table th, table td {
padding: 5pt;
border: 1px solid black;
}
tbody tr:nth-child(odd) {
background-color: lightcyan;
}
tbody tr:nth-child(even) {
background-color: lightgoldenrodyellow;
}
/* I have no idea what I’m doing. */
@media only screen and (min-width: 320px) and (max-width: 768px) {
body {
margin: 0 auto;
padding-left: 5%;
padding-right: 5%;
}
}
/* I have a bit of an idea what I’m doing. */
@media print {
html, body {
/* The !important is an attempt to address the font size being huge in Firefox. */
font-size: 12pt !important;
margin: 0 auto;
padding-left: 5%;
padding-right: 5%;
}
a:visited {
color: blue;
}
#print-version {
display: none;
}
}
</style>
<script>
// no blue links when viewing page locally, for easier export
if (document.URL.startsWith('file')) {
document.head.insertAdjacentHTML('beforeend', `<style>a:visited{color:blue}</style>`)
}
</script>
</head>
<body>
<header id="top">
<h1 id="name">Avi Flax</h1>
<h2 id="tagline">Experienced full-cycle software engineer</h2>
</header>
<details id="objective">
<!-- TODO: maybe replace with “Profile” -->
<summary><h2>Objective</h2></summary>
<h3>What kind of work I want to do</h3>
<ul>
<li>Hands-on
<li>Full-cycle (design<a href="#footnote-1" class="footnote_reference">1</a>,
testing, implementation, documentation, deployment, operations, maintenance, etc)
<li>Highly collaborative (with co-workers, users, customers, etc)
<li>Leading by example
<li>Mentoring and supporting co-workers
</ul>
<h3>On what kind of software</h3>
<ul>
<li>Anything with a <b>direct positive impact</b> on
<script>
const energyRelated = document.URL.includes('energy') || document.URL.includes('climate'),
html = energyRelated ? '<b>the energy transition</b>' : 'its users and the organization'
document.write(html)
</script>
</ul>
<h3>At what kind of org</h3>
<ul>
<li>Mission-driven
<li>People-first
<li>Committed to diversity & inclusion
<li>Enshrines kindness as cardinal
<li>A shared understanding that candid and timely critisicm/feedback is a gift
<li>Shares knowlege via artifacts (documents, pages, tickets, etc) rather than conversations
(email, chat, verbal)
<li>Invests in stability, sustainability, reliability, etc.
<li>Regularly reassesses and revises processes and policies
<li>Uses better tools<a href="#footnote-2" class="footnote_reference">2</a>
</ul>
</details>
<!--
<details id="current-position" class="experience">
<summary><h2>Current Position</h2></summary>
</details>
-->
<details id="prior-experience" class="experience">
<summary><h2>Experience</h2></summary>
<section id="psychological-capital">
<h3>
<span class="time-frame">2023–2024</span>
Principal Software Engineer at Psychological Capital
</h3>
<ul class="activities">
<li>Designed, implemented, and shipped an internal tool for rapidly testing many variations
of LLM invocations
<ul>
<li>stack: Google Sheets,
<a href="https://www.google.com/script/start/">Google Apps Script</a>, JavaScript
</ul>
<li>Designed, implemented, and shipped a SaaS product to enable non-experts to craft, test,
and use LLM prompts with multiple LLM providers
<ul>
<li>stack: PostgreSQL, Clojure, <a href="https://htmx.org">htmx</a>, Docker,
GitHub Actions, <a href="https://render.com">Render</a>
</ul>
</ul>
</section>
<section id="latacora">
<h3>
<span class="time-frame">2022–2023</span>
Staff Software Engineer at <a href="https://www.latacora.com">Latacora</a>
</h3>
<ul class="activities">
<li>Designed and implemented:
<ul>
<li>A system that manages access to many AWS accounts via AWS SSO and
<a href="https://www.pulumi.com/">Pulumi</a>
<li>A system for deploying multiple tools to many AWS accounts via Pulumi
<li>A custom database for crucial business data
<li>CLI tools for exporting and importing that custom business data to/from other
tools and systems such as <a href="https://fibery.io">Fibery</a> and JIRA
</ul>
<li>Technologies, techniques, and tools employed:
<ul>
<li>AWS (ECS, IAM, Fargate, S3, Secrets Manager, SSO)
<li>Clojure
<li>GitHub Actions
<li>Pulumi
</ul>
</ul>
</section>
<section id="modern-energy">
<h3>
<span class="time-frame">2020–2021</span>
Senior Director of Technology at <a href="https://modern.energy">Modern Energy</a>
</h3>
<ul class="activities">
<li>Helped bootstrap a new Retail Energy Provider (REP) in Texas’ ERCOT market
<li>Automated wholesale energy trades for a few different markets via <a href="https://apx.com/power-scheduling-energy-accounting-services/">APX MarketSuite</a>
<li>Helped bootstrap a new HVAC optimization startup by integrating with <a href="https://www.infisense.com">InfiSense</a> and <a href="https://melrok.com">MelRok</a>
<li>Technologies, techniques, and tools employed:
<ul>
<li>Apache Airflow
<li>Apache Kafka
<li>AWS (ACM, ECS, IAM, Fargate, Lambda, MWAA, R53, RDS, S3, Secrets Manager)
<li>Clojure
<li>Confluent Cloud
<li>GitHub Actions
<li>JSON Schema
<li>Pulumi
<li>Python
<li>TypeScript
</ul>
</ul>
</section>
<section id="funding-circle">
<h3>
<span class="time-frame">2017–2020</span>
Principal Software Engineer at <a href="https://fundingcircle.com/">Funding Circle</a>
</h3>
<ul class="activities">
<li>Drove an initiative to level up the documentation and knowledge sharing culture/practices of a ~250-person software product development group
<li>Took point on designing and implementing a useful information architecture for the corporate wiki
<li>Conceived, developed, released, and maintained <a href="https://fundingcircle.github.io/fc4-framework/">the FC4 Framework</a>, an open-source framework for authoring, publishing, and maintaining software architecture diagrams (includes a CLI tool written with Clojure)
<li>Worked on improving organizational effectiveness; e.g. communication channels, practices, etc.
<li>Technologies, techniques, and tools employed:
<ul>
<li><a href="https://clojure.org/">Clojure</a>
<li><a href="https://www.ruby-lang.org/">Ruby</a>
<li><a href="https://en.wikipedia.org/wiki/JavaScript">JavaScript</a> (with <a href="https://nodejs.org/en/">Node.js</a>)
<li><a href="https://www.docker.com/">Docker</a>
<li><a href="https://circleci.com/">CircleCI</a>
<li><a href="https://github.com/features/actions">GitHub Actions</a>
<li><a href="https://www.writethedocs.org/guide/docs-as-code/">Docs as Code</a>
<li><a href="https://www.atlassian.com/software/confluence">Confluence</a>
</ul>
</ul>
</section>
<section id="park-assist">
<h3>
<span class="time-frame">2016–2017</span>
Principal Software Architect at <a href="http://parkassist.com/">Park Assist</a>
</h3>
<ul class="activities">
<li>Facilitating the company’s transition from execution phase to growth phase
<li>Increasing collaboration and cohesion of the engineering team
<li>Establishing roadmaps for all systems
<li>Designing, building, and operating:
<ul>
<li>streaming data pipelines conveying data from sites around the world to a central data center
<li>stream data topologies using <a href="https://kafka.apache.org">Kafka</a>, <a href="https://kafka.apache.org/documentation/streams">Kafka Streams</a>, <a href="https://kafka.apache.org/documentation.html#connect">Kafka Connect</a>, <a href="http://jruby.org">JRuby</a>, and <a href="https://www.clojure.org">Clojure</a> to effect high-throughput and low-latency data-centric applications
</ul>
<li>Driving adoption of:
<ul>
<li>infrastructure-as-code, configuration management, and immutable infrastructure with <a href="https://www.terraform.io">Terraform</a>, <a href="https://www.ansible.com">Ansible</a>, <a href="https://circleci.com">CircleCI</a>, <a href="https://aws.amazon.com">AWS</a>, and <a href="https://kubernetes.io">Kubernetes</a>
<li>consistent conventions around testing, documentation, code review, and continuous integration
</ul>
<li>Operating services with <a href="https://www.terraform.io">Terraform</a>, <a href="https://www.ansible.com">Ansible</a>, <a href="https://aws.amazon.com">AWS</a>, and <a href="https://kubernetes.io">Kubernetes</a>, <a href="https://www.datadoghq.com">Datadog</a>, <a href="https://slack.com">Slack</a>
<li>Defining and executing new approaches to:
<ul>
<li>engineering support
<li>team structure
<li>hiring
</ul>
<li>Create a culture of caring about sustainability, documentation, and maintainability
<li>Introducing and championing new:
<ul>
<li>development tools: <a href="https://github.com">GitHub</a>, <a href="https://www.terraform.io">Terraform</a>, <a href="https://circleci.com">CircleCI</a>
<li>company-wide communication media: <a href="https://slack.com">Slack</a>, <a href="https://www.discourse.org">Discourse</a>
</ul>
<li>Mentoring those new to software engineering
</ul>
</section>
<section id="timehop">
<h3><span class="time-frame">2015</span> Timehop</h3>
<ul>
<li>Refactored a critical and complex system into a loosely-coupled stream-based system using Kinesis and Go (<a href="https://speakerdeck.com/aviflax/stream-data-processing-with-kinesis-and-go-at-timehop">slides</a>)
<li>Designed and implemented sophisticated integration with Twilio for SMS-based signup
<li>Designed and implemented a large-scale data processing tool to process billions of records very quickly
</ul>
</section>
<section id="thinkful">
<h3><span class="time-frame">2014</span> Thinkful</h3>
<ul>
<li>Designed and implemented an event-driven system to automate Stripe subscription management
</ul>
</section>
<section id="sfx">
<h3><span class="time-frame">2013–2014</span> SFX Entertainment</h3>
<ul>
<li>SFX acquired Arc90 in 2013 to be its internal app design and development group
<li>I initially adopted the title CTO, then recruited <a href="https://alexandergrosse.com/">someone amazing</a> to replace me and shifted to <i>Chief Sofware Architect</i>
<li>I helped design and build an ambitious new-from-the-ground-up streaming music platform and integrate it with existing products
<li>I helped shape the organization by helping craft its structure, practices, culture, goals, communication, and approach
<li>I recruited key personnel
</ul>
</section>
<section id="arc90">
<h3><span class="time-frame">2005–2013</span> Arc90</h3>
<ul>
<li>Arc90 was a Web application design & development consultancy; it was acquired by SFX Entertainment in 2013
<li>Wore many hats: developer, architect, team leader, partner, director
<li>Worked with teams to design, build, and maintain sophisticated software platforms, including:
<ul>
<li>A Web/SOA insurance platform covering all key aspects of policy origination and management
<li>A Web-based search engine and reference platform for engineers
<li>An API at the heart of a new-from-the-ground-up news distribution platform for Reuters
</ul>
<li>Conducted technical audits of clients’ acquisition targets
<li>Helped manage the business as a partner
<li>Managed client relationships
<li>Invested much time and effort in recruiting and retaining exceptional team members
<li>Started practice of regular company-wide code review
</ul>
</section>
<section id="adp">
<h3><span class="time-frame">2001–2004</span> ADP</h3>
<ul>
<li>Refactored, enhanced, and maintained a sophisticated application for producing custom financial documents for on-demand printing
</ul>
</section>
<section id="register.com">
<h3><span class="time-frame">2001</span> Register.com</h3>
<ul>
<li>Team lead position for large high-traffic auction site
<li>Responsibilities included designing, implementing, and maintaining features; and reengineering site technology and architecture
<li>Created new internal tools and development procedures
</ul>
</section>
<section id="rewardsplus">
<h3><span class="time-frame">2000</span> RewardsPlus</h3>
<ul>
<li>Maintained and enhanced a large-scale online employee benefits enrollment system for diverse clients with diverse needs
</ul>
</section>
<section id="wip">
<h3><span class="time-frame">1998–2000</span> Words In Progress</h3>
<ul>
<li>Developed requirements and specifications for high traffic websites directly with clients; crafted application architecture and database design
</ul>
</section>
<section id="ics">
<h3><span class="time-frame">1998</span> Ideal Computer Strategies</h3>
<ul>
<li>Worked with teams of designers, coders, and project managers to concurrently develop and deploy client websites with basic dynamic features
</ul>
</section>
<section id="pcc">
<h3><span class="time-frame">1997–1998</span> PCC Internet Design</h3>
<ul>
<li>Founded and managed a small web design shop in Pikesville, MD providing full-service web design and development to small companies in the Baltimore area
</ul>
</section>
</details>
<!-- TODO: revisit this. It’s… not great. -->
<details>
<summary><h2>Values</h2></summary>
<h3>I believe that:</h3>
<ul class="statements">
<li>diversity and inclusion are crucial <i>and</i> create rich, healthy, sustainable, productive organizations.
<li><a href="https://en.wikipedia.org/wiki/Don%27t_repeat_yourself">DRY</a> and <a href="https://en.wikipedia.org/wiki/Rule_of_three_(computer_programming)">the Rule of Three</a> apply to docs just as much as code.
<li>people can only do great work if they are healthy, growing, supported, and respected.
<li>all great processes have one thing in common: they are regularly reviewed and refined.
<li>the most important aspect of any technology is its potential to solve problems.
<li>technology is a phenomenally powerful tool that we humans have at our disposal to solve problems — if we so choose.
<li>we do some of our best thinking in collaboration with others.
<li>institutional/communal memory is critical to building sustainable organizations.
</ul>
</details>
<details id="key-skills">
<summary><h2>Key Skills</h2></summary>
<ul>
<li>Problem analysis
<li>Software design, architecture, construction, deployment, operation, and maintenance
<li>Deep expertise in the World Wide Web and HTTP
<li>Web API design & development
<li>Product design
<li>Data architecture & data engineering
<li>Documentation
<li><a href="https://www.writethedocs.org/guide/docs-as-code/">Docs as Code</a>
<li>Infrastructure as Code
<li>Information architecture
<li>Optimizing developer productivity via automation and documentation
<li>Continuous Delivery (CD) pipelines and automation
<li>Team/organizational leadership
<li>Assessing and improving organizational effectiveness
<li>Organizational architecture
</ul>
<p>See also <a href="#additional-skills-technologies">Additional Skills & Technologies</a> below.</p>
</details>
<details id="key-technologies">
<summary><h2>Key Technologies</h2></summary>
<ul>
<li><a href="https://airflow.apache.org/">Apache Airflow</a>
<li><a href="https://kafka.apache.org/">Apache Kafka</a>
<li><a href="https://aws.amazon.com/">Amazon Web Services (AWS)</a>
<li><a href="https://aws.amazon.com/lambda/">AWS Lambda</a>
<li><a href="https://clojure.org/">Clojure</a>
<li><a href="https://www.docker.com/">Docker</a>
<li><a href="https://github.com/features/actions">GitHub Actions</a>
<li><a href="https://en.wikipedia.org/wiki/Java_(programming_language)">Java</a>
<li><a href="https://en.wikipedia.org/wiki/JavaScript">JavaScript</a>
<li><a href="https://www.pulumi.com">Pulumi</a>
<li><a href="https://www.python.org/">Python</a>
<li><a href="https://www.ruby-lang.org/">Ruby</a>
<li><a href="https://www.terraform.io/">Terraform</a>
<li><a href="https://www.typescriptlang.org">TypeScript</a>
</ul>
</details>
<details id="additional-skills-technologies">
<summary><h2>Additional Skills & Technologies</h2></summary>
<ul id="additional-skills-list">
<li><a href="https://aws.amazon.com/athena/">Amazon Athena</a>
<li><a href="https://aws.amazon.com/dynamodb/">Amazon DynamoDB</a>
<li><a href="https://aws.amazon.com/ecs/">Amazon Elastic Container Service (ECS)</a>
<li><a href="https://aws.amazon.com/kinesis/">Amazon Kinesis</a>
<li><a href="https://aws.amazon.com/redshift/">Amazon Redshift</a>
<li><a href="https://aws.amazon.com/rds/">Amazon Relational Database Service (RDS)</a>
<li><a href="https://aws.amazon.com/fargate/">AWS Fargate</a>
<li>Behavior Driven Development
<li>Browser APIs
<li>Business analysis
<li><a href="https://circleci.com">CircleCI</a>
<li><a href="http://coffeescript.org">CoffeeScript</a>
<li><a href="https://couchdb.apache.org">CouchDB</a>
<li><a href="http://www.datomic.com">Datomic</a>
<li>Database (DB) Design
<li>Django
<li>ElasticSearch
<li>Flask
<li><a href="https://golang.org/">Go</a> (Golang)
<li>Groovy
<li>Information architecture
<li><a href="https://kubernetes.io">Kubernetes</a>
<li>Markdown
<li>MongoDB
<li>Node
<li>OmniGraffle
<li>PostgreSQL
<li><a href="https://prestodb.io/">Presto</a>
<li>SQL
<li>Solr
<li>Stripe
<li>XML/XSL/XSD/XQuery
</ul>
</details>
<details id="examples">
<summary><h2>Examples</h2></summary>
<p>Most of my work is proprietary and private; this selection of things I’ve managed to release
publicly doesn’t represent my full skillset.</p>
<h3>March 2021</h3>
<ul>
<li>Built and launched the website <code>ny.vax.help</code> to help people get
appointments for COVID-19 vaccines in New York State
(<a href="https://github.com/aviflax/vax.help">project repository</a>)
</ul>
<h3>2020</h3>
<ul>
<li>Delivered <a href="https://www.youtube.com/watch?v=3i-C7qbRGGQ">Set your data free with model-based architecture diagramming</a> at <a href="https://www.writethedocs.org/conf/">Write the Docs (Portland) 2020</a>
</ul>
<h3>2019</h3>
<ul>
<li>Delivered a talk entitled <a href="http://2019.clojure-conj.org/speaker-avi-flax/">(Architecture) Diagrams as Data</a> at Clojure/conj (<a href="https://youtu.be/HmHOYkTVxIg">video</a>)
<li>Presented <a href="https://www.meetup.com/Clojure-nyc/events/265482669/">Data Driven Diagramming</a> at Clojure/nyc
<li>Posted <a href="https://engineering.fundingcircle.com/blog/2019/06/06/write-the-docs-portland-2019/">Conference Highlights: Write the Docs (Portland) 2019</a>
</ul>
<h3>2018</h3>
<ul>
<li>Presented <a href="https://www.youtube.com/watch?v=Vl4KFEJwPPQ">Concurrency via Communication — Large and Small</a> at the Bay Area Clojure Meetup (hosted by Funding Circle)
<li>Released <a href="https://fundingcircle.github.io/fc4-framework/">the FC4 Framework</a>, an open-source framework for authoring, publishing, and maintaining software architecture
<li>Built <a href="https://github.com/FundingCircle/github-tools">github-tools</a>, a toolset for working with GitHub in a large org with many repos
<li>Released <a href="https://github.com/FundingCircle/learn-you-some-kafka">Learn You Some Kafka!</a> — atomic, bite-size, highly-focused interactive tutorials that teach how to work with Kafka using Ruby or Clojure
<li>Presented <a href="https://www.youtube.com/watch?v=5JpcDKooaIQ">Large Nested JSON with Spec: A Comedy of Errors</a> at the Bay Area Clojure Meetup (hosted by Funding Circle)
<li>Presented <a href="https://youtu.be/eqfSifXaXnw">Specifying Other People’s Data Structures with Spec: an Experience Report</a> at Clojure/nyc
</ul>
<h3>2017</h3>
<ul>
<li>Published <a href="http://tech.parkassist.com/blog/2017/01/04/kafka-summit-proposal">Kafka Summit 2017 Talk Proposal</a>
</ul>
<h3>2016</h3>
<ul>
<li>Prototyped <a href="https://github.com/aviflax/omnia">Omnia</a>, a system to search multiple document silos at once
<li>Published <a href="http://tech.parkassist.com/blog/2016/10/31/strange-loop-2016-recap">Strange Loop 2016 Recap</a> (blog post)
</ul>
<h3>2014</h3>
<ul>
<li>Released <a href="http://3things.aviflax.com/">Three Things</a>, a client-side Web app (<a href="http://aviflax.com/post/two-practices-three-things/">backstory involving Jeff Atwood</a>)
<li>Presented <a href="https://www.youtube.com/watch?v=HGpDHBzErkg">The impedance mismatch of Web Microframeworks</a> at PyGrunn 2014 (hosted by Paylogic, a subsidiary of SFX)
<li>Started collecting <a href="https://gist.github.com/aviflax/7f453a41a06a200a2f5d">resources for learning stream processing</a>
<li>Designed <a href="https://github.com/aviflax/github-digests">GitHub Digests</a>, a system to aggregate GitHub notifications into daily email digests
</ul>
<h3>2013</h3>
<ul>
<li>Published <a href="https://github.com/aviflax/resourceful">Resourceful</a>, a Clojure library that provides a more concise and more RESTful alternative to declaring routes.
</ul>
<h3>2012</h3>
<ul>
<li>My last major project for Arc90 was to build a new platform for reuters.com:
<ul>
<li>I created <a href="platform-architecture.png">a diagram</a> of the overall architecture of the “Reuters Next” platform
<li>I was asked to review a draft of the API spec; I provided <a href="https://gist.github.com/20df21ec725c05a2a199">these notes</a>
<li>I developed <a href="https://gist.github.com/8c72e7a636bdb09ee555">a document</a> to capture the culture and process of my team, so we could ramp new members up quickly and effectively
<li>I determined that the API codebase I had inherited needed to be refactored, and wrote <a href="https://gist.github.com/aviflax/a7b0c12b2173ce523685">this summary</a> to explain why
<li>When I left the project I shared <a href="https://gist.github.com/aviflax/7b2e30ebcd4326db893f">my parting thoughts</a> with the team
</ul>
<li>I sometimes perform technical audits of existing applications or platforms. Here’s <a href="https://gist.github.com/f546704f58f39b29bc7c">one example</a>; I can provide more extensive examples upon request.
</ul>
<p>I’d be happy provide more examples of my work, such as architecture diagrams and presentations, business analysis, code, etc. Please <a href="#contact">get in touch!</a></p>
</details>
<details id="around-the-web">
<summary><h2>Around the Web</h2></summary>
<ul>
<li><a href="https://flaximus.net/@avi@flaximus.net/">Microblog</a>
<li><a href="https://pinboard.in/u:aviflax">Bookmarks</a>
<li><a href="https://www.instapaper.com/p/avi">Instapaper</a>
<li><a href="https://stackoverflow.com/users/7012/avi-flax">Stack Overflow</a>
<li><a href="https://github.com/aviflax">GitHub</a>
<li><a href="https://speakerdeck.com/aviflax">Slide decks</a>
</ul>
</details>
<details id="hobbies">
<summary><h2>Hobbies</h2></summary>
<ul>
<li>Cycling
<li>Hiking
<li><a href="http://www.goodreads.com/user/show/2772290-avi-flax">Reading</a>
<li><a href="http://aviflax.com/post/gaming-in-2008/">Video games</a>
</ul>
</details>
<section id="contact">
<h2>Contact Me</h2>
<p>Thanks for scrolling all the way to the bottom of my résumé! I appreciate your interest. At this point, you might want to get in touch. Please do!</p>
<ul class="contact">
<li><a href="mailto:work@aviflax.com?subject=Let’s%20Go">work@aviflax.com</a>
<li>I’m based in <a href="https://en.wikipedia.org/wiki/White_Plains,_New_York">White Plains, New York</a>. I prefer to work as part of a mostly or fully distributed team, but I’m open to working from an office in the NYC area 1–3 days per week, depending on distance.
</ul>
</section>
<section id="pdf-version">
<h2>PDF Version</h2>
<p>If you’d like to e-mail this résumé, or add it to your applicant tracking system, you’re
welcome to use <a href="pdf/Avi Flax Resume (Q2–2024) (GE).pdf">the PDF version</a>.</p>
</section>
<section id="footnotes">
<h2>Notes</h2>
<ol>
<li id="footnote-1">
<p>Whereby “design” I mean <q cite="https://en.wikipedia.org/wiki/Design">the creation of a plan or convention for the construction of an object, system or measurable human interaction</q> (<a href="https://www.dictionary.com/browse/design">source</a>) — or, more succinctly, <a href="https://www.nytimes.com/2003/11/30/magazine/the-guts-of-a-new-machine.html"><q cite="https://www.nytimes.com/2003/11/30/magazine/the-guts-of-a-new-machine.html">design is how it works</q></a>.</p>
<li id="footnote-2">
For example:
<table>
<thead>
<tr>
<th>Popular Tools</th>
<th>Superior Alternatives</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="https://www.atlassian.com/software/jira">Jira</a></td>
<td><a href="https://linear.app">Linear</a>,
<a href="https://www.shortcut.com/">Shortcut</a></td>
</tr>
<tr>
<td><a href="https://slack.com">Slack</a>, <a href="https://discord.com">Discord</a></td>
<td><a href="https://discourse.org">Discourse</a></td>
</tr>
<tr>
<td><a href="https://www.destroyallsoftware.com/talks/wat">JavaScript</a>,
<a href="https://eev.ee/blog/2012/04/09/php-a-fractal-of-bad-design/">PHP</a>,
Python,
<a href="https://www.destroyallsoftware.com/talks/wat">Ruby</a></td>
<td><a href="https://clojure.org/">Clojure</a>,
<a href="https://clojurescript.org/">ClojureScript</a></td>
</tr>
<tr>
<td><a href="https://mariadb.org/">MariaDB</a></td>
<td><a href="https://www.postgresql.org/">PostgreSQL</a></td>
</tr>
<tr>
<td><a href="https://www.terraform.io">Terraform</a></td>
<td><a href="https://www.pulumi.com/">Pulumi</a></td>
</tr>
<tr>
<td>Google Docs+Sheets,
<a href="https://www.atlassian.com/software/confluence">Confluence</a></td>
<td><a href="https://www.airtable.com">Airtable</a>,
<a href="https://coda.io/">Coda</a>,
<a href="https://fibery.io/">Fibery</a>,
<a href="https://www.notion.so/">Notion</a></td>
</tr>
<tr>
<td>Google Drawings,
<a href="https://www.omnigroup.com/omnigraffle">OmniGraffle</a>,
<a href="https://www.microsoft.com/en-us/microsoft-365/visio/flowchart-software">Visio</a></td>
<td><a href="https://excalidraw.com/">Excalidraw</a>,
<a href="https://www.tldraw.com/">tldraw</a>,
<a href="https://whimsical.com/">Whimsical</a></td>
</tr>
<tr>
<td>Google Slides, Powerpoint</td>
<td><a href="https://www.deckset.com/">Deckset</a>,
<a href="https://ia.net/presenter">iA Presenter</a>,
<a href="https://pitch.com/">Pitch</a></td>
</tr>
</tbody>
</table>
</ol>
<a href="#top">Back to top</a>
</section>
<footer>
<p>last updated: 2023-10-19 • <a href="https://github.com/aviflax/resume">full change history</a></p>
</footer>
</body>
</html>