Home / Jobs / Full Stack Ruby Engineer | Publiremote.com

Share:
Facebook X Linkedin WhatsApp

Published 2024-01-26

Full Stack Ruby Engineer


Full Stack Ruby Engineer

Company details

Type of job: Remote
Country: United States
City: Los Angeles
Company: OpenPlay
Company website:


Description of the offer

Hello, we’re OpenPlay!

  • We make enterprise web applications for record labels (music industry)
  • Looking for full-stack Ruby engineers (Rails-like or Python/Django + want to learn Ruby)
  • Would like 2 or more years of professional web development experience
  • Positions are full time, fully remote and/or we have an office in Los Angeles
  • Starting salary 100-150k (depending on experience) + benefits
We’re hiring full-stack Ruby software engineers to work with us on our suite of enterprise web-based music industry apps. You’ll work with us to architect, build, deploy, and maintain applications used by the world’s largest record companies (and some of the world’s smallest). This is a full-time position that can be in our office (Los Angeles/Santa Monica) or fully remote (US only at this time). We are looking for engineers with two or more years of full stack web application development experience. Starting salary range is 100-150k depending on experience. Learn more about OpenPlay at: www.openplay.co


Engineering at OpenPlay
Thousands of record labels around the world use our flagship product OpenPlay Music to manage and distribute their music. We work with the major US record distributors and many independents. We are onboarding another 300+ record labels this year and we need to grow our engineering team to handle increasing demand for both client services and new product growth. OpenPlay is a bootstrapped, growing company started in 2013.

In your role at OpenPlay you will be collaborating with a team of 4-6 other engineers and a UX/visual designer to design, build, review, deploy, maintain, and iterate on OpenPlay’s web applications. We follow a minimal agile process focused on rapid deployment and incremental improvement. Engineers participate in a weekly planning meeting, a daily engineering meeting, choose what to work on, and then spend the rest of their time getting their work done, collaborating as needed.
You will share the same responsibilities as the rest of your engineering team, which include:
  • Participating in a weekly planning meeting where we review our goals and prioritize work to be done for the coming week.
  • Participating in daily engineering-only meetings (roughly 30min) where the team collaborates on technical decisions, resolving issues, and reducing complexity.
  • Writing tests: we write mostly full-stack integration tests and use a single testing framework for all parts of the code.
  • Writing application code: mostly Ruby, some HTML, some Javascript. CSS is mostly handled by visual design.
  • Reviewing code: We do round-robin code reviews as a means of knowledge sharing. All pull requests are reviewed by another engineer. You’ll take turns reviewing everyone else’s code and they will take turns reviewing yours.
  • Deploying code: We deploy small changes to production code multiple times per day. Deployments are automated with lots of fail-safes and we rely on third party services for devops as much as possible.
  • Maintaining code: Maintenance is a part of all code changes but we also plan specifically for improving code quality and updating to newer conventions, techniques, and technologies. You will also be reproducing and fixing the occasional bug.
Some things you won’t do:
  • Estimating work to be done. Instead we try to break work down into small enough chunks that they can be done quickly.
  • Reporting progress. Work is done when it’s deployed. Instead we try to reduce the scope of work that is growing complex.
  • Stakeholder meetings. While agile processes are all about open channels of communication we find too much can be overwhelming. We have technical product managers who work with stakeholders instead, allowing everyone else to focus on their work while getting their questions answered.
As a small company with a flat management structure there are lots of opportunities for everyone to make an impact not only on our products but also on how we build them. We apply the same methodology of incremental improvement to our code as we do to our tools, processes, and conventions. You will be able to participate in these discussions as much as you like, and we would like to learn from your experience, but the degree to which you participate is up to you.


Experience we’re looking for
The main thing we’re looking for is experience in full stack web application development. Specifically, we think you’ll need at least two years experience working on all parts of a database-centric web application to be a productive member of your team. In particular you should have experience with:
  • Relational database concepts such as: foreign keys, indexes, normalization and denormalization, SQL queries.
  • Writing Ruby code in an MVC web framework. We don’t use Rails but we follow many of the same conventions. We’ve had success bringing people on from Python/Django so if you have Python experience and would like to learn Ruby it might be a good fit.
  • Some familiarity with Javascript. We push as much behavior as possible to the server but features often do have small client-side components.
  • Writing tests. We practice integration-test-heavy outside-in test-driven development. If you’ve practiced any sort of test-driven development you will pick it up fast.
In addition to being able to get things done we are also looking for someone who can research and implement best practices in order to get things done well. Code smells and poor architectural decisions can slow everyone down and make everyone sad. We collaborate frequently and we don’t always get things right on the first try, but we are looking for people who will do the work to build things well to reduce the maintenance burden for themselves and their team.


Technologies we use
  • OpenPlay Music is a monolithic application backed by a PostgreSQL relational database. Heavy operations are processed asynchronously by scalable background workers that notify clients via WebSockets. At present we have plenty of room to scale.
  • Our server-side code is MVC-structured and built on Sequel (ORM), Sinatra, and HAML. If you’re familiar with Rails (or similar MVC frameworks) you’ll find a lot of similarities and many of the same conventions here.
  • On the client side we use StimulusJS to apply bits of dynamic behavior where it improves the user experience, most of which ultimately requests updates from the server.
  • There are currently around 2500 full-stack browser-based integration tests covering every feature from user input to expected output. CI runs on every git push and completes in about 15 minutes.
  • 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 asynchronous updates to clients with WebSockets
    • Export XML files, PDFs, CSVs, Excel spreadsheets, and other formats that just won’t seem to go away
    • Import data from Excel spreadsheets, (music-industry standard) DDEX XML, JSON, and various other sources
    • Communicate with lots of external systems across all manner of bespoke APIs
    • Provide JSON APIs for our customers to build on top of
    • Use git for version control, build features in branches, and take turns reviewing pull requests
    • Run everything on cloud infrastructure
    • Rely on service providers for devops as much as possible (Heroku, etc)

Some benefits of working at OpenPlay
  • Starting salary 100-155k depending on experience
  • Medical, dental, and vision insurance
  • Whatever tools, services, books, etc you need to do your job
  • Low stress environment: The industry we’re in is comparatively low scale and high value. While we work with lots of data we avoid some of the technical issues and constant urgency you might find with consumer applications.
  • Good work/life balance: We expect that everyone works full time (40 hours/week). We do sometimes have deadlines and we haven’t always limited scope appropriately. The last time we worked late nights was in 2019 for about a week. The time before that was in 2016 for about 3 weeks. Our most recent deadline we met two weeks early.
  • Flexible work and vacation schedule. You are free to work the hours that work best for you (outside of our scheduled meetings) and we don’t have a set limit on vacation days.
  • Free to work remote. We’ve been doing remote work as long as we’ve been around and our process is built around it. Some of our team is permanently remote, others work out of the office part time.
  • Office near the beach in Santa Monica you can use any time.
  • Free lunch at nearby restaurants when you’re in the office. Some of which are delicious.

How to apply
Send us your resume! Include a cover letter to add additional details and context if you feel so inclined. We’re mostly looking for two things:
  • Prior work experience that looks like it might be a good match for what you’ll be doing at OpenPlay.
  • Some understanding of how to program well. Maybe a computer science degree or other academic background. Code contributions you can point to. Blog articles you wrote. A particularly enlightening reddit comment.
We’d love to know a bit about you as well but it can be a challenging prospect for an initial job application. Feel free to include anything else you’d like, but don’t worry too much about it, we’re mostly looking for the above qualifications at this point.

We look forward to hearing from you, good luck on your job search wherever it leads, and thank  you for considering joining OpenPlay!

 


How to apply?

Click on the button to get the company email or employment application form.



More options: Modify job, Delete job

Remember that you do not have to pay to participate in selection processes. Protect yourself from fraud with our Security Tips. If they ask you for money for an application you can Report job.


Promote your Job

Promote your job offer in the first positions.
$30USD for 30 days

Promote now

 

Top cities

Featured links

Follow us on Instagram @publiremote

@publiremote

 

 


Recents jobs

Published Wednesday 20 de November, 2024

Part-Time Graphic Designer at YOGABODY

YOGABODY
Remote
Worldwide

Are you a seasoned graphic designer looking for a dynamic role in a fast-paced, mission-driven company? YOGABODY, an 18-year-old online health and wellness



Published Wednesday 20 de November, 2024

Product Design Lead

AirOps
Remote
United States

We are building AirOps to become the best place for businesses to experiment, deploy and scale LLM powered workflows and solutions with little

,


Published Wednesday 20 de November, 2024

Founder Designer

Guideflow
Remote
France

Guideflow is a SaaS platform to create interactive demos & guides in seconds +5,000 companies of all sizes use Guideflow daily, from startups

,


Frequently Asked Questions (FAQ)

PubliRemote.com is an online portal dedicated to connecting employers and remote workers. We offer a platform where companies can post remote work opportunities and professionals can find employment from anywhere in the world.   At PubliRemote, you will find a wide variety of remote jobs, both for freelancers and for people who want to Work From Home with a fixed schedule.

Publiremote provides a user-friendly platform for job seekers, helping them find high-quality, remote opportunities across various fields. With a focus on matching skilled professionals with roles that offer flexibility and work-life balance, Publiremote is the go-to site for anyone looking to take control of their career.

Start exploring today and discover remote roles in graphic design, customer service, proofreading, content moderation, illustration, video editing, and freelance writing that let you work from wherever you feel most inspired.

Posting a job is easy! Just sign up, click on “Post a Job,” and follow the steps to enter your job details. You can publish your job listing for free or choose to promote it for added visibility.

A promoted job costs $30 for 30 days. Promoted listings appear at the top of search results, making it easier for candidates to find your post.

 

Publiremote.com focuses on remote job opportunities across a variety of fields, including tech, marketing, design, and customer service. We welcome positions that allow candidates to work from anywhere or in a remote capacity.

 

To attract quality candidates, be clear about the job role, requirements, and any specific skills needed. Adding a descriptive title and highlighting remote perks or benefits also helps your listing stand out.

 

We accept secure payments through Stripe, which supports most major credit and debit cards. Your payment information is protected, ensuring a safe transaction.

 

Yes! If you need help, our support team is ready to assist you. Please reach out via our Contact Us page, and we’ll get back to you as soon as possible.