Backend Engineer
PartsTech creates automotive e-commerce technology, helping repair shops, auto part distributors and manufacturers run their businesses more effectively and profitably through e-commerce and data innovation. We increase efficiency for the automotive aftermarket by connecting repair shops, parts distributors and manufacturers in one seamless, e-commerce platform. PartsTech makes finding and ordering the right parts simple, fast and accurate.
About the Job
This position will be filled at an exciting time for PartsTech as we build upon our solid customer base and traditional e-commerce aggregation and search capabilities and expand our search and discovery features into new and innovative territory. A Backend Software Engineer for Search and Discovery will be essential as a software engineer focused on the APIs, algorithms, data, and cloud backend that contribute to the daily work of our customers. An ideal single candidate will be proficient in search engines, recommender systems, machine learning, AI, data engineering, e-commerce, algorithm design. If we hire two backend engineers, they need only be proficient in complementary subsets of these.
Education
A bachelors degree in Computer Science or Software Engineering is expected. An advanced degree (Masters or PhD) in Computer Science, Information Retrieval, Natural Language Processing, or Machine Learning is beneficial. This position might be involved in developing custom search or ranking algorithms and should therefore have a good grasp of both theory and practice in these areas.
Skills
Programming languages: Ideally proficient in Kotlin, JVM, Java Class Library for backend development. Other backend development experience such as Node.js or Python will be considered. Familiarity with Go or Rust for high-performance requirements is a plus.
Search engine technology: Strong experience with OpenSearch, ElasticSearch, and possibly Solr, or Algolia for indexing and retrieving data. Familiarity with query optimization, indexing strategies, and search relevance tuning. Knowledge of semantic search, vector search and embedding-based search for personalized or semantic search is beneficial.
Data storage and management: Proficiency with databases (both SQL and NoSQL), such as PostgreSQL, MySQL, MongoDB, or DynamoDB. Knowledge of caching solutions like Redis or Memcached to improve search response times. Understanding of data pipelines and ETL processes to ingest and process product or user data in near-real-time.
Algorithm development: Experience developing and implementing search algorithms for retrieval, ranking, relevance scoring, and personalization. Knowledge of machine learning for search (e.g., natural language processing, embeddings, k-nearest neighbors) is advantageous.
APIs and microservices: Ability to design, develop, and optimize RESTful APIs or GraphQL for handling search requests and responses. Experience with microservices architecture and the ability to break down the search service into scalable, manageable components.
Performance optimization: Strong focus on performance and scalability to handle large numbers of search queries and rapid response times. Creativity in designing solutions to unusual architectural constraints. Proficiency in monitoring tools (e.g., Prometheus, Grafana) and log analysis to identify performance bottlenecks.
Security and reliability: Understanding of API security best practices, such as authentication, rate-limiting, and data protection. Experience with distributed systems to ensure high availability and fault tolerance of the search engine.
Version control and CI/CD: Proficient in Git for version control. Familiar with CI/CD tools (e.g., Jenkins, GitLab CI, CircleCI) to automate testing and deployment pipelines.
Responsibilities
Building and maintaining the search backend: Develop and maintain the backend search engine and ensure it meets high standards of reliability and performance. Implement search-related backend features like indexing, filtering, faceting, and ranking algorithms, both inside a third-party search engine and outside (in custom code using efficient data structures and algorithms and possibly natural language processing and information retrieval techniques).
Optimizing search relevance and ranking: Adjust search relevance and ranking algorithms to improve search result quality, considering factors like user engagement and conversion. Collaborate with data scientists to experiment with and deploy ranking signals or personalization.
Performance optimization and scaling: Optimize the search infrastructure to handle a growing number of products and users with low latency. Implement caching and load balancing to ensure fast and consistent search responses.
Data integration and management: Set up and maintain data pipelines for product information, user behavior, and search logs to keep search indices updated in real time. Work with database and data engineering teams to ensure that data is structured and stored efficiently and comprehensively for rapid access that covers the user’s needs.
API development and maintenance: Design and maintain APIs for the frontend team to access search results, facets, and filters. Ensure APIs are secure, scalable, and documented, facilitating easy integration by frontend engineers.
Monitoring and troubleshooting: Implement monitoring and alerting for search service performance and availability. Identify and resolve issues that affect search quality or uptime, such as data indexing problems or server latency.
Continuous improvement & experimentation: Participate in A/B tests or experiments to improve search algorithms and evaluate user engagement with search features. Keep up-to-date with advancements in search technology, machine learning, and NLP that can enhance the search experience.
Collaboration and knowledge sharing: Work closely with frontend, product, and UX teams to align on search functionality and user experience goals.
Current Technologies
We currently use the following technologies in backend engineering:
- Kotlin
- Kotlin Coroutines
- Spring Boot
- GraphQL/DGS Framework
- Opensearch
- MongoDB
- Mysql/MariaDB
- gRPC/Protobuf
- RabbitMQ
- Kafka (optional)
- Redis
- Junit/Testcontainers/Mockk
- AWS
- Helm
- Argo CD
- Kubernetes
- Grafana/Prometheus
- Disturbed tracing - Opentelemetry
- Sentry
- GitHub actions
Why You Should Join Us:
Our vision is to make it fast and easy for auto repair shops to find the right parts across all of their suppliers with one search. Together, PartsTech’s team helped countless businesses save valuable time so they can focus on their customers — and we’re just getting started.
The PartsTech team is a global, distributed group of passionate self-starters based in the United States, Europe, and beyond. We are remote-first, privately held and venture-backed.
PartsTech is proud to be an equal-opportunity employer and values diversity at every level of our company. We do not discriminate on the basis of race, religion, color, national origin, gender, sexual orientation, age, marital status, veteran status, or disability status. We believe you should bring your whole self to work, so come as you are. Please note that we are unable to hire candidates located in New York state at this time.
The job description provided is a general outline of responsibilities and qualifications for this role at PartsTech. Actual responsibilities and qualifications may vary depending on the specific needs of the company and department.
Apply for this job
*
indicates a required field