This week
  • Roon Labs

    The Role

    Roon Labs is looking to hire several software developers during the first half of 2019.

    Experience with our technology stack is a plus, but we place more value on the breadth of technologies you’ve worked with in the past. It is important that you are comfortable and experienced working in a large pre-existing codebase and with a variety of languages, toolkits, and technologies, picking up new skills and expertise as needed.

    Possible Areas of Focus

    This role is open to all generalist developers who can comfortably work on all areas of our systems and get stuff done.

    We are also interested in growing the team in a few specific directions. These are some possible areas of focus, based on the work we have coming up. Experience relevant to these areas is a bonus, and if any of this resonates with you please let us know.

    Mobile Applications

    Our mobile applications share one UI codebase across platforms--so this isn’t about building screens. There is some technical debt in our mobile infrastructure, and some expected product touch points are missing or not done well. Furthermore, as we expand the scope of our mobile apps to include streaming/playback away from the home system, there will be a lot of under-the-hood work required to make a lot more of our code run (and perform) on tablets and phones.

    Machine Learning

    A few months ago, we launched Roon Radio, our first machine-learning feature. We have a healthy roadmap planned for future features that incorporate machine learning, and could use some help making these plans a reality. This work would encompass everything from data acquisition/warehousing, batch processing, learning/training steps, and surfacing the results via cloud services, dashboards, or our client applications. In parallel, we are working on ETL and Analytics systems for the rest of the company.

    Devops/Cloud Services

    We recently moved our cloud operations to a new provider and containerized everything. While things are up and running, there are definitely some aspects that require shoring up and long term ownership, and we still have some rough patches in the system that we are slowly moving through. Adding fresh perspective, experience, and ownership in this area would be a great help to us.

    “End-to-end” Project Ownership

    If Roon were a web based product, we’d call this “full stack development”. We are always at work implementing new features or integrating with other products. This generally involves work in several layers--cloud services, the media server, and the user interface. We're looking for developers that can handle the detailed aspects of projects like this without losing sight of the larger goal.

    Our Technology

    Roon functions like an IoT product in the home. The core of the product is a media server, which manages a music library and streams audio to multiple zones around the home. This can run as software or on a dedicated appliance. In addition, Roon supports many different control points and networked audio devices. The Roon user experience is backed by a set of cloud services which serve up music metadata, recommendations, and so on.

    Roon’s client applications are all built in C#, with C/C++ underpinnings. We use Xamarin tooling on iOS and Android. Our software is portable across Windows, Mac, iOS, Android, and Linux. The user interface is built using an in-house UI toolkit that combines a functional-reactive programming paradigm with an OpenGL-based rendering engine.

    Our cloud services are built in C#, Node.js, and Python. Our cloud infrastructure runs on Docker Swarm and Google Cloud Platform. We use Postgresql, Nginx, and Elasticsearch.

    Our data and learning systems are built using Python (numpy, scipy, scikit-learn, pandas, …), C++, SQL, and Airflow.

    While a lot of our code is written in C#, this is not a Windows/Visual Studio/Microsoft’s Latest Dogfood kind of place. We use a limited subset of .NET as a portable runtime environment and most of our developers live on Mac/Linux machines using vim/emacs, make, zsh, and git.

    About You

    • You have a healthy curiosity about how things work.
    • You have excellent communication skills, and speak and write English well.
    • You can work independently and own projects to completion.
    • You aren't afraid of doing grunt work when your projects require it.
    • You are comfortable making noise when you get stuck or when something feels wrong.
    • You possess strong computer science fundamentals: data structures, algorithms, programming languages, distributed systems, databases, and information retrieval.
    • You’re a good programmer. You write understandable code with an eye towards maintainability.
    • When things break — and they will — you are eager and able to help fix them.

    About You

    The most active portion of our work day is 12PM-5PM EST. Your typical work hours should overlap that period sufficiently to facilitate collaboration with others. Aside from that, we do not care where you are located or if you need to split up your work hours in a non-standard way.

    We offer Health/Dental/Vision (80/20), 401k with match, paid parental leave, and flexible time-off.

Older
  • Rho AI

    Rho AI was founded in 2012 by a small team of entrepreneurs, data scientists, and engineers. We set out to develop custom software for professional motorsports to predict an optimal race strategy. Since then, our real-time strategy recommendations have factored heavily into multiple victories and we are proud to count Richard Childress Racing, Hendrick Motorsports, and General Motors as some of our partners.

    Today, Rho AI’s products are used in a wide range of industries, including healthcare, finance, sports, waste, water, climate change, and energy.

    Why Rho AI?

    • The people - dependable, driven, and collaborative team

    • The problems - mix of products and services across diverse domains

    • The tech - modern tools to build pragmatic data-driven applications.

    • The structure - 100% remote-only team & self-funded since 2012.

    Sound interesting? We are hiring for a variety of experience levels, so all are welcome to apply. We are especially interested in hearing from early-career candidates who have publicly available open-source and/or technical writing examples, and are looking to jumpstart their professional careers.  Please reach out if:

    You are looking to:

    • Develop products and services for advanced machine learning applications.

    • Be respected in your software design decisions and take ownership of the systems that you build.

    • Learn from and collaborate with senior engineers and co-founders.

    • Have direct access to customers and users.

    • Work on all layers—database, REST API, user interface, and continuous delivery with AWS and Docker—with a team which values modular, clean code.

    You have:

    • (Must) Built non-trivial applications in Python, ideally with NumPy, SciPy, etc.

    • (Must) Experience deploying systems with AWS/Docker/Ansible/etc.

    • (Must) Ability - and enthusiasm! - to pick up new technologies.

    • (Should) Created user interfaces with React or Angular.

    • (Should) Experience designing RESTful APIs which have multiple clients.

    • (Nice) Strong computer science principles, and/or algorithmic skills.

    • (Nice) Experience with high volume and/or machine learning applications.

    You would like these perks:

    • Work from anywhere in the US! Rho AI is a tight-knit, fully distributed team.

    • Work with a highly engaged team, learn together, and make decisions that impact the whole company.

    • Benefits, including health insurance and 401k.

    You meet these criteria:

    • You are seeking a full-time job.

    • You reside in the United States.

    • You are authorized / eligible to work for any company in the United States.

    • You are within 3 time zones of Eastern Time, or willing to align your schedule.

    • You do not live in a very high cost of living city (SF/NYC), or if so, are willing to adjust your compensation expectations.

    To get an interview, you must supply:

    • A cover letter that explains why you are 1) specifically interested in Rho AI as a company and 2) a good fit for this particular position.

    • A resume that includes: 1) your relevant professional experience, and 2) links to code samples, technical blog posts, and other examples of your work.

    References: