Tobias L. Johnson, Developer in Louisville, KY, United States
Tobias is available for hire
Hire Tobias

Tobias L. Johnson

Verified Expert  in Engineering

Software Developer

Louisville, KY, United States

Toptal member since August 31, 2015

Bio

Tobias is a well-rounded developer with broad experience in Microsoft/.NET technologies as well as open-source, Linux-based platforms. He specializes in building full-stack solutions using ASP.NET Core API and Angular UI. He takes a pragmatic approach to solving problems and is comfortable wearing many hats depending on client requirements. He thrives in Agile and DevOps environments and has excellent written and oral communication skills.

Portfolio

VPay, Inc.
Bamboo, Kubernetes, Docker, Redis, Elasticsearch, RabbitMQ...
Muhammad Ali Center
ImageMagick, Backbone.js, jQuery, ASP.NET MVC, ASP.NET Web API
Disabled American Veterans
Microsoft SQL Server, Bootstrap, jQuery, Backbone.js, Entity, ASP.NET MVC

Experience

  • C# - 18 years
  • Linux - 15 years
  • Ruby on Rails (RoR) - 6 years
  • Ruby - 6 years
  • Docker - 5 years
  • ASP.NET Web API - 3 years
  • .NET Core - 2 years
  • ASP.NET Core 2 - 2 years

Availability

Part-time

Preferred Environment

Kubernetes, Docker, Ubuntu Linux, Visual Studio

The most amazing...

...code I've written is a system to quickly move a high volume of incoming financial data from a legacy iSeries DB2 mainframe into an ElasticSearch cluster.

Work Experience

Senior Web/API Developer

2017 - 2018
VPay, Inc.
  • Architected and wrote a modern web app, API, and back-end to support a customer call center as well as external clients. Worked with small team of 2-4 other developers.
  • Made back-end connections to various systems including IBM iSeries mainframe w/DB2 database; existing APIs were written in Java or Python as well as Graylog and Elasticsearch.
  • Wrote a custom standalone, high-volume, fault-tolerant, clustered system using ASP.NET Core to detect updated records in SQL server, fetch all relevant data from various systems, then write the updates to Elasticsearch to be made available via API. All workers coordinated work using RabbitMQ.
  • Wrote a UI using Angular 4 + TypeScript to interact with the API.
  • Maintained continuous delivery/continuous integration tooling using Atlassian Bamboo, Docker/Docker Compose, and Kubernetes.
Technologies: Bamboo, Kubernetes, Docker, Redis, Elasticsearch, RabbitMQ, Entity Framework Core, ASP.NET Core 2

Developer/Architect, "Poster Pledge" Custom Interactive Museum Exhibit

2015 - 2016
Muhammad Ali Center
  • Researched, designed, developed, and supported a custom interactive exhibit which allows visitors to superimpose their live image on one of several Muhammad Ali posters, and optionally send the images via text or email.
  • Wrote a custom back-end to interact with Canon SDK and retrieve camera status, start live video capture mode, take still photos when the visitor was ready, and detect and correct errors (focus fail, loss of connection, etc.).
  • Streamed the live video from the camera, run through a real-time chroma-key (“green screen”) filter, then streamed out via HTTP. Captured images had additional effects applied (sepia tone, dithered “newspaper” look, etc.).
  • Built the UI in ASP.NET MVC with “command and control” via ASP.NET MVC Web API. The Chrome dedicated kiosk displayed the UI on an interactive touchscreen. Wrote custom CSS to position and layer the various live videos, backgrounds, effects, text, etc.
  • Interacted with Azure API to send generated animated GIFs to visitor and also make full-size images available to print in gift shop.
Technologies: ImageMagick, Backbone.js, jQuery, ASP.NET MVC, ASP.NET Web API

Senior Web Developer

2015 - 2016
Disabled American Veterans
  • Developed an all-new platform to enable DAV officers to track disabled veterans' cases. Replaced the existing paper-based system.
  • Provided technical leadership to junior developers on all aspects of ASP.NET MVC, Entity Framework, jQuery, and Backbone.js.
  • Wrote custom logic and an API to interface and interact with the hardware signature pad to collect signatures on paperwork.
Technologies: Microsoft SQL Server, Bootstrap, jQuery, Backbone.js, Entity, ASP.NET MVC

Senior Web Developer, Team Lead

2010 - 2015
Heartland Payment Systems
  • Wrote and maintained an internal tool to manage Salesforce commissions based on recurring revenue of their clients and other factors, using ASP.NET MVC, Entity Framework, and C#.
  • Designed and implemented automated testing and continuous integration environments using BuildMaster and TeamCity.
  • Performed code reviews and set standards for the rest of the team.
  • Wrote a tool for importing and validating custom sales spreadsheets using ASP.NET MVC, Backbone, jQuery, and AutoMapper to allow manually adjusting payrolls.
  • Wrote a REST-based API using ASP.NET WebAPI 2 to expose Salesforce data within the organization.
Technologies: SQL Server 2012, Entity Framework, ASP.NET MVC 4

Founder/CEO

2005 - 2012
ThetaHost Solutions, LLC, and Finishr.com
  • Conceived and wrote an SEO/affiliate link website using Ruby on Rails, Nginx, and HAProxy in Docker containers which receives approximately 150,000 unique monthly visitors.
  • Designed and wrote Finishr.com, a responsive website which allows race directors to provide real-time race results to users. Uses Ruby on Rails, Nginx, Passenger, HAProxy, with Faye for pub/sub messaging.
  • Wrote a command-line driven tool to automatically provision and scale up/down the application and web tiers using Chef cookbooks and API.
  • Administered client WordPress installs using wp-cli and Git.
  • Developed, wrote, and sold a "white label" website to allow clients' end users to create basketball pools, with automatic scoring, win/loss notifications, and Facebook integration. Used PHP + CodeIgniter MVC framework.
Technologies: PHP, Ruby on Rails (RoR), Ruby, Docker, Chef, HAProxy, NGINX, MySQL

vss2svn

https://github.com/irontoby/vss2svn
A tool I wrote in 2006-2008 to convert a VSS database to Subversion. It involved reverse-engineering the VSS data format since Microsoft's own API was too buggy to be reliable. Coordinated with a handful of other developers to accept patches and improvements.

Shuttleit Event Handler

https://github.com/irontoby/shuttleit/
A small Perl script I wrote after a piece of hardware I purchased did not work correctly under Linux. It shows my ability to methodically approach a problem, as it required me to do the following:

• Inspect the data sent from the device.
• Research how to write and install a tool as a user-land device driver.
• Write the script in a well-organized, extensible manner.
• Communicate to others with a similar problem on how to use or improve it themselves.
1993 - 1997

Bachelor of Science Degree in Chemistry

Southeast Missouri State University - Cape Girardeau, MO

Libraries/APIs

Underscore.js, Backbone.js, jQuery, Entity Framework, ImageMagick

Tools

Visual Studio, RabbitMQ, Bamboo, Trello, NGINX, Chef, Docker Compose

Languages

C#, JavaScript, HTML5, HTML, CSS3, CSS, Ruby, Perl, Sass, PHP, Less

Frameworks

ASP.NET Core 2, .NET Core, Entity, ASP.NET MVC, Entity Framework Core, ASP.NET MVC 4, Bootstrap, ZURB Foundation, ASP.NET Web API, Bootstrap 3, Ruby on Rails (RoR)

Paradigms

REST, Responsive Web Design (RWD)

Platforms

Ubuntu, Linux, Visual Studio 2017, Visual Studio Code (VS Code), Ubuntu Linux, Amazon Web Services (AWS), Amazon EC2, WordPress, Windows Server 2012, Docker, Kubernetes

Storage

MySQL, SQL Server 2012, SQL Server 2016, SQL Server 2017, Microsoft SQL Server, Elasticsearch, Redis, PostgreSQL, Amazon S3 (AWS S3)

Other

HAProxy, Coding, Development

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