Senior Software Engineer, Algorithms

Senior Software Engineer, Algorithms

Flock Freight is a thriving, Silicon Valley VC-backed startup based in San Diego. We’re building a transformative technology platform for SMBs that ship LTL freight — a $40B market! Our vision is to create a platform and marketplace that efficiently combines freight from multiple customers into multi-stop full truckloads, and matches them with the most efficient carriers, thereby avoiding terminals and hubs, and the damage and delays inherent to them.

We’re looking for an exceptional back-end software engineer to join the team responsible for expanding and scaling the core technology behind Flock Freight's suite of optimization algorithms. Our team is made up of a small group of engineers and researchers who are passionate about creating innovative solutions built with modern technology. As one of the earliest members of this team, your talent and expertise will influence the best practices, design patterns, and technologies that we use to deliver the best experience for our customers.

Responsibilities

  • Take ownership of key components of our optimization platform
  • Translate research grade prototypes and mathematically complex combinatorial algorithm specifications into production grade code
    • Design, develop, test, deploy, maintain, and tune robust, fault-tolerant, horizontally scalable systems to support the execution of computationally intensive operations
    • Make use of SQL and relational database tools to efficiently manage, persist, and retrieve very large datasets
    • Implement high-quality, well-documented, test-driven, robust, and maintainable code
    • Develop automated tests (unit, integration, performance) and write testable code
    • Make recommendations regarding the architecture of new optimization components/algorithms, reuse or refactoring of existing code, and use of 3rd party and/or open source frameworks
  • Work both independently and in a highly collaborative environment with researchers and other software engineers to refine and operationalize new ideas

Requirements

  • B.S. degree in Math or Computer Science (required), or graduate CS degree (optional)
  • At least 5 years of relevant work experience

Skills and Experience

  • Experience architecting large-scale, mission critical, fault tolerant systems
  • Understanding of SOLID design, computational complexity, and data structures
  • Performance tuning of complex mathematical algorithms (e.g. machine learning, image processing, genetic algorithms, supply chain optimization, etc.)
  • Practical application of object-oriented and concurrent programming and use of design patterns
  • Expert with Java and Python
  • GCP, AWS, or equivalent IAAS and PAAS cloud services, containerized production deployments
  • Git, modern IDEs and build/deployment tools (e.g. Maven, SBT, Docker)
  • Exceptional problem solving, analysis, decomposition, and communication skills

Want to apply later?

Type your email address below to receive a reminder

Apply to Job

ErrorRequired field
ErrorRequired field
ErrorRequired field
ErrorRequired field
insert_drive_file
ErrorRequired field