James Deville, Developer in Ventura, United States
James is available for hire
Hire James

James Deville

Verified Expert  in Engineering

Software Developer

Ventura, United States

Toptal member since May 26, 2022

Bio

James is a principal engineer with over 15 years of experience in multiple technical and leadership roles. He is at home developing in Ruby, JavaScript, TypeScript, Elixir, and Go and can also provide technical guidance on architecture and systems design. James loves to learn new technologies and codebases and would be happy to help with different projects.

Portfolio

Procore
Apache Kafka, Docker, Ruby, Ruby on Rails (RoR), Go, TypeScript, Kubernetes...
Procore
Elixir, PostgreSQL, Ruby, Ruby on Rails (RoR), Amazon DynamoDB, Apache Kafka...
Malwarebytes
Amazon Simple Queue Service (SQS), Amazon Simple Notification Service (SNS)...

Experience

  • Ruby - 15 years
  • Ruby on Rails (RoR) - 15 years
  • JavaScript - 11 years
  • Vim Text Editor - 10 years
  • Node.js - 7 years
  • Go - 6 years
  • TypeScript - 3 years
  • Elixir - 2 years

Availability

Part-time

Preferred Environment

Visual Studio Code (VS Code), OS X, Linux, Windows, Vim Text Editor, Slack, Zoom, Discord

The most amazing...

...project I've been a part of as the SDET of IronRuby at Microsoft was working on open source in an otherwise closed source world.

Work Experience

Principal Software Engineer

2021 - PRESENT
Procore
  • Acted as a technical leader of Procore’s new observability team.
  • Led discussions about team formation related to charter, vision, and process guidance.
  • Developed a long-term company vision for observability, including infrastructure changes, vendor relations, and tooling.
  • Interfaced with vendors for support, feature, and recommended practice development.
  • Participated in negotiations of contracts with tooling vendors.
  • Mentored a team and guided the development of an OpenTelemetry-based observability pipeline.
  • Mentored a team in multiple languages, including Go, Ruby, and TypeScript, to develop tooling and libraries.
  • Supported team efforts to own Helm and Terraform modules for managing the observability infrastructure.
Technologies: Apache Kafka, Docker, Ruby, Ruby on Rails (RoR), Go, TypeScript, Kubernetes, Amazon EC2, OpenTelemetry, StatsD, Sumo Logic, Datadog, New Relic, Helm, Python, SQL, C#, Git, Observation, Redis, GitHub, Back-end, APIs, Remote Team Leadership, Remote Work, Team Leadership, Visual Studio Code (VS Code), OS X, Linux, Vim Text Editor, Slack, Zoom, JavaScript, Node.js, Amazon Web Services (AWS), Terraform, REST, Amazon Simple Notification Service (SNS), Amazon Simple Queue Service (SQS), Amazon S3 (AWS S3), .NET, NestJS, Architecture, Agile, Web Architecture, Back-end Development

Staff Software Engineer

2019 - 2021
Procore
  • Worked on a small team pairing and mobbing to drive architectural changes to Procore’s webhook and WebSocket systems.
  • Designed and developed new Elixir-based APIs for change tracking.
  • Headed design discussions with stakeholders to ensure designs met requirements.
  • Advised and performed changes in Ruby on Rails codebase interacting with Elixir-based systems.
  • Guided team discussions and development around service creation and observability.
  • Mentored junior, mid and senior-level teammates in career growth discussions.
  • Mentored teammates in designing and developing a NestJS and TypeScript-based template application for company-wide use.
Technologies: Elixir, PostgreSQL, Ruby, Ruby on Rails (RoR), Amazon DynamoDB, Apache Kafka, REST, NestJS, TypeScript, Kubernetes, Node.js, SQL, C#, Git, Redis, GitHub, Back-end, APIs, Remote Work, Team Leadership, Visual Studio Code (VS Code), OS X, Linux, Vim Text Editor, Slack, Zoom, JavaScript, Go, Amazon Web Services (AWS), Docker, Amazon Simple Notification Service (SNS), Amazon Simple Queue Service (SQS), Amazon S3 (AWS S3), .NET, Amazon EC2, StatsD, Architecture, Agile, Web Architecture, REST APIs, Localization, Back-end Development, Phoenix

Senior Software Engineer

2016 - 2019
Malwarebytes
  • Acted as a technical lead on architectural and design decisions on the second version of our APIs using TypeScript, OAuth2, Node.js, AWS DynamoDB, and Amazon SQS.
  • Assigned work, developed stories, and guided technical direction for remote developers on projects.
  • Developed, designed, and maintained Malwarebytes Endpoint Protection and Incident Response back-end API server in Go, running on AWS ECS and using AWS SES, Amazon SQS, AWS S3, and AWS Kinesis.
  • Provided guidance and architectural input on associated React front-end and .NET-based endpoint agent.
  • Worked closely with the SRE and DevOps to expand services and automate deployments on AWS and diagnose and correct scaling and performance issues.
  • Provided mentorship and guidance to coworkers and junior developers.
Technologies: Amazon Simple Queue Service (SQS), Amazon Simple Notification Service (SNS), Amazon DynamoDB, Amazon S3 (AWS S3), Amazon Elastic Container Service (ECS), Go, TypeScript, React, PostgreSQL, OAuth 2, .NET, SQL, Git, GitHub, Back-end, APIs, Remote Team Leadership, Team Leadership, Visual Studio Code (VS Code), OS X, Linux, Vim Text Editor, Slack, Zoom, JavaScript, Node.js, Amazon Web Services (AWS), Docker, Terraform, REST, NestJS, Amazon EC2, StatsD, Architecture, Agile, Front-end, Web Architecture, REST APIs, API Integration, Back-end Development

Senior Software Developer

2015 - 2016
Moz
  • Continued development and maintenance of the Open Site Explorer product.
  • Designed and developed a new Node.js-based export system for cross-product use.
  • Provided guidance and architectural input on new products.
  • Collaborated with the design and front-end teams to implement new features on new and existing products.
Technologies: Node.js, Ruby on Rails (RoR), JavaScript, Ruby, SQL, HTML, CSS, Git, Redis, GitHub, Back-end, APIs, Remote Work, OS X, Linux, Vim Text Editor, Amazon Web Services (AWS), Docker, REST, Amazon EC2, Agile, Front-end, REST APIs, API Integration, Localization, Back-end Development, MySQL

Senior Software Developer

2012 - 2015
Eliassen Group | Rooster Park
  • Delivered feature development and architectural input for Moz’s Open Site Explorer product. Migrated Rails application to new API-based architecture. Worked with the existing team on refactoring, new features, and bug fixes in Ruby on Rails.
  • Delivered feature development and architectural input for WhitePages’ PRO Web lookup and API products. Designed and implemented new features for PRO Web lookup using Ruby on Rails. Improved existing deployment and development environments.
  • Developed new features for Ratify’s still confidential web portal using Ruby on Rails. Designed new JavaScript-driven web interfaces. Established and debugged deployment environments.
  • Provided mentorship to junior engineers and training in best practices.
Technologies: Ruby, Ruby on Rails (RoR), JavaScript, SQL, HTML, CSS, Git, Redis, GitHub, Back-end, APIs, Remote Work, OS X, Linux, Vim Text Editor, REST, Agile, Front-end, REST APIs, API Integration, Localization, Back-end Development, MySQL

Software Developer

2011 - 2012
Urban Influence
  • Owned feature work and maintenance on Moz’s Open Site Explorer.
  • Rewrote the CSV export system using Ruby, Resque, and Redis to increase stability and visibility of running exports and migrated large data sets to the new system.
  • Modified deployment environments to match staging and production clusters.
  • Managed multiple large refactoring operations to increase test coverage, better separate code concerns, isolate dependencies, and decrease the risk of future changes.
  • Collaborated with designers to convert provided Photoshop files to HTML and CSS.
  • Worked with clients to ensure their requirements were understood and implemented correctly.
  • Implemented themes for FastSpring and Zendesk sites using JavaScript to modify the Document Object Model (DOM) and CSS to affect the styling.
Technologies: Ruby, Ruby on Rails (RoR), JavaScript, SQL, HTML, CSS, Git, Redis, GitHub, Back-end, APIs, OS X, Linux, Vim Text Editor, REST, Agile, Front-end, REST APIs, API Integration, Localization, Back-end Development, MySQL

SDET

2008 - 2011
Microsoft
  • Wrote and implemented a test plan for .NET interoperability.
  • Drove the migration of IronRuby from Subversion (SVN) to Git on GitHub.
  • Designed and developed an automated system to synchronize Azure DevOps Server and Git.
  • Developed WiX scripts to package IronRuby as an MSI package, including a rake library to abstract this process.
  • Developed a test harness that combined multiple test runners into one command and result set.
  • Developed new tests in C# and Ruby to test various parts of the interpreter.
  • Collaborated with developers from other Ruby implementations to run RubySpec against IronRuby.
  • Integrated IronRuby tests with internal continuous integration tools to enable pre-check-in verification.
  • Participated in cross-team planning and code reviews.
Technologies: C#, Ruby, C++, Dynamic Language Runtime (DLR), Git, GitHub, Back-end, Windows, Vim Text Editor, .NET, Agile, Localization

Malwarebytes Incident Response

https://www.malwarebytes.com/business/incident-response
I was part of the team building a Go-based API to manage endpoint scanning engines and provide the API for a React-based front end. This was written in Go on top of AWS with a PostgreSQL database. I helped plan the code structure, guided the project, interfaced with the product team, mentored developers on the front and back end, and grew to lead a team developing a new version of this API in TypeScript.

Observability Pipeline

My current focus is building an observability pipeline and improving observability at Procore. This involves writing Helm and Terraform for an OpenTelemetry pipeline and navigating Go code to understand the implementation of OpenTelemetry. It also involves adding tracing, metrics, and logging code and abstractions to a 1M LOC Rails application and smaller JavaScript or TypeScript applications. There is a lot of mentoring, but I also oversee these projects' architecture and long-term path and regularly pair with the team to fix issues when they are slowed by a lack of experience with Rails and Node.js.

Events Pipeline

My first project at Procore was working on a team of two managing a set of services written in Elixir that performed change-data-capture against the main database, translated those changes to webhook and WebSocket calls, and saved them to a PostgreSQL database for a REST API. These services handled millions of events an hour, wrote and consumed them from Kafka, and utilized Elixir's process model, Phoenix library, and Ecto to create an internal processing pipeline. One of the last major updates to that service was splitting the REST API into microservices back end by Dynamo to allow for a more horizontally scalable service.

Libraries/APIs

Node.js, REST APIs, React, Dynamic Language Runtime (DLR), Vue

Tools

Vim Text Editor, Git, Slack, Zoom, Sumo Logic, GitHub, Terraform, Helm, Amazon Simple Notification Service (SNS), Amazon Simple Queue Service (SQS), Amazon Elastic Container Service (ECS)

Languages

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

Frameworks

Ruby on Rails (RoR), OAuth 2, NestJS, Phoenix, .NET

Paradigms

Web Architecture, Agile, REST

Platforms

Docker, OS X, Linux, Windows, Amazon Web Services (AWS), New Relic, Visual Studio Code (VS Code), Kubernetes, Apache Kafka, Amazon EC2

Storage

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

Other

Back-end, APIs, Architecture, Back-end Development, Discord, Observation, OpenTelemetry, Team Leadership, Remote Work, Remote Team Leadership, API Integration, Localization, StatsD, Front-end

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