Software engineer
- Location
- San Francisco
- Type
- Full time
- Compensation
- $150k-$200k
- Posted
- 2 days ago
Join a team building useful software. Work closely with engineering and design to turn new ideas into products.
Find roles through people you trust, and message a verified founder or page admin about your interest.
The Software Developer participates in the design of new optimization software products and enhancements to existing products. This position reports to the Products Development Manager and works closely with the R&D team and customers to deliver mission-critical software components. The ideal candidate has the skills required to solve large-scale combinatorial optimization problems, including strong algorithmic thinking, complexity analysis, data structures, and the ability to analyze large datasets.
This is a hands-on position in which the Software Developer helps drive the adoption of new architectures while working side by side with fellow developers to implement new product features and maintain high-quality development practices. The candidate must meet project deadlines and ensure that software quality meets company standards. Excellent communication skills are required, as the role involves close collaboration with fellow developers, Product Managers, architects, and customers.
At IBS, OR developers work on large-scale, complex optimization problems that require careful attention to correctness, runtime performance, and memory usage. Creativity and modeling skills are key assets that we put to the test.
Major TasksParticipate in the design and analysis of solver-related software components.
Program, debug, inspect, correct, and perform unit and integration testing.
Question existing methods when needed, analyze algorithmic bottlenecks and flaws, and propose improvements.
Participate in writing technical documents, including functional specifications and design documents.
Estimate time frames and resource requirements for development tasks in projects.
Provide technical support to clients and employees.
Work with customer-facing teams to understand customer needs and validate the feasibility of product commitments.
Perform other related duties as assigned.
BSc. (M.Sc. or Ph.D. is an asset) in Computer Science, Applied Mathematics, Operations Research, or another related field.
At least 3 years of experience in software development.
Experience developing software to solve large-scale, computationally intensive problems.
Understanding of mathematical optimization concepts, including Linear Programming (LP) and Mixed Integer Linear Programming (MILP).
Familiarity with optimization techniques and algorithms such as graph algorithms, shortest path, dynamic programming, or related methods.
Experience with C programming or another related low-level programming language.
Experience with the POSIX operating system and shell/Perl/Python scripting.
Asset: familiar with version control concepts.
Team oriented, results oriented, with strong customer focus.