i
Solera
Solera - Senior Software Engineer - Algorithm (5-12 yrs)
Solera
posted 20d ago
Flexible timing
Key skills for the job
JOB SUMMARY :
- The Senior Algorithm Software Engineer is responsible for playing a leading role on a team focused on the development of improvements and enhancements to transportation routing and scheduling algorithms.
- This person analyzes, designs, programs, and debugs algorithm enhancements. Presents technical documentation to the team and stakeholders.
- May interact with users to define systems requirements and/or necessary modifications.
- Experienced in object-oriented design, coding, performance tuning, and unit testing.
- The role will be about 75% development and 25% system maintenance and support.
- This person must also have solid communication and team building skills and must be able to participate in software design discussions and guide the architecture of the solution based on proven object-oriented design concepts, industry standard patterns, and best practices.
- Mentors, guides and aids the growth of less-experienced developers through leadership.
ESSENTIAL RESPONSIBILITIES AND DUTIES :
- Design, implement, and troubleshoot complex algorithms with a focus on both traditional and ML-based solutions.
- Optimize the performance and scalability of algorithms for real-world applications, addressing computational constraints and trade-offs.
- Conduct algorithm tuning, including parameter optimization and runtime efficiency enhancements.
- Write clean, modular, and well-documented code in C#, C++, and .NET to ensure production-grade quality.
- Logical data modeling
- Object oriented design, coding, and unit testing
- Authors and reviews technical requirements to ensure compliance with business requirements
- Performs proper unit testing and software code writing (including automated unit testing)
- Participates in the testing process through test review and analysis, test witnessing and certification of software
- Participates in peer code reviews and develops skill level of others through mentorship
- Live troubleshooting of customer production issues
Machine Learning-Specific Engineering:
- Build and optimize ML models and pipelines, focusing on constraints like speed, accuracy, and interpretability.
- Develop and test ML algorithms such as supervised, unsupervised, and reinforcement learning methods, tailored to specific applications.
- Preprocess and analyze large datasets, ensuring data quality, normalization, and transformation to suit algorithmic needs.
- Debug and troubleshoot model performance issues, including overfitting, underfitting, and convergence problems.
- Implement and optimize feature selection/extraction methods to enhance model accuracy and runtime.
- Deploy ML models to production, ensuring robust integration into existing systems.
Advanced Performance and Tools:
- Design and implement custom loss functions, regularization techniques, and optimization strategies.
- Use profiling tools and frameworks to debug and enhance computational efficiency (e.g., TensorFlow Profiler, PyTorch Profiler, or custom solutions).
- Leverage distributed computing frameworks train and deploy ML models on large-scale datasets.
- Build and maintain simulation environments to evaluate the behavior of ML and non-ML algorithms under varied constraints.
Collaboration and Research:
- Collaborate with data scientists and domain experts to align algorithms with project requirements and expected outcomes.
- Stay updated with advancements in ML frameworks, libraries, and research to integrate cutting-edge methodologies into projects.
- Translate state-of-the-art research papers into practical and scalable software solutions
QUALIFICATIONS:
- EDUCATION: Bachelor's degree in Computer Science, Computer Engineering, Electrical Engineering, or Mathematics
- EXPERIENCE: 6+ years of applicable Software Development experience.
- Product Based company experience is Mandatory
KNOWLEDGE/SKILLS/ABILITIES:
- Knowledge of common routing algorithms
- Traveling Salesman
- Dijkstra's Shortest Path First algorithm
- Genetic Algorithms and heuristics
- Analysis of algorithms
- Logical thinking
- Excellent interpersonal skills
- Excellent written and oral English skills
- Excellent working knowledge of logical data modeling
- Excellent working knowledge of C#/C++ development environments and process
- Versed in industry standard Software Development Life-Cycle (SDLC) process methodologies and Agile methodologies such as SCRUM
Functional Areas: Software/Testing/Networking
Read full job descriptionPrepare for Solera Senior Software Engineer roles with real interview advice
Work life balance and a good Tech stack
Low hikes in Salary.