Senior Software Engineer Full-stack JavaScript (remote)

Posted 3 years ago  • Kingston, NY

Come help us build one of the most exciting new products for the media and entertainment industry! Qwire is revolutionizing how studios, editors, composers, artists, publishers, labels and performance rights organizations collaborate. Managing the entire audio lifecycle of movies, television shows, and live sports broadcasts is no small task. Making sure that accurate licensing information gets to the right destination so people can get paid is even a bigger one. Studios like Warner Bros. are replacing their million-dollar home-grown solutions and spreadsheets with our Saas offering.

As a Senior Software Engineer at Qwire, you will be a part of a cross functional team developing a full stack JavaScript application. Our technical stack includes Node.js powering our REST APIs and services, along with Postgresql, Redis, and ElasticSearch deployed on AWS. On the front end, we use React, Redux, and Thunks. At Qwire, we write our own tests as developers. We use Jest as our testing framework, and maintain unit, API integration, and end-to-end tests using Cypress.io.

You should have depth and experience across some meaningful subset of our stack. We like generalists, especially ones with 'T' shaped experience - depth in one area and broad interest in developing other areas. While we'll play to your strengths, you'll have the opportunity to learn and contribute across the entire code base. At Qwire, we value a friendly, collaborative, data driven culture that places a premium on learning: slope over intercept.

Responsibilities

  • Your primary responsibility will be writing high quality, clear, maintainable JavaScript that improves our product. Qwire is still a small team, so every engineer contributes to the code base.
  • Lead by example with the code you contribute, code reviews, and peer programming
  • Collaborate with product management to manage and execute the product roadmap.
  • Work with the CTO and the development team to analyze and design the application architecture and implement functional requirements
  • As part of the development team, contribute to improving our development and deployment processes
  • Identify any pain points in our logging, monitoring, and APM;design and implement improvements to overall observability and performance.
  • Be welcoming and approachable. Answer questions about our tooling and processes with kindness and compassion. Help others understand the work we do and how they can improve their craft.


Experience that will be helpful

  • 5+ years of full-stack engineering experience with JavaScript in Node.js and React
  • A track record of developing web-based applications and a deep technical understanding of JavaScript technologies such as Node.js, React, and Redux.
  • Experience as a lead engineer for project of increasing complexity, ideally in a startup environment
  • Experience with docker-based container development and deployment
  • Experience with web design architecture and stage-appropriate scalability
  • Familiarity with application security best practices, OAUTH, and Role-Based Access Control (RBAC)
  • Some familiarity with database management, monitoring, debugging will be helpful
  • Experience with functional and class-based JavaScript code. Previous experience with another functional language (Scala, Clojure, Haskell, Elixir, etc.) is preferred, but not required.

We don't require you to submit a resume, but please do submit one if you think it will help us understand your background. We place more emphasis on you telling us a bit about yourself, why you're a good fit for this project, and your relevant experience. A couple of paragraphs in the "About You" section will do. That should give us enough context to review your GitHub profile, open-source contributions, and/or other code you've written, which we've found is the best way identify potential team members. Please include a link to your personal website, repo, or other online code you've written that we can have a look at.

Every candidate that submits an application will get a response. We'll reach out to selected candidates to schedule an initial call after reviewing each submission. Our interviewing process is fast and straightforward: no brainteasers, no coding challenges, and your first conversation will be with another engineer, not a recruiter.