1 of 28

Engineering Overview

Gustavo Barbosa, VP of Engineering

2 of 28

Contents

  • Mission
  • Values
  • Distributed Workforce
  • Squads & Product Development
  • Engineering Roles & Stack
  • Career Progression
  • Training
  • Engineering Branding

3 of 28

Mission

"Produce high quality software, very fast, in a sustainable way, so that we are the best freight tech platform in the world."

4 of 28

Values

  • Technical excellence
    • High recruitment bar
  • Teamwork
    • Brilliant jerks not allowed�
  • Positive attitude
    • Instead of complaining, let's do something about it�
  • Curiosity
    • Continuous learning environment�
  • Freedom with responsibility environment
    • Very flexible on rules, but people should be responsible and deliver results

5 of 28

Distributed workforce

New York, NY

Remote

Chicago, IL

Scottsdale, AZ

+

+

+

6 of 28

Engineering Team

Remote

US, LATAM, Europe

New York, NY

Scottsdale, AZ

+

+

7 of 28

Squads

Multidisciplinary people working together on a defined scope.

We believe that having all needed people working close to each other to complete a business challenge leads to better and faster results because:

  • We don't compete for priority with other business areas of the company.
  • It increases people ownership for their work.
  • People will have deeper knowledge on a specific code base and business rules.

8 of 28

Current Squads

Digital Brokerage

Load Management

Sourcing

Facilities & Scheduling

Shippers

PRODUCT SQUADS

Operations

Pricing Algorithms

ShipperGuide 1

Contracts

Security

IT

Carriers

Freight Audit & Payments

Carrier TMS

Carrier Load Board

Warehouses

Opendock 2

Opendock 1

ShipperGuide 2

ShipperGuide 3

Managed Transportation 1

Managed Transportation 2

Other Modes

Recommendation Algo

Data Enablement

Data Engineering

Integrations

Common Services

Logistics Capabilities

Developer Productivity

DATA SQUADS

FOUNDATION SQUADS

INFRASTRUCTURE SQUADS

9 of 28

Product Development

Product

Spec

Projects that will be implemented. Product Spec written after communicating with stakeholders

RFC

Goals for the project are outlined. Stories created on JIRA. Tech Spec (RFC) written by the team.

Squad's Process

Continuous process aiming to achieve estimated milestones by grabbing and completing tasks from the board

Iteration

Demos are shown to stakeholders periodically and updates are provided to Product Manager

Retro

Retros and post-mortems provide feedback�in order to iterate on�development process

10 of 28

Agile Practices

  • Each squad has the freedom to choose what processes they use
  • They are usually composed by a set of the following practices:
  • Scrum or Kanban
    • Planning sessions
      • Description of User Stories
      • Definition of milestones and deliverables
    • Daily or weekly meetings
    • Retrospectives / Post-mortems
  • Pair programming sessions
  • Mandatory coding reviews
  • Automated tests running for every Pull Request as well as the Continuous Integration process
  • Master branch always deployable

11 of 28

Engineering Roles

Mobile

Front-end

Back-end

Data Science

12 of 28

Back-end

  • Design and build new services and architectures
  • Implement features to improve our products and systems
  • Optimize services for scaling up with the business demand
  • Automate business and technical processes to increase efficiency
  • Build internal and external-facing APIs
  • Integrate with 3rd-party services
  • Develop tools to build, manage and monitor our services

13 of 28

Back-end Stack

Language

Frameworks

Infrastructure

Databases

Monitoring

Other tools

14 of 28

Front-end

  • Simplify the logistics world through easy-to-use UI
  • Build and maintain reusable JavaScript components and libraries according to our coding standards and best practices
  • UI standardization via our components library
  • Identify front-end bottlenecks and optimize the webpage performance to improve the user experience.
  • Collaborate with Product Designers, Product Managers, and Software Engineers to deliver compelling user-facing products

15 of 28

Front-end

16 of 28

Front-end Stack

Language

Libraries

Testing

Other tools

Jest

Testing Library

Cypress

17 of 28

Mobile

  • Build and maintain Carrier facing applications
  • UI standardization via our open source components library
  • Converge mobile and web development experience
  • Create easy to use interfaces to increase process automation
  • iOS and Android
  • Maintain legacy native code written in Swift and Java

18 of 28

Android app

19 of 28

Mobile Stack

Language

Frameworks

Testing

Tools

Infrastructure

20 of 28

Data Engineering, ML & Data Enablement

  • Data Engineering
    • Implementation and maintenance of data pipelines in and out of our Data Lake (AWS S3)
    • Orchestration of data transformations
  • Machine Learning
    • Act from exploratory analysis, through model development, to maintenance of production code and interaction with data pipelines
    • Partnership with Data Engineering/Enablement to integrate new data sources
    • Work on predictive models for many critical company wide systems
  • Data Enablement
    • Implementation and maintenance of Data Warehouse (Odin) and Business Intelligence tools/services (PowerBI/ Superset)

21 of 28

Data Stack

Language

Frameworks

Analysis

Data Preparation

Modeling

Deployment

AWS Batch

22 of 28

Goal-oriented

  • Weekly or bi-weekly 1:1 meetings with the Engineering Manager
  • Quarterly OKRs setting per squad
  • Quarterly individual performance check-ins and goals setting
  • Yearly career path progression check and 360 reviews

�Career path assessment example:�

  • Career path = Competencies + Expectations + Track Record

23 of 28

Career Path

  • Engineer I
  • Engineer II
  • Senior Engineer I (*)
  • Senior Engineer II
  • Staff Engineer
  • Senior Staff Engineer
  • Principal Engineer
  • Associate Engineering Manager
  • Engineering Manager
  • Senior Engineering Manager
  • Director of Engineering
  • Senior Director of Engineering
  • VP of Engineering
  • CTO

Management Track

Technical Track

(*) Option to be a Tech Lead (not a position but a role instead)

24 of 28

Learning

  • Yearly self development plan review
  • Budget for development
  • Conferences
  • Books
  • Online courses
  • Mandatory code review
  • Bi-weekly internal Tech Talks
  • Pair programming sessions
  • Seasonal Coding Dojos

25 of 28

Blog

26 of 28

Open Source

27 of 28

28 of 28

Thank you