Software Engineer

Employer

Job Description

Join an innovative team of technology experts and product visionaries to launch disruptive Augmented Reality (AR) products. Kura is building the best performance Augmented Reality glasses & platform: 150° ultra-wide field of view, 95% transparency, 8K resolution, with customized display, optics, ASICs and software collaboration & visualization platform. Kura core technology which we built from the ground up, overcomes the biggest barriers to the practical widespread adoption of AR. It’s an exciting time at Kura as we gear up to make a high impact with our initial product launch. We are looking for like-minded innovators who thrive in a small team fast-paced environment. 


Kura AR is a San Francisco, CA-based venture-funded startup designing and building the next generation of augmented reality platforms. We are looking for a software engineer to efficiently build our in-house demos and applications; for example:


  • Demo apps for our prototype hardware
  • Test code to try new algorithms
  • Maintenance of existing codebases


Speed and efficiency are a must; requirements include:


  • Fluency in:
  • C
  • C++
  • C# or Python
  • Windows
  • Linux shell
  • Git
  • Able to perform basic IT and set up your own development environment without causing huge security risks
  • Able to reasonably organize files and projects
  • Able to learn other programming languages and tools quickly as required by externally imposed requirements
  • Use of C++ as a preferred language when no other requirements are imposed
  • Experience with the Unity game engine
  • Experience in self-driven content development with a reasonable sense for user interaction
  • Able to integrate or develop demo assets
  • Ability to meet deadline-driven, result-oriented goals, including a willingness to stay after hours to debug code if needed
  • Able to peer-review and debug other engineers’ code
  • We don’t care how many lines of code you write per day if none of it works
  • Ability to write readable, maintainable code which conforms to organizational standards
  • Able to understand and implement algorithmically sophisticated concepts, such as:
  • Computational geometry algorithms
  • Rendering algorithms
  • Numeric algorithmsO
  • Compression and decompression algorithms
  • Tracking, SLAM, and image recognition algorithms
  • Experience with OpenGL, DirectX, or Vulkan, or the ability to very quickly become proficient at one of these
  • Able to function independently as a reasonable engineer


Skills that would be a plus include:


  • Significant prior experience working with graphics, numerical, or image processing algorithms
  • Significant prior experience with AR/MR/XR development
  • Significant prior experience with Android development
  • Significant prior experience in performance engineering, real-time systems, parallel processing, or vector code
  • Serviceable understanding of physics and mathematics
  • Able to find, read, quickly understand, and incorporate concepts from literature into code
  • Significant placement in at least one national or international level programming competition


Your roles and responsibilities include:


  • Programming new demos and applications as per the company’s needs
  • Leading software projects of moderate complexity to on-time completion, including working with asset developers, other engineers, and clients requirements
  • Leading hardware+software systems including component selection for systems involving displays, trackers, computers, etc.
  • Deploying demos on delicate prototype hardware (which could consist of bare circuit boards and display modules)
  • Performing demos for external parties
  • Communicating with external parties without divulging trade secrets
  • Generating outward-facing documentation for clients and partners
  • Generating system-level software block diagrams for the team


Once again, we stress that this is an in-person role with an emphasis on quickly writing clean, maintainable code in C++ (unless there is an externally-imposed requirement for another language). We also emphasize that this is a fully technical role; if your main interest is content dev with a little bit of programming you need not apply.


We expect at least one year of experience on a single job or project, or extensive research experience (for example graduate-level research), or an exceptional portfolio.