|
|
<html>
|
|
|
<head>
|
|
|
<link rel="stylesheet" type="text/css" href="styles.css" />
|
|
|
</head>
|
|
|
<body>
|
|
|
<section class="header">
|
|
|
<h2 class="lg bold">Brian Sakal</h2>
|
|
|
</section>
|
|
|
<section class="contact-info">
|
|
|
<section class="address">
|
|
|
<label class="bold">Address</label>
|
|
|
<div>
|
|
|
225 Van Houten Ave.<br />
|
|
|
Passaic, NJ 07055<br />
|
|
|
(305) 930-0248<br />
|
|
|
</div>
|
|
|
</section>
|
|
|
<section class="email">
|
|
|
<label class="bold">Email</label>
|
|
|
<div>brian@sakal.us</div>
|
|
|
</section>
|
|
|
</section>
|
|
|
<section class="sections">
|
|
|
<section class="employment">
|
|
|
<label>
|
|
|
<div class="fit-content">
|
|
|
<div class="bold">Employment</div>
|
|
|
<div class="sm italic right">(Most recent first)</div>
|
|
|
</div>
|
|
|
</label>
|
|
|
<div>
|
|
|
<ul class="no-bullet">
|
|
|
<li>
|
|
|
<div>
|
|
|
<span class="bold">Senior Full-Stack Developer,</span>
|
|
|
<span>TorahAnytime.com, Flushing, NY</span>
|
|
|
</div>
|
|
|
<div class="italic right">June 2022–Present</div>
|
|
|
<div>
|
|
|
<ul>
|
|
|
<li>
|
|
|
Fixed/troubleshooted bugs and added features across multiple
|
|
|
legacy codebases
|
|
|
</li>
|
|
|
<li>Consolidated cloud resources by using Kubernetes.</li>
|
|
|
<li>
|
|
|
Successfully transitioned a top-level domain from a
|
|
|
self-hosted legacy site frontend by Cloudflare and nginx, to
|
|
|
one hosted by Vercel, while maintaining custom routes that
|
|
|
were handled by nginx and keeping the legacy site online
|
|
|
under a subdomain.
|
|
|
</li>
|
|
|
<li>
|
|
|
Setup CI/CD pipelines with DroneCI and Gitlab; in addition
|
|
|
to locally-runnable deploy scripts which reduced
|
|
|
time-to-deployment from 5 minutes to 15 seconds.
|
|
|
</li>
|
|
|
<li>
|
|
|
Setup Clickhouse for analytics and as a read-only copy of
|
|
|
MySQL data. Reduced query times from minutes to fractions of
|
|
|
a second.
|
|
|
</li>
|
|
|
<li>
|
|
|
Implemented a revamped phone system using a finite-state
|
|
|
machine. Content from the site is available and browsable by
|
|
|
phone, dynamically.
|
|
|
</li>
|
|
|
<li>
|
|
|
Setup supporting services in Kubernetes, such as Gitlab,
|
|
|
OpenTelemetry, a private Docker registry, a private NPM
|
|
|
registry, Grafana, and others. Transcoder pipeline
|
|
|
troubleshooting time was halved using OpenTelemetry tracing,
|
|
|
with spans stored in self-hosted Clickhouse, visualized in
|
|
|
Grafana.
|
|
|
</li>
|
|
|
<li>
|
|
|
Worked with (in no particular order): Node.js, Redis, MySQL,
|
|
|
PostgreSQL, RethinkDB, Elasticsearch, Clickhouse, Docker,
|
|
|
Nomad, Consul, Kubernetes, Helm, nginx, DigitalOcean
|
|
|
Droplets, Vercel, S3, Cloudflare, Express.js, React, React
|
|
|
Native, Next.js, Swagger
|
|
|
</li>
|
|
|
</ul>
|
|
|
</div>
|
|
|
</li>
|
|
|
<li>
|
|
|
<div>
|
|
|
<span class="bold">Assistant Manager,</span>
|
|
|
<span
|
|
|
>Sureknit Inc. Property Management, East Flatbush, NY</span
|
|
|
>
|
|
|
</div>
|
|
|
<div class="italic right">February 2020–June 2022</div>
|
|
|
<div>
|
|
|
<ul>
|
|
|
<li>Kept accurate records of tenant rent payments.</li>
|
|
|
<li>
|
|
|
Balanced bank account statements for all subsidiary
|
|
|
companies.
|
|
|
</li>
|
|
|
<li>
|
|
|
Monitored bank accounts of subsidiary companies to ensure
|
|
|
each had appropriate funding.
|
|
|
</li>
|
|
|
<li>
|
|
|
Provided necessary documentation for various real estate
|
|
|
operations, such as new leases, property sales, etc.
|
|
|
</li>
|
|
|
</ul>
|
|
|
</div>
|
|
|
</li>
|
|
|
<!-- <li>
|
|
|
<div>
|
|
|
<span class="bold">Architect Intern,</span>
|
|
|
<span>Sandy Hacohen, Flushing, NY</span>
|
|
|
</div>
|
|
|
<div class="italic right">July 2018–November 2018</div>
|
|
|
<div>
|
|
|
<ul>
|
|
|
<li>
|
|
|
Produced architectural drawings of various points-of-view
|
|
|
based on given floorplans.
|
|
|
</li>
|
|
|
<li>Adjusted existing floorplans to spec.</li>
|
|
|
</ul>
|
|
|
</div>
|
|
|
</li> -->
|
|
|
<li>
|
|
|
<div>
|
|
|
<span class="bold">Operations Manager,</span>
|
|
|
<span>Tax Opportunities America, Flushing, NY</span>
|
|
|
</div>
|
|
|
<div class="italic right">April 2014–May 2015</div>
|
|
|
<div>
|
|
|
<ul>
|
|
|
<li>
|
|
|
Interfaced with clients to collect necessary information for
|
|
|
their applications to government programs.
|
|
|
</li>
|
|
|
<li>
|
|
|
Prepared necessary documentation and submitted applications
|
|
|
to the government on behalf of clients.
|
|
|
</li>
|
|
|
<li>
|
|
|
Monitored and accommodated deadlines, missing client data,
|
|
|
and when client promised to have the data available
|
|
|
</li>
|
|
|
</ul>
|
|
|
</div>
|
|
|
</li>
|
|
|
<li>
|
|
|
<div>
|
|
|
<span class="bold">Representative,</span>
|
|
|
<span
|
|
|
>Computer-Aided Engineering Network (CAEN) Hotline, U. of
|
|
|
Michigan</span
|
|
|
>
|
|
|
</div>
|
|
|
<div class="italic right">2007–2009, 2010–2011</div>
|
|
|
<div>
|
|
|
<ul>
|
|
|
<li>
|
|
|
Provided first-response assistance to students experiencing
|
|
|
technical difficulties with the Engineering School's
|
|
|
computer resources.
|
|
|
</li>
|
|
|
<li>
|
|
|
Collected pertinent information from students to arrange for
|
|
|
involvement of specialized staff for more serious problems,
|
|
|
via the CAEN ticketing system.
|
|
|
</li>
|
|
|
</ul>
|
|
|
</div>
|
|
|
</li>
|
|
|
</ul>
|
|
|
</div>
|
|
|
</section>
|
|
|
<section class="projects-hobbies">
|
|
|
<label>
|
|
|
<div class="fit-content">
|
|
|
<div class="bold">Projects/Hobbies</div>
|
|
|
</div>
|
|
|
</label>
|
|
|
<div>
|
|
|
<ul class="no-bullet">
|
|
|
<li>
|
|
|
<div>
|
|
|
<span class="bold"
|
|
|
>Self-host email for the sakal.us domain</span
|
|
|
>
|
|
|
<span
|
|
|
>Hosted on Vultr, uses Postfix for SMTP and Dovecot for
|
|
|
IMAP.</span
|
|
|
>
|
|
|
</div>
|
|
|
</li>
|
|
|
<li>
|
|
|
<div>
|
|
|
<span class="bold">Self-host a Kubernetes cluster</span>
|
|
|
<span
|
|
|
>Uses the k3s implementation. Various services are deployed
|
|
|
within, including a private Docker image registry. TLS
|
|
|
certificates for the Ingresses are handled by
|
|
|
<code>cert-manager</code>. Private coding projects are also
|
|
|
deployed within.</span
|
|
|
>
|
|
|
</div>
|
|
|
</li>
|
|
|
<li>
|
|
|
<div>
|
|
|
<span class="bold">Self-host a Gitea code repository</span>
|
|
|
<span
|
|
|
>Deployed within the above Kubernetes cluster. Available at
|
|
|
<a href="https://git.sakal.us/">https://git.sakal.us</a></span
|
|
|
>
|
|
|
</div>
|
|
|
</li>
|
|
|
<li>
|
|
|
<div>
|
|
|
<span class="bold">Calendar Optimizer project</span>
|
|
|
<span
|
|
|
>The beginnings of a stock options research platform. Frontend
|
|
|
uses Preact, backend application layer uses trpc, database is
|
|
|
Clickhouse. Available at
|
|
|
<a href="https://calendar-optimizer-frontend.sakal.us"
|
|
|
>https://calendar-optimizer-frontend.sakal.us</a
|
|
|
>.</span
|
|
|
>
|
|
|
</div>
|
|
|
</li>
|
|
|
<li>
|
|
|
<div>
|
|
|
<span class="bold">Custom Full-Stack eCommerce website</span>
|
|
|
<span
|
|
|
>Created custom e-commerce website, both front-end and
|
|
|
back-end, from scratch; was at piazzaoptical.com (code at
|
|
|
<a href="https://git.sakal.us/avraham/piazzaoptical.com"
|
|
|
>https://git.sakal.us/avraham/piazzaoptical.com</a
|
|
|
>). Frontend was implemented in
|
|
|
<a href="https://mithril.js.org/">mithril.js</a>. For the
|
|
|
backend, nginx was setup as reverse proxy and TLS termination;
|
|
|
but the application code was implemented with
|
|
|
<a href="https://luajit.org/">LuaJIT</a> using
|
|
|
<a href="https://daurnimator.github.io/lua-http/0.4/"
|
|
|
>lua-http</a
|
|
|
>. The database was an
|
|
|
<a href="http://www.lmdb.tech/doc/">LMDB</a> KV store library
|
|
|
running as part of the LuaJIT app server using
|
|
|
<a href="https://github.com/shmul/lightningmdb"
|
|
|
>lightningmdb</a
|
|
|
>
|
|
|
Lua bindings; rolled-my-own wrapper around this so as to store
|
|
|
JSON objects (in the form of compressed Lua tables using
|
|
|
<a href="https://github.com/gvx/bitser">bitser</a>).</span
|
|
|
>
|
|
|
</div>
|
|
|
</li>
|
|
|
</ul>
|
|
|
</div>
|
|
|
</section>
|
|
|
<section class="relevant-skills">
|
|
|
<label>
|
|
|
<div class="fit-content">
|
|
|
<div class="bold">Skills/Technologies</div>
|
|
|
</div>
|
|
|
</label>
|
|
|
<div>
|
|
|
<ul class="inline">
|
|
|
<li>Docker</li>
|
|
|
<li>DevOps (Logging, Monitoring, Grafana, CI/CD)</li>
|
|
|
<li>Kubernetes</li>
|
|
|
<li>Node JS</li>
|
|
|
<li>Javascript/Typescript</li>
|
|
|
<li>React</li>
|
|
|
<li>MySQL/PostgreSQL</li>
|
|
|
<li>Elasticsearch</li>
|
|
|
<li>Clickhouse</li>
|
|
|
<li>Linux</li>
|
|
|
<li>Cloudflare</li>
|
|
|
</ul>
|
|
|
</div>
|
|
|
</section>
|
|
|
<section class="education">
|
|
|
<label>
|
|
|
<span class="bold">Education</span>
|
|
|
</label>
|
|
|
<div>
|
|
|
<ul class="no-bullet">
|
|
|
<li>
|
|
|
<div>
|
|
|
<span class="bold">B.S. in Aerospace Engineering,</span>
|
|
|
<span>University of Michigan, Ann Arbor, MI</span>
|
|
|
</div>
|
|
|
<div class="italic right">
|
|
|
Sept. 2006–April 2009, Sept. 2010–April 2011
|
|
|
</div>
|
|
|
<div class="italic right">GPA 3.185</div>
|
|
|
</li>
|
|
|
<li>
|
|
|
<div>
|
|
|
<span class="bold">Ph.D. in Rabbinics,</span>
|
|
|
<span>Rabbinical Seminary of America, Flushing, NY</span>
|
|
|
</div>
|
|
|
<div class="italic right">
|
|
|
April 2009–April 2010, April 2011–January 2020
|
|
|
</div>
|
|
|
</li>
|
|
|
</ul>
|
|
|
</div>
|
|
|
</section>
|
|
|
</section>
|
|
|
</body>
|
|
|
</html>
|