Noah Katzman, Developer in New York, NY, United States
Noah is available for hire
Hire Noah

Noah Katzman

Verified Expert  in Engineering

Software Developer

Location
New York, NY, United States
Toptal Member Since
July 28, 2017

Noah has over five years of experience in programming APIs, distributed systems, and web apps. He is a software engineer by education, with a great foundation in computer science that helps him understand software systems. As a former Yahoo developer, he has strong ideas and expertise in automated testing, CI/CD, and agile practices. He loves to keep up with industry standards and participate in fast-paced, hard-working teams.

Portfolio

Syllable (via Toptal)
Serverless, Redis, Amazon S3 (AWS S3), Amazon DynamoDB, AWS Lambda, Node.js...
Advencha, Inc.
Let's Encrypt, Pytesseract, Python, Docker, Kubernetes, Firebase, NGINX...
Yahoo
Amazon Web Services (AWS), RHEL, Docker, Kubernetes, Jenkins, Bash, Joi...

Experience

Availability

Part-time

Preferred Environment

JavaScript, Git, Linux, MacOS

The most amazing...

...thing I've coded is a Chef library that automated health checks to detect, clean up, and fix Jenkins workers before problems happened.

Work Experience

Software Engineer

2017 - 2017
Syllable (via Toptal)
  • Developed various distributed microservices to support the core user, authorization, and admin functionalities with Node, Lambda, DynamoDB, S3, Redis, and Serverless.
  • Developed a distributable JavaScript bundle with React, Redux, and Webpack for adding a chat window to any website.
  • Expanded an admin dashboard web application for managing various services and components.
  • Defined engineering best practices by bringing in testing frameworks, consolidating common libraries, and setting up continuous delivery pipelines.
  • Set up back-end service log aggregation and client-side monitoring.
Technologies: Serverless, Redis, Amazon S3 (AWS S3), Amazon DynamoDB, AWS Lambda, Node.js, Webpack, Redux, React

Co-Founder

2016 - 2017
Advencha, Inc.
  • Designed a JavaScript web application framework with JavaScript ES6, Joi, Express, and Firebase that expedites the process to set up and develop on contracted microservices.
  • Created an acceptance testing framework with JavaScript ES6 and Cucumber to easily write and run HTTP requests and assert values on responses.
  • Built a data pipeline to download, analyze, and store information from PDFs using Python, Pytesseract, Wand, and ImageMagick.
  • Configured continuous deployment pipelines for all services within Kubernetes.
  • Set up a reverse proxy with Nginx to download and cache external images over HTTPS to ensure that all connections made from websites are secure.
Technologies: Let's Encrypt, Pytesseract, Python, Docker, Kubernetes, Firebase, NGINX, Cucumber, Joi, React, Express.js, Node.js

Software Systems Engineer, Intermediate

2014 - 2016
Yahoo
  • Wrote provisioning and deployment microservices in Node.js to directly integrate the platforms as a service offering into the build system.
  • Became a subject matter expert for a company­wide initiative to continuously deploy all Node.js applications.
  • Contributed to the Chef Cookbook to manage and configure 200+ machine Jenkins Cluster.
  • Implemented a Chef library to automate the process of detecting and restoring unhealthy machines in the Jenkins cluster which eliminated the need for developer interaction.
  • Helped the lead developer in rewriting and open sourcing the internal build system (http://screwdriver.cd).
  • Extended the functionality of external services that were available during builds; learned Bash, Docker, and Go.
Technologies: Amazon Web Services (AWS), RHEL, Docker, Kubernetes, Jenkins, Bash, Joi, Hapi.js, Chef, Ruby, Go, JavaScript, Node.js

Software Engineering Intern

2013 - 2013
Yahoo
  • Wrote Chef Cookbook recipes to configure and manage the enterprise ­level Chef server.
  • Learned the Agile framework and methodology through participation in daily standup and logistical meetings.
  • Was exposed to test driven development, pair programming, and developer experience best practices.
Technologies: Git, Bash, JavaScript, Ruby, Chef

Naval Engineering Education Center (NEEC) Researcher

2011 - 2013
University of Michigan, Perceptual Robotics Laboratory
  • Enhanced a graphical viewing display in C++ that enabled a real­-time view of published data in the messaging system. The research project was to autonomously land a quadrotor drone on a moving Segway by using onboard video streams, accelerometer data, and April tags for target detection.
  • Presented the project at NEEC conferences and was awarded second place for best student undergraduate project.
Technologies: Google, Computer Vision, OpenGL, C++

Data Management Automation and Tools Intern

2012 - 2012
Autodesk
  • Programmed the C# framework for extracting statistics on data sets and selecting data set testing.
  • Exposed the statistics framework in a unit testing API.
  • Added a scheduling functionality in PHP to an internal website used for booking infrastructure.
Technologies: PHP, Unit Testing, C#

Index.js

This piece of code uses a node module called Expressless that I recently wrote. The goal of Expressless is to make it easy to turn an Express route into a serverless function (currently works for Google functions since they essentially expose an Express route handler)

In this code, there is a schema defined with Joi. The module will flatten the schema and serve an HTTP-triggered Google function.

To run this code, run the following:
1. "npm install –save expressless joi."
2. "node index."
Then, if you have gcloud set up, you can deploy this serverless function.

Create a bucket called "test-functions."
Run the command: gcloud beta functions deploy foo –stage-bucket="test-functions" –trigger-http –local-path=.""

This will deploy a cloud function called foo. The output should be something like this:
httpsTrigger:
URL: https://-.cloudfunctions.net/foo

From the command line, run:
curl https://-.cloudfunctions.net/foo/v1/foo

You should see that the HTTP request has been served.

Libraries/APIs

Node.js, React, OpenGL, ImageMagick

Languages

JavaScript, CSS, HTML, SQL, C++, Ruby, Bash, C#, PHP, C, Go, Python

Frameworks

Express.js, Hapi.js, Redux

Tools

Chef, Git, Webpack, Let's Encrypt, Cucumber, NGINX, Jenkins, Sketch

Paradigms

Microservices, Unit Testing, Functional Testing, Test-driven Development (TDD), Continuous Delivery (CD), Agile Software Development

Platforms

Kubernetes, Docker, Firebase, Linux, MacOS, AWS Lambda, Amazon Web Services (AWS)

Storage

MySQL, Amazon DynamoDB, Amazon S3 (AWS S3), Redis, PostgreSQL

Other

Joi, Pytesseract, Computer Vision, Google, Serverless, RHEL, Google Material Design, HTTPS

2010 - 2014

Bachelor of Science in Computer Science Engineering

University of Michigan - Ann Arbor, MI, USA

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring