Justin Eberlein, Developer in Chicago, IL, United States
Justin is available for hire
Hire Justin

Justin Eberlein

Verified Expert  in Engineering

Software Engineer and Developer

Chicago, IL, United States

Toptal member since January 23, 2025

Bio

Justin is a senior full-stack and back-end developer with six years of professional experience across various languages and stacks. He specializes in programming fundamentals and can ramp up quickly in unfamiliar stacks. Justin also specializes in finding the root causes of bugs instead of just solving surface-level concerns.

Portfolio

Amount
Ruby, Ruby on Rails (RoR), Sinatra, Algorithms, Software Architecture, React...
Motorola Solutions
Java, QA Testing, Python, C, Node.js, Vue, TypeScript, Windows PowerShell, C#...
Epic
C#, .NET, Algorithms, Sorting Algorithms, JavaScript, Software Development

Experience

  • SQL - 6 years
  • Java - 6 years
  • Software Development - 6 years
  • Ruby on Rails (RoR) - 2 years
  • Ruby - 2 years
  • Python - 2 years
  • Big Data - 1 year
  • Amazon Web Services (AWS) - 1 year

Availability

Full-time

Preferred Environment

Ruby, Java, Python, Linux, MacOS

The most amazing...

...library I've developed is a financial calculator I built from scratch at Amount, with a focus on maintainability and extensibility.

Work Experience

Senior Software Engineer

2021 - 2023
Amount
  • Optimized the loan amortization algorithm to run in as little as 50% of the time.
  • Designed and implemented a new loan amortization library, making it easier to maintain in the future.
  • Built the API for a corresponding new microservice.
  • Reduced the number of implementation details inherited from Avant, making the platform more customizable for other partners.
Technologies: Ruby, Ruby on Rails (RoR), Sinatra, Algorithms, Software Architecture, React, JavaScript, RESTful Microservices, Back-end, SQL, Software Development

Software Engineer II

2017 - 2020
Motorola Solutions
  • Created an automated radio testing system in Java, removing the need to upskill QA in Java development.
  • Leveraged TypeScript, Node.js, and Vue to configure radio networks over the cloud as an original member of the Nitro team.
  • Automated the installation of security software using Windows PowerShell, reducing the amount of human interaction required.
Technologies: Java, QA Testing, Python, C, Node.js, Vue, TypeScript, Windows PowerShell, C#, Azure, Software Development, SQL

Software Development Intern

2016 - 2016
Epic
  • Took a feature, multilevel sorting, which was considered prohibitively time-consuming to implement, and simplified it to take a matter of minutes.
  • Wrote a faster sorting algorithm than List.Sort in C#, which avoided the expected trade-off of things taking imperceptibly longer to sort.
  • Used C#, .NET, and JavaScript to serve and display radiography data.
Technologies: C#, .NET, Algorithms, Sorting Algorithms, JavaScript, Software Development

Experience

Assorted Ruby Games

I implemented Tetris in Ruby 2D, using a specialized color scheme to help treat amblyopia. Instead of using colors based on the block shape, I used red for all the stationary blocks and blue for the falling blocks to force people's eyes to work together.

I also created a simple wireframe 3D graphics engine that could show things in anaglyph 3D (red-blue 3D glasses), then made a 3D version of Pong with a similar goal.

Automated Radio Testing App

A developer at Motorola's Kraków office had created a Java library for interfacing with radios to enable automated testing. However, this came with the issue of QA needing to upskill in Java to be able to use it. Instead, I built an application around it, which used advanced Java concepts, such as reflection, to dynamically generate test cases from human-readable configuration files. This solution offered two key benefits. First, QA teams only needed to learn how to write and modify configuration files, eliminating the need for Java expertise. Second, it simplified test maintenance, as Jenkins tasks could be easily understood by reviewing the config files rather than digging into the source code of the JAR file.

New Fincalc

Long story short, there was a weird test failure on master at Amount that we were able to trace back to a bug in an internally developed library for amortizing loans. However, despite multiple other senior engineers and I investigating, no one could even figure out how the code was *supposed* to work, much less how to fix it. So, because it was only failing on weirdly specific data that wouldn't actually appear in production, we decided to just cautiously comment the test out and keep an eye on it while working on a better solution in the background. We decided to monitor it while working on a better solution in parallel.

I took the initiative to develop that solution. Given my familiarity with the underlying math, I began building a replacement library as a side project during scheduled cooldown periods. When the company was transitioning to a microservice architecture, it decided to use the new amortization microservice as an opportunity to switch. So I was brought onto that team, and it became my actual job to work on this library and matching microservice.

Education

2012 - 2016

Bachelor's Degree in Computer Science

University of Nebraska–Lincoln - Lincoln, NE, USA

Certifications

SEPTEMBER 2024 - SEPTEMBER 2027

AWS Certified Developer – Associate

Amazon Web Services

Skills

Libraries/APIs

Node.js, Vue, React

Languages

Ruby, Java, Python, SQL, C, TypeScript, JavaScript, C#

Frameworks

Ruby on Rails (RoR), Sinatra, Windows PowerShell, .NET

Platforms

Linux, Amazon Web Services (AWS), MacOS, Azure

Storage

NoSQL

Other

Software Development, Software Design, Algorithms, Statistics, Software Architecture, Big Data, QA Testing, Computer Science, Finance, Sorting Algorithms, RESTful Microservices, Back-end, Numerical Analysis

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