Position: Algorithms Software Engineer
Company: Solvery
Experience required: 5y
Category: C++
English level: upper
Published: 2022-08-01T00:00:00+03:00

Our client is a team of thinkers, makers, and collaborators bound together by their commitment to inspire drone technology leadership.

The company build drone technology and deliver on drone flight services to help their customers succeed. Their goal is to revolutionize the business ecosystem by connecting drone technology to communities around the globe.

Recognized as an innovative leader, the company transforms organizations with drone delivery and drone technology solutions. We develop SaaS platforms having patented mobile app technology available at the Apple App and Google Play Stores. With technology-driven customers, together we inspire the future of drone services, providing intelligent access to airspace, automation innovation, streamlined process management, operational efficiency, and a commitment to safety.

Headquartered in Virginia Beach, Virginia, the company quickly moved from an American small business start-up to a global leader, receiving a significant investment from the #1 retailer in the world. The company, a privately held company, works with more than 20,000 drone pilots to serve its customer portfolio and is dedicated to connecting communities to drone technology globally. 

Position Summary
We are seeking an Algorithms Software Engineer to join the team and help develop and maintain the pathing algorithms of its flight control software. This is where we plan routes, avoid mobile obstacles during flight, and ensure performance with limited time and power requirements. Physical and computational safety and debuggability of the pathing choices are a priority. The software is provided as an API and built to run in the cloud (i.e., AWS) and disconnected environments (i.e., a drone that has lost radio connectivity).

Responsibilities

- Help shape the architecture of the evolving product
- Mentor and guide junior team members
-  Classify problems, identify best practices, apply computer science fundamentals, along with cutting-edge technology to build secure, scalable, robust, durable, and future-proof products
- Develop beautiful, watertight, and well-tested code that delivers features and robustness to our platform
- Engage the product team to negotiate possible conflicts, priorities, or best technical approaches
- Utilize technical resources to complete projects
- Design, code, test, and integrate system-level software to perform multi-sensor resource management, processor scheduling, and other sensor processing utility functions
- Develop raw data acquisition and processing resource management on a multi-node heterogeneous backend
- Benchmark and document performance results of software
- Other duties as assigned

Qualifications
- Bachelor’s Degree in Software Engineering or equivalent experience
- Strong background in mathematics and computer science
- 5+ years of commercial development experience
- Fluency in C++ compiled to x86_64 and ARM architectures required
- Understand how memory and compute tradeoffs affect hardware performance
 - Experience with Docker, Python, Qt, and GPGPU languages a plus
- Knowledge of existing pathing algorithms and geospatial computing a plus
- Experience with robotics, embedded development, and related hardware a plus
- Great software design and implementation skills

This position also requires the following essential functions:
- Visual acuity (e.g., needed to prepare and analyze data, to transcribe documents, to view a computer, to read, to inspect objects, to operate machinery
- Capacity to reason and make sound decisions
- Ability to regularly perform all job functions at Company’s office or work site
- Fingering (e.g., picking, pinching, typing, or other working that uses the fingers)
- Ability to read complex documents in the English language
- Ability to write complex documents in the English language
- Capacity to express thoughts orally (e.g., accurately, quick and loudly convey spoken instructions to workers)
- Capacity to think, concentrate and focus over long periods of time
- Repetitive motions of any part of the body