TRY NOW!
AMPL > >About Us > >Position Available 2019

Position Available

Senior Optimization Software Developer

AMPL Optimization, creators of decision modeling software used worldwide in business, research, and teaching, announces an opportunity for a software generalist who will participate in all aspects of our ambitious development plans.

We seek candidates who combine a proven ability to develop, maintain, and support complex software over multiple languages and platforms, with a strong background in the theory and practice of large-scale optimization.

This is a remote position. Applications will be accepted to work at any location worldwide.

Our product  •  Our company  •  Our position  •  Qualifications  •  To apply

Our Product

AMPL is a powerful modeling language and environment for working with large and difficult optimization problems that arise in a broad variety of applications. AMPL’s design has set the standard for optimization modeling software that deals with complex models naturally and efficiently.

AMPL’s user base extends to businesses, government agencies, and academic institutions in all parts of the world. Over a thousand scientific papers cite the use of AMPL; more than 500 universities use AMPL for teaching or research projects, and over a hundred corporate users have relied on it for their operations or planning. All of the most popular implementations of algorithms for large-scale linear and nonlinear optimization, in continuous and integer variables, offer AMPL interfaces.

Development of AMPL continues with new interfaces, solver connections, and language features. We are particularly focused on expanded cloud offerings and innovative integrations with Python and other popular programming languages.

Our Company

AMPL Optimization Inc. develops, markets, and distributes the AMPL modeling language and system. It has grown steadily into the principal seller of AMPL software and a major distributor of solvers that work with AMPL. At the same time it has expanded its network of strategic distribution agreements. AMPL’s business has expanded steadily over the past ten years and we anticipate continued dynamic growth.

AMPL’s technical team is made up of leaders in the fields of optimization and software engineering. They are highly visible and active in the optimization community, and frequently represent AMPL at professional conferences. At this time we are looking to expand our technical team to enhance our software offerings and to keep up with increasing customer demand.

We are a distributed organization with individuals working from their homes in different cities and communicating mainly by email and phone, with occasional meetings arranged as travel and conference plans permit, as well as an annual company meeting.

Our Position

We seek a dynamic and flexible software generalist with the ability to implement a variety of substantial subsystems under limited supervision, and to project a positive image in interactions with customers. As we are a small company, you will need to handle a variety of tasks as needs arise, and to participate actively in setting future directions. You will work directly with the entire technical team including the founders of AMPL as well as with customers ranging from experts to beginners.

Your specific responsibilities will be distributed across a variety of projects that will vary over time. Project areas will include the following:

  • Extending AMPL to provide new and innovative cloud services, programming interfaces, and data integrations
  • Creating, extending, and maintaining software for the AMPL APIs, the AMPL IDE, AMPL-solver interfaces, and AMPL’s links to data sources
  • Maintaining the core code of the AMPL language translator
  • Managing and developing AMPL’s GitHub repository and NEOS Server offerings
  • Assisting in support of AMPL users including specific customer training and development efforts

Additionally you will participate in internal discussions helping to set AMPL’s development and marketing strategy.

Qualifications

Qualified applicants will have the following fundamental preparation:

  • Study of optimization at an advanced level
  • Experience carrying out research in optimization or pursuing applications of optimization to real problems
  • A solid foundation in computer science, with strong competencies in data structures, algorithms, and software design
  • High proficiency C/C++ and Python programming
  • Familiarity with software design and development using a variety of additional languages (R, Java, C#, MATLAB, Octave, Julia) and platforms (Windows, Linux, macOS) with a willingness and ability to pick up new systems quickly

Experience in some of the following areas will also be highly desirable:

  • Version control systems, such as Git
  • Distributed and parallel systems, in particular Pthreads and OpenMP
  • Front-end and back-end web development, preferably including REST APIs
  • Compilers and/or interpreters, especially with Flex and Bison
  • Linux administration (RHEL/CentOS, Ubuntu)
  • Cloud service providers such as AWS and Google Cloud
  • Virtualization software such as Docker and VirtualBox
  • DevOps and Infrastructure as Code

Additionally, the following nontechnical qualities are essential to this position:

  • Ability to communicate effectively (in person, over the phone, and in writing)
    with a variety of optimization users and customer representatives
  • Ability to work independently
  • Interest in helping to run a business

Applicants must confirm that, at the time that employment in this position begins, they will be legally entitled to accept permanent, full-time employment in their current country of residence.

To Apply

Please send a cover letter and resume with “AMPL Developer Position” in the subject line to employment@ampl.com.