Careers

Do What You Love, Design Your Future

Ready to join a winning team?

Do you have the skills and experience to design cutting edge robotic solutions?

Want to be part of a team of dedicated professionals that refuse to accept the status quo?

Open Positions

Software Design Engineer, User Interface

Tomahawk Robotics is seeking a Software Engineer to design responsive, modern applications for a variety of platforms with a focus on mapping and simulation. The ideal candidate will have experience in 3D game engines, user experience design, coding, software integration, and testing. The software team will work closely with the mechanical, electrical, and controls teams to ensure seamless integration of hardware and software for command, control, and simulation of many different robotic platforms and applications.

Required Qualifications:

  • Bachelor’s degree in computer science, computer engineering, or related field with 3+ years of relevant experience, Master’s degree preferred
  • Experience with Epic Games’ Unreal Engine 4 (UE4)
  • Demonstrated cross-platform user experience (UX) and user interface design experience
  • Solid understanding of software fundamentals such as algorithms and data structures
  • Able to design, write, and review code in C++ and Python (Javascript, Swift, and Java a plus)
  • Cross-platform software development (Windows, Linux, MacOS, Mobile)
  • Experience working with graphic designers and user experience experts to storyboard and prototype user interfaces
  • Knowledge of computer networking protocols and principles
  • Source code control and revision tracking with Git
  • Familiarity with software documentation tools and techniques such as Doxygen, UML, Javadocs, etc.
  • Knowledge of and eagerness to contribute to modern development operations techniques: continuous integration, continuous testing, and automated deployment
  • Motivated, hands-on attitude with strong work ethic and ability to thrive in a fast-paced environment
  • Ability to creatively address and solve problems, and close on solutions quickly
  • Strong verbal and written communication skills
  • Positive attitude and works well with a team
  • Authorized to work in the United States

Responsibilities Include:

  • Design and implement intuitive, beautiful user-facing software for various types of robotics and related equipment
  • Implement software in C++ to load and display real-world geographic data in UE4
  • Maintain a Git repository in GitLab and complete documentation for all code written
  • Work with all teams, contractors, and customers to establish application requirements
  • Actively contribute to building a fast and agile software development team

Apply Now

  • Accepted file types: pdf.

Software Design Engineer, Robotics

Tomahawk Robotics is seeking a Software Engineer to create robotic systems powered by the ROS platform. The ideal candidate will have experience in robotics systems, ROS, advanced software development, software integration, and testing. The software team will work closely with the mechanical, electrical, and controls teams to ensure seamless integration of hardware and software for command, control, and simulation of many different robotic platforms and applications. 

Required Qualifications:

  • Bachelor’s degree in computer science, computer engineering, or related field with 3+ years of relevant experience, Master’s degree preferred
  • Experience with ROS, preferably ROS2
  • Solid understanding of software fundamentals such as algorithms and data structures, multithreading, and real-time process principles
  • Able to design, write, and review code in C/C++ and Python (Javascript, Swift, and Java a plus)
  • Cross-platform software development (Windows, Linux, MacOS, Mobile)
  • Knowledge of computer networking protocols and principles
  • Familiarity with multi-DOF robotic systems, including kinematics and control theory
  • Source code control and revision tracking with Git
  • Familiarity with software documentation tools and techniques such as Doxygen, UML, Javadocs, etc.
  • Experience with embedded software development a plus
  • Knowledge of and eagerness to contribute to modern development operations techniques: continuous integration, continuous testing, and automated deployment
  • Motivated, hands-on attitude with strong work ethic and ability to thrive in a fast-paced environment
  • Ability to creatively address and solve problems, and close on solutions quickly
  • Strong verbal and written communication skills
  • Positive attitude and works well with a team
  • Authorized to work in the United States

Responsibilities Include:

  • Design and implement software in C, C++, and Python to control advanced multi-robot systems
  • Maintain a Git repository in GitLab and complete documentation for all code written
  • Work with all teams, contractors, and customers to establish application requirements
  • Actively contribute to building an agile software development team

Apply Now

  • Accepted file types: pdf.

Software Engineer, Networking

Tomahawk Robotics is seeking a Software Engineer to design and implement network-centric applications for a variety of platforms.  The ideal candidate will have the ability to write full-stack applications with socket-level interactions on mobile devices and embedded Linux computers.  Further, the candidate will be able to serve as the principle network engineer, advising the development team on networking decisions, implementation and routing rules in Android and Embedded Linux.  The software development process requires design, coding, software integration, and testing on mobile (phones and tables) and robotic vehicle hardware. The software team works closely with the mechanical, electrical, and controls teams to ensure seamless integration of hardware and software for command, control, and simulation of many different robotic platforms and applications. 

Required Qualifications:

  • Bachelor’s degree in computer science, computer engineering, or related field with 4+ years of relevant experience, Master’s degree preferred
  • Solid understanding of software fundamentals such as algorithms and data structures
  • Able to design, write, and review code in C++, Python and Java
  • Cross-platform software development (Windows, Linux, Anroid)
  • Knowledge of computer networking protocols and principles
  • Knowledge of information assurance (IA) principals and implementations
  • Knowledge and implementation of encryption to application generated network data
  • Advanced knowledge and implementation of networking techniques/topologies including MESH networks, router and gateway function/configuration, routing table configuration, VLAN’s, security techniques/port closures, etc.
  • Source code control and revision tracking with Git
  • Familiarity with software documentation tools and techniques such as Doxygen, UML, Javadocs, etc.
  • Knowledge of and eagerness to contribute to modern development operations techniques: continuous integration, continuous testing, and automated deployment
  • Motivated, hands-on attitude with strong work ethic and ability to thrive in a fast-paced environment
  • Ability to creatively address and solve problems, and close on solutions quickly
  • Strong verbal and written communication skills
  • Positive attitude and works well with a team
  • Authorized to work in the United States

Responsibilities Include:

  • Design and implement object-oriented applications for mobile and embedded systems 
  • Inform design team on decisions relating to network-centric design
  • Implement network configurations on mobile and embedded systems via routing rules, standard networking API’s, etc.
  • Inform design team of security mitigation and encryption techniques 
  • Implement network-related security mitigations and IA rules 
  • Maintain a Git repository in GitLab and complete documentation for all code written
  • Work with all teams, contractors, and customers to establish application requirements
  • Actively contribute to building a fast and agile software development team

Apply Now

  • Accepted file types: pdf.

Software Engineer, Video

Tomahawk Robotics is seeking a Software Engineer to design and implement video-centric applications for a variety of platforms.  The ideal candidate will have the ability to write full-stack generic applications with a specialty in the integration of video streaming capabilities both on the client and server side.  The candidate will be able to optimize the video stream for ultra-low latency, clear picture and robustness to packet loss. The candidate will be able to serve as the principle digital video engineer, advising the development team on video-centric decisions, implementation and decision regarding utilization of wireless and wired network bandwidths.  The software development process requires design, coding, software integration, and testing on mobile (phones and tables) and robotic vehicle hardware. The software team works closely with the mechanical, electrical, and controls teams to ensure seamless integration of hardware and software for command, control, and simulation of many different robotic platforms and applications. 

Required Qualifications:

  • Bachelor’s degree in computer science, computer engineering, or related field with 4+ years of relevant experience, Master’s degree preferred
  • Solid understanding of software fundamentals such as algorithms and data structures
  • Understanding and experience using OpenSource tools such as: ffmpeg, OpenCV, gstreamer, libvlc, etc.
  • Understanding of memory utilization and efficient video buffering principles for ultra-low latency video streaming – encode and decode chain
  • Understanding and usage of multimedia codecs such as H.264, H.265, MPEG-4, etc.
  • Understanding and usage of video containers such as MJPEG, MPEG-2 transport stream, MP4, etc.
  • Understanding and usage of network control protocols such as RTSP, RTP, RTCP, HTTP, etc. 
  • Able to design, write, and review code in C++, Python and Java
  • Cross-platform software development (Windows, Linux, Anroid)
  • Able to write Linux scripts and configuring Linux system to properly launch application/video server upon boot
  • Knowledge of computer networking protocols and principles
  • Source code control and revision tracking with Git
  • Familiarity with software documentation tools and techniques such as Doxygen, UML, Javadocs, etc.
  • Knowledge of and eagerness to contribute to modern development operations techniques: continuous integration, continuous testing, and automated deployment
  • Motivated, hands-on attitude with strong work ethic and ability to thrive in a fast-paced environment
  • Ability to creatively address and solve problems, and close on solutions quickly
  • Strong verbal and written communication skills
  • Positive attitude and works well with a team
  • Authorized to work in the United States

Responsibilities Include:

  • Design and implement generic object-oriented applications for mobile and embedded systems 
  • Inform design team on decisions relating to video-centric design or impacts
  • Implement video servers and clients on mobile and embedded computer leveraging OpenSource software packages or proprietary video implementation
  • Maintain a Git repository in GitLab and complete documentation for all code written
  • Work with all teams, contractors, and customers to establish application requirements
  • Actively contribute to building a fast and agile software development team

Apply Now

  • Accepted file types: pdf.