Software Engineer

Job description

The Role

A 3,000 lbs log rips towards a screaming saw at 600 feet per minute. Our optimizer customer is counting on us to provide over 50,000 distinct geometric profile points for a complete 3D picture of this log so that the blades can be moved into position. We have less than 300 milliseconds before the sawdust starts to fly, and less than two seconds before we do it again with the next log, and then the next, for upwards of twelve hours a day. Can your code keep up? Welcome to the wild world of sawmill optimization.

Are you a wiz with gnarly requirements who chews up bugs and spits out stunningly documented code? We’re on the hunt for a software cowboy with a firmware flare to help our seasoned team wrangle that next batch of gold standard sawmill scanning products to market. You’ll need gumption to pull it off: a knack for self-direction and an aptitude for customer support goes a long way in these parts. You’ll also need to work well with others; there are no lone rangers in this outfit. It’s a tall order, but you’ll be richly rewarded if you can make the grade. This is an opportunity to make a difference. Sawmills throughout the world will depend on the technology you develop to get the most from our forests.

What it takes

●  You take ownership of your day to day tasks and actively shape your role within the framework of your team and its vision of success. You don’t need a to-do list handed to you to get things done.
● You contribute across multiple domains and technologies. You lean strongly towards being a generalist over being a specialist.
● You effectively structure and make progress against complex (and sometimes incompletely defined) software engineering problems.
● You thrive in small team settings and wear many hats with gusto.
● You bring something special to the culture of a company.
● You are a strong communicator, who listens carefully, and speaks clearly and directly.
● You can’t wait to learn about the machinery, processes, and people inside a modern sawmill. You aren’t afraid to get your boots dirty. 

●You develop software, including 3D rendering and complex CAD-like interfaces. 
●You implement and test TCP/IP networking software that is fast and reliable. 
●You design, evolve and document a clean, consistent, and performant API in a high level language.  
●You build an intimate understanding of how our software interacts and integrates with customer’s optimization software and use it to improve usability and performance. 
●You create scripts and software to automate in-house software build, product assembly, and product testing processes. 
●You work with customers’ engineering teams to provide training and support and implement plans to improve our internal training and support capabilities. 
●You pick up the phone to walk customers through problems. The customers enjoy hearing from you.  You likely have a broad experience. Any of the following skills earn bonus points: 
●Porting Linux to custom hardware 
●Developing custom Linux drivers 
●Developing and verifying Verilog / SOC / FPGA design 
●Developing embedded and desktop applications in C/C++ 
●Applying machine vision, machine learning, and computational geometry to real world problems 
●Performing mathematical modeling and data analysis using tools like SciPy, Julia, or Matlab/Octave 
●Exercising your inner maker by designing and building custom electro-mechanical product demonstrations and hardware test stations 
●Administering Linux servers 
●Developing custom web applications 
●Speaking a foreign language  

In addition, the right candidate is ready to contribute at a high level right away, and ready to learn more as the need arises.

At minimum, a successful candidate will meet the following requirements:  
●Several years of experience developing complex software applications 
●Strong track-record of achievement, evidenced by source code from your past projects


Develops 3-D laser scanner technology used in sawmills