Hello, we鈥檙e OpenPlay! 馃憢
We鈥檙e looking for a full-stack engineer to work with us on our web-based music distribution application. You鈥檒l work with us to design, develop, and deploy new application features for one of the world鈥檚 largest record companies. This is a full-time position that can be local (Los Angeles) or fully remote.
What鈥檚 an OpenPlay?
We鈥檙e a small software team making distribution and workflow products for some of the world鈥檚 largest music companies. We鈥檙e big on testing, constant incremental improvement, craftsmanship, and pragmatism, and so far have been able to use those buzzwords to quickly deliver lots of features to keep the music industry running. We strive to make well engineered software that looks great and is friendly to use. We鈥檙e collaborative, supportive, enjoy learning, and most of all enthusiastic about building new things and making old things better.
What you鈥檒l be doing
Refining requirements. We follow an agile process focused on rapid incremental delivery. You鈥檒l take rough features born from an interesting idea, a customer request, or an overdue refactor (or a bug 馃槵), and collaborate designing the user experience and technical direction necessary to release the next (or first) version.
Programming. It wouldn鈥檛 be an engineering position without some programming. We try to get to this step with minimal planning time so we can see how an idea takes shape in the real world. Our languages of choice are Ruby and Javascript. We tend to practice outside-in development: most features start with a rough end-to-end (or system, or integration, etc.) test, then we attach some UI, give it an endpoint to communicate with, and finally add in the persistence layer. You鈥檒l be responsible for your feature iterations from start to finish, but you鈥檒l have a team to help and design support for visual polish.
Deploying. We offload and automate devops as much as possible, but a small part of every feature is still getting it deployed and ensuring it鈥檚 working as expected. We deploy features to production a few times per day on a typical day.
Skills we鈥檙e looking for
Practical experience in full stack web application development. At least a few years working on both the server and client side of production web applications. Experience with any client/server development (i.e. mobile) would probably also be pretty applicable. Console game development sounds really cool but probably wouldn鈥檛 transfer over as well. TI-86 calculator programming experience wouldn鈥檛 be a great fit either.
Academic knowledge of software development. In addition to being able to make something work, you鈥檒l need to be able to research and articulate why it鈥檚 a particularly good solution. A computer science degree is one good barometer we鈥檙e looking for, but we understand it鈥檚 not the only path to understanding engineering principles and isn't required.
A desire to collaborate with others. As a team we often discuss new and better ways to approach problems. We do code reviews and we write comments explaining our rationale when code looks smelly. If you enjoy thinking about new solutions to old problems, and can balance that with small, iterative, deliveries, you鈥檒l probably enjoy working with us.
Key technology experience
Ruby. Experience with ruby would be ideal, but experience with other object-oriented dynamic languages would transfer over pretty well, especially python (you won鈥檛 be the only convert). Extensive experience in any programming language might fit as well. If you鈥檙e new to Ruby but enjoy object-oriented programming you鈥檒l probably love it.
Javascript. Experience with other semi-prototypal web-browser-based scripting languages with a nonsense hodge-podge standard library would probably transfer over too, but happily for the world we鈥檙e not sure any exist. In any case, the more experience you have with Javascript the better.
Testing. The heart of our workflow is a full suite of end-to-end tests that we rely on to rapidly and safely build and deploy new features and refactor old code. Prior experience with test driven development or behavior driven development would be a big plus.
More specific technologies we use
- Our server-side code is MVC-structured and built around Sequel (ORM) and Sinatra. If you鈥檙e familiar with Rails or similar MVC frameworks you鈥檒l feel at home pretty quickly.
- Our core distribution product (OpenPlay Music) is a traditional multi-page application driven by server-side HTML and using Javascript to apply bits of dynamic behavior.
- Our project management and workflow tool is a more recent single-page-application built in React and backed by Ruby communicating over JSON.
- We enjoy both of them and think they are both appropriate technologies for different types of applications.
We do things typical of web applications like
- Store data in and query from a relational database (PostgreSQL)
- Index data and query it with filtering and full text searching (Elasticsearch)
- Handle slow tasks with background processing
- Push notifications to clients with WebSockets
- Export XML files, PDFs, CSVs, Excel spreadsheets, and other formats that just won鈥檛 seem to go away
- Communicate with lots of external systems across all manner of APIs
- Provide a JSON API for our customers to build on top of
- Offload as much devops as possible to Heroku 馃槄
Benefits
Competitive compensation
Medical, dental, and vision insurance
Work life balance: We expect you to generally work 40 hours/week but understand that sometimes it鈥檚 summer. We might rarely have a big push where we end up working long hours. The last time this happened was in 2019 for about a week. The time before that was in 2016 for about 3 weeks.
Flexible work and vacation schedule: We have found so far that if the work is enjoyable it isn鈥檛 necessary to police when people are working. So we try to keep the work enjoyable.
Free to work remote: Our process works just as well in person or remote. It can sometimes even feel remote at the office when we鈥檙e sitting next to each other talking on Slack with our headphones in.
Company Minecraft server with lots of odd elevated stone platforms.
Office by the beach with a small-but-growing collection of vinyl figurines.
All your information will be kept confidential according to EEO guidelines.
Job description provided by OpenPlay.
View the original posting