Jeff Gran, Developer in Colorado Springs, CO, United States
Jeff is available for hire
Hire Jeff

Jeff Gran

Verified Expert  in Engineering

Software Developer

Location
Colorado Springs, CO, United States
Toptal Member Since
May 11, 2020

Jeff has been primarily a Ruby and JavaScript developer for the past 10 years. He is familiar with a variety of other languages and frameworks. Most recently, he's spent a year doing iOS development in Swift, and then a year doing DevOps work with Terraform, AWS, Docker, and other technologies.

Portfolio

Le Tote
Amazon Web Services (AWS), Terraform, Phoenix, Elixir, Swift, iOS...
TRELORA
React Native, Redis, MySQL, Elasticsearch, MobX, React, Ruby on Rails (RoR)...
OpenLogic
jQuery, JavaScript, MySQL, Redis, Solr, HBase, Hadoop, Java Web Start, JRuby...

Experience

Availability

Part-time

Preferred Environment

Swift, TypeScript, JavaScript, Ruby on Rails (RoR), Ruby

The most amazing...

...software I've built was a SaaS code scanner that could analyze a client's source code using cryptographic hashes without the code leaving the internal network.

Work Experience

Senior Staff Software Engineer

2017 - PRESENT
Le Tote
  • Took charge of a project to break off part of a Rails app into a separate service written in Elixir. This project was struggling when I arrived. I took over, developed a plan to migrate all the data and functionality and led a small team in doing so.
  • Refactored our Webpack configuration to significantly reduce the size of the JavaScript bundle and reduce duplication.
  • Introduced TypeScript and started the process to convert some of our JavaScript code to TypeScript. Used code-generation to automatically generate types based on the server's API specification. Mentored engineers in the TypeScript conversion process.
  • Maintained our ops infrastructure in the AWS cloud via Terraform. I refactored our Terraform code into modules. I imported more AWS resources into the terraform code.
Technologies: Amazon Web Services (AWS), Terraform, Phoenix, Elixir, Swift, iOS, Ruby on Rails (RoR), Ruby

Senior Software Engineer

2016 - 2017
TRELORA
  • Led a small team of developers building a Ruby on Rails application.
  • Introduced React to an existing mostly-server-rendered application. We needed a real-time chat widget, so I used React for the UI and used a service called PubNub to publish and subscribe to topics with WebSockets for real time updates.
  • Introduced the use of Mobx for state management in a new, larger React front-end application.
  • Introduced ElasticSearch into the Ruby on Rails back-end application and configured an efficient indexing scheme for search results.
  • Built an internal-facing (only employees used it) iOS app written in React Native, which shared some JavaScript code with our other applications.
Technologies: React Native, Redis, MySQL, Elasticsearch, MobX, React, Ruby on Rails (RoR), Ruby

Software Engineer

2010 - 2016
OpenLogic
  • Built an internal source code analysis app using JRuby and Rails and shared code from our client-facing source code scanner. It monitored queues of analysis jobs, recorded errors, and tracked results of analyzing millions of source code files.
  • Wrote a source code scanner which analyzed files to record information such as language, number of characters/lines/bytes with and without whitespace, with and without comments, and code signatures for matching purposes.
  • Developed a scheme for storing file analysis data, separated by "intrinsic" data—that which is part of the data inside the file itself, and "extrinsic" data—that which is about the context of the file, like the file's name, location, directory.
Technologies: jQuery, JavaScript, MySQL, Redis, Solr, HBase, Hadoop, Java Web Start, JRuby, Ruby on Rails (RoR), Ruby

Le Tote iOS App

https://apps.apple.com/us/app/le-tote-fashion-for-rent/id998774685
An iPhone app is written in Swift. One major feature I wrote for this app was the filtering options for when browsing for products. I also wrote most of the back-end code for the filtering. The set of filters and filter options available on each page were supplied by the back end, so the front end had to dynamically take that list, display it, and send the user's options back to the server. There were a couple of complications: (1) when you select certain filters, a sub-section of "sub-filters" that only apply within that filter shown. (2) There are different display types for different filters, for example, colors show up as color swatches, and the brands' list is so large that it has to be displayed on a separate screen, all of which is generically built into the API so that it can be specified and rendered dynamically.

Languages

Ruby, JavaScript, SQL, GraphQL, Swift, Elixir, TypeScript, JRuby

Frameworks

Ruby on Rails (RoR), Redux, Phoenix, React Native, Java Web Start, Hadoop

Paradigms

Object-oriented Programming (OOP), Functional Programming

Storage

MySQL, Elasticsearch, PostgreSQL, Redis, HBase

Libraries/APIs

React, MobX, jQuery

Tools

Terraform, Solr

Platforms

Linux, Amazon Web Services (AWS), iOS

1999 - 2003

Bachelor of Arts Degree in Computer Art - 3D Modeling and Animation

Savannah College of Art and Design - Savannah, Georgia

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