2 hours ago
Bengaluru, IndiaStaff+
Responsibilities
- Design, implement, troubleshoot, and enhance transportation routing and scheduling algorithms.
- Develop and optimize traditional and machine-learning algorithms for speed, accuracy, scalability, interpretability, and computational efficiency.
- Conduct algorithm tuning, parameter optimization, feature selection, loss-function design, regularization, and runtime-performance improvements.
- Build, test, deploy, and maintain ML models and pipelines, including supervised, unsupervised, and reinforcement-learning solutions.
- Preprocess and analyze large datasets and develop simulation environments for evaluating ML and non-ML algorithms.
- Write, test, document, review, and troubleshoot production-grade software in C#, C++, Java, and .NET.
- Perform unit testing, automated testing, test reviews, code reviews, and software certification activities.
- Provide live troubleshooting for customer production issues and support existing systems.
- Guide solution architecture using object-oriented design, industry-standard patterns, and best practices.
- Author and review technical requirements and documentation, collaborate with stakeholders, and translate research papers into practical software solutions.
- Mentor and develop less-experienced developers and coordinate parallel efforts across multiple developers.
Requirements
- Bachelor’s degree in Computer Science, Computer Engineering, Electrical Engineering, or Mathematics.
- 6+ years of applicable software development experience.
- Product-based company experience is mandatory.
- Experience with object-oriented design, coding, performance tuning, unit testing, logical data modeling, and relational databases and SQL.
- Knowledge of routing algorithms including Traveling Salesman, Dijkstra’s Shortest Path First, genetic algorithms, and heuristics.
- Knowledge of C# and C++ development environments and processes, with Java and .NET development experience.
- Knowledge of ML algorithms, model optimization, large-scale data processing, distributed computing, and ML profiling tools.
- Experience mentoring less-experienced developers and coordinating work across multiple teams or groups.
- Knowledge of software development lifecycle processes and Agile practices such as Scrum.
- Strong logical thinking, interpersonal, written and oral English communication, self-management, prioritization, and ability to work independently.
- Transportation industry knowledge is desired but not required.
