Our Software Engineers are focused on creating the ideal software environment and infrastructure to support our research, robotic, and AI applications. We use cutting edge technologies and high performance computing platforms to make our software on our robots, in the office, and on our servers fast and easy to use.

The work we do presents interesting and unique engineering challenges. As a Full-Stack Software Engineer at Ascent, work will be presented in several different areas such as webservices for robotic applications, front-end visualization, mobile applications, and more. You will develop both internal software tools and products that ship to our industry partners. We have several openings for this role; you'll have flexibility to chose between development areas. You will work closely with our Infrastructure team who are building and maintaining the infrastructure your applications will be running on.

As a member of the Engineering Team, you'll be part of a highly collaborative team who can work closely together and help each other on different tasks. Together, you'll provide our researchers with the tools to fully utilize computing resources, enabling research to progress at a faster pace. This will involve developing, testing, and enhancing software solutions based on requirements from a multitude of stakeholders including researchers, team leads, and program managers.

Responsibilities

  • You will be working with the Infrastructure team to develop our full-stack software and visualization platforms
  • Provide software design and programming support to research projects
  • Report and present software development status and results clearly and efficiently, verbally and in writing
  • Architect and implement software libraries and internal tools
  • Write and maintain documentation for the code you write
  • Integrate our systems such as building APIs, working with databases
  • Trying new technologies that may make things better. We are not constrained by legacy code

Requirements

Minimum Qualifications

  • Bachelor’s degree in Computer Science, Computer Engineering or a related technical field, or equivalent experience.
  • Strong software engineering background, experience with large-scale software systems
  • Strong back-end experience (node.js, RoR, Cyclone, etc.)
  • Familiarity with software collaboration tools (git, Jira, etc.)
  • Familiarity with more than one of these: JavaScript, TypeScript, Python, Go
  • Familiarity with web server technologies (Apache, Nginx, IIS, etc)
  • Experience with front-end frameworks such as Flask, Angular, React, Vue, etc.
  • Experience with at least one database software such as MySQL, SQLite, PostgreSQL, or MongoDB


Plus points for any of these

  • Good Linux knowledge
  • Infrastructure / DevOps / CI / CD experience
  • Experience with Data Science and Data Science tools
  • Experience with API development
  • Experience with Docker
  • Android and/or iOS experience
  • Experience in C++
  • Experience with Unity and/or Unreal Engine
  • Interest in machine learning and AI
  • Contributions to Open Source projects

Benefits

Self-development support and gym membership will be provided as benefits.