Chaim Halbert

Revision 2024-04-04 12:51-0700
בס״ד

Phoenix, AZ 85016, local to area or remote

github.com/chaimleiblinkedin.com/in/chaim-halbert

Goals

Skills

Coding: More than 20 years of experience. Recent experience in Go/Golang (8 yrs, current primary language), C# .Net (11 yrs), JavaScript/Node.js (15 yrs), Python (16 yrs), Ruby (8 yrs), TypeScript and FlowScript (7 yrs), Java (13 yrs), C (17 yrs), PHP (14 yrs) MySQL (13 yrs), awk (8 yrs), bash (22 yrs), zsh (6 yrs), ash (6 yrs) and dash (8 yrs); less recent experience in Perl, C++, Objective-C, Swift, Matlab, Octave, Verilog, Visual Basic .Net, Lua, ladder logic, PLC structured text/IEC 61131-3, Scheme, LISP. Can write parallel and concurrent code. Creates parsers, compilers and interpreters for new mini-languages. >50 languages; learns new ones quickly.

Web technologies: Full stack web and cloud development using GCP (7 yrs), AWS (2 yrs) and OpenShift (1 yr); MySQL (13 yrs), PostgresQL (2 yrs), NoSQL (8 yrs), React (7 yrs), Angular (1 yr), jQuery (13 yrs), Webpack (8 yrs), npm/yarn (8 yrs), Docker/Podman (8 yrs), Express.js (3 yrs), Django (1 yr), Flask (1 yr), Kubernetes (2 yrs), ElasticSearch (1 yr), Redis (1 yr), CouchDB (1 yr), Thrift (2 yrs), Protobuf (2 yrs), SRE (7 yrs), Splunk (1 yr), Datadog (6 yrs), PagerDuty (on-call 4 yrs).

Systems architect: Designs long-lasting build systems and cloud apps, and procedures for the problem and the team, some of which have been battle-tested for six years and are still going strong. Willing to break from convention for the sake of simpler, nimbler code. Seeks out feedback for improvements to training, tooling and architecture. In addition to the above, uses Terraform (1 year), systemd (1 yr) and Red Hat Enterprise Linux (3 yrs) to build Infrastructure as Code/IaC.

Security and privacy: Catches potential attack vectors at code review. Protects coworkers’ and customers’ privacy as a matter of deep personal conviction to “do no harm,” while allowing the power and flexibility to get the job done, and done well.

Algorithms and Data Structures: recursive data structures and algorithms, big-O memory and performance analysis, robot control with state machines, machine learning, OCR, pathfinding, 3D graphics and raytracing, operating systems, filesystems, relational and nonrelational databases

Continuous Integration and End-to-End Testing: Jenkins (8 yrs), TravisCI (13 years), CircleCI (1 yr), GitHub Actions (1 yr), Selenium (8 yrs), headless Chromium (1 yr), Docker (7 yrs)

Data Processing and Visualization: Log analysis and histograms, music synthesis and analysis, FFT, multi-sensor fusion, timeseries visualization and regression curves, principal component analysis, neural networks. Google StackDriver, Google BigQuery, Splunk, awk, Gnuplot, Python, Matlab, Octave, LabView, MaxMSP

Other: Uses Arch Linux as daily driver. This resume was written in vim using Markdown, and rendered using a Makefile, pandoc, headless Chrome, and a Python DOM manipulation script. 3D printing, using self-designed models in Blender and FreeCAD.

Work experience

Senior Golang Software Engineer, Bank of America, contract via Randstad USA (April 2023 - current)

Added secrets management capabilities to compute resource provisioner: Automated process to provision internal applications on OpenShift Cluster/Kubernetes. Go/Golang, Hashicorp Vault, OpenShift Cluster/Kubernetes, Cobra, Gorm, Gin, Swagger (Swaggo), postgresql, BitBucket, Agile

Mentored other engineers in Linux setup and Golang: Documented onboarding processes and guided other devs in setting up Linux servers. Linux, bash, Git Bash, postgresql, ssh, Go, golanci-lint, Jenkins, Markdown, Confluence

Cloud Software Engineer, Evernote (June 2016 - February 2023; Redwood City, CA four years; then remote in Phoenix, AZ)

Led the re-architecting and migration of evernote.com from PHP with AWS to Go and C# with Google App Engine: My system design was in production for seven years, until Evernote changed hands and moved. Recursive component template system; 26-language localization system; CMS integration for non-programmer edits to site; tooling for deploy, preview, unit test, and code quality; query tools to answer high-level questions about the web service. Google Cloud Platform, AWS, Ubuntu, Debian and Alpine Linux, Docker, Kubernetes, git, Go/Golang, C#, Perl, PHP, Java, bash, dash, zsh, Python, MySQL, NoSQL, Redis, JavaScript/Node.js, Jenkins CI, webpack, React, yarn/npm, SASS, awk, grep, sed, jq, SRE

Content Delivery Network (CDN): Host images for Iterable emails and load-balance them across the globe. Google Cloud Storage

Browser-based note editor and checkout flow: Improved the online flagship app. Typescript, Webpack, yarn, React, Redux, Java, Maven, bash

Google Cloud Platform: load balancing, scaling, hosting, URL routing and event routing. App Engine, Cloud Functions, Cloud Storage, Pub/Sub, StackDriver, BigQuery, KMS secrets management, HAProxy

Communication: Translates Computer-ese to English. Coordinated code changes with Security, App, Translation, Design, and Marketing teams; guided other teams in modifying our team’s projects; onboarded and trained new team members; presented site architecture to new management; wrote High-Level Design documents and cost analyses; documented team processes and APIs. Convenes cross-functional teams for root-cause analysis of service interruptions. Slack (+ API), Atlassian JIRA and Confluence, BitBucket, DataDog, PagerDuty

Software Engineer, Coupa Software (May 2015 – January 2016; San Mateo, CA)

Fintech for tracking expenses. Optimized RSpec test harness to work 30% faster; in-browser integration tests and unit tests; cooperated via Agile with hundreds of developers using GitHub and Atlassian JIRA. Ruby on Rails, RSpec, MySQL and migrations, Turnip unit tests, BDD, Cucumber, JavaScript, Jenkins, bash, Jira

Software Engineer Intern, Rustici Software (June 2014 - August 2014; Nashville, TN)

Released open-source Python client library for TinCan API (xAPI 2.0) and created a JSON object verifier and recognizer using JSON Schema and Node.js/JavaScript.

Industrial Controls Engineer, Bridgestone (May 2012 - December 2012; Nashville, TN)

Designed fail-safes, safety and control systems for factory machinery. Embedded systems, RTOS, electrical schematics, AutoCAD Electrical (incl. plugin development in C# .Net, Visual Basic .Net, and AutoLISP), CoDeSys, RSLogix, PLC, structured text a.k.a. IEC 61131-3, ladder logic

Computer Programmer Intern, Oak Ridge National Laboratory Physics Division (June 2010 - August 2010; Oak Ridge, TN)

Modernized a browser-based experiment log system. PHP, JavaScript, MySQL, TinyMCE, ssh, vim, Red Hat Linux

Notable personal and school projects

github.com/chaimleib/intervaltree, 2014 onward. Modify and query intervals in logarithmic time in pure Python 2/3. This is the industry reference implementation of interval trees in Python, cited in numerous academic research papers for genome research, computer vision applications, etc. Python, data structures, open source, CI, GitHub, TravisCI, GitHub Actions, Docker

github.com/chaimleib/dotfiles, 2014 onward. Portable, multi-OS environment setup scripts and automatic installers. bash, dash, zsh, busybox, Linux (Ubuntu, Debian, Mint, Arch, Alpine, Red Hat), POSIX, Solaris, CentOS, macOS, MinGW, vim/neovim script, Language Server Protocol

github.com/chaimleib/rpn, 2023 onward. Calculator project to teach compiler-compiler tools. C, flex, bison, parsers, compilers, interpreters, CircleCI, SonarCloud

Pyenv v2.3.14, github.com/pyenv/pyenv February 2023. Added patches for Python’s source code, versions 3.6 and 3.5, fixing for the world compilation for modern OSes on x86_64 and Apple M1 processors. C, patchfiles, GitHub, pyenv, Python, open-source

Completed Linux From Scratch twice, in 2006 and 2021 (linuxfromscratch.org/lfs). Compiled and configured a complete OS from C/C++ source code. Linux, OS, boot sequence, bash, Makefile, X11

chaimleib.com personal website and jQuery audio player (zichronos), 2014 onward. TLS/HTTPS, Ruby, JavaScript, jQuery, React, Jekyll, GitHub Pages, GitHub Actions, bash, SCSS

3D printing: Designed and printed replacement parts for appliances around the house, including cable guides, freezer door parts, and iPad cases.

Custom mechanical keyboards: Built the ErgoDox split keyboard kit from components, added LED backlighting and customized the firmware. Also, built a retro joystick controller that works over USB using Atmega32u4 microcontroller and custom-coded firmware. C, Atmel microcrontrollers, GNU Make, GCC, cross compilers, firmware development, embedded systems, serial communication, USB protocol

USB Nintendo 64 Cartridge reader, 2014. Allows backups of N64 games to the computer using Atmega32u4 (Teensy 1.0). Embedded systems, C, Atmel microcontrollers, USB protocol, Linux device development

2-axis gimballed spotlight with IR camera target tracker, UC Berkeley EECS 149 Intro to Embedded Systems, 2014. Embedded systems, C, Python, FSM program architecture, Raspberry Pi, Bluetooth, Nintendo Wii controller, RS485 serial servos

Handwritten digit recognizer, Coursera.com Machine Learning, August 2012 with Prof. Andrew Ng. Octave (open-source clone of Matlab), computer vision, directed machine learning, matrix algebra

Lua-like interpreter, parser generator and bytecode compiler, UC Berkeley CS 164 Compilers, 2010. Python 2, compilers, parsers, interpreters, vimscript, vim syntax highlighting

First personal web site on Geocities.com, published at age 11 in middle school.

Education

University of California, Berkeley – B.S. program in Electrical Engineering and Computer Science (August 2008 - March 2014)

Projects were completed in Python, C, C++, Java, JavaScript, GNU Makefile, Matlab, Scheme, Verilog, and Latex. Courses covered physics, calculus, matrix algebra, recursive data structures and algorithms, AI, computer graphics, compilers, embedded systems, DSP, FPGAs, analog and digital circuits, SPICE circuit simulation.

Hume-Fogg Academic Magnet H.S., Nashville, Tennessee - National Honor Society (August 2004 - May 2008)

Honors Algebra, Honors Trigonometry and Pre-Calculus, AP Calculus BC, Honors Multivariable Calculus, AP Physics BC. Audited CS college courses at Vanderbilt University: Computer Networking and Digital Electronics. Four years German including AP German and first place at interscholastic competitions. Volunteered with school IT engineer and experimented with Linux from scrounged computer parts. Designed and built voltage-shifting driver circuits for science fair robotics projects, controlled by Lego RCX microcontroller. Mock company website for summer Governor’s School Program. digital electronics, electronic schematics, advanced mathematics, C, C++, Visual Basic .Net, MySQL, RDBMS, MySQL, UML, HTML, JavaScript, CSS, Mac OS X GUI programming, network administration, Ubuntu Linux, bash shell, TI BASIC, microcontrollers, embedded systems, robotics, German