React Developer

Consonance
Apply for this job

⚠️ United Kingdom only. You'll be rejected otherwise

We are looking for a Mid or Senior Front End Developer (Rails and React) to contribute to building the best publishing management software in the world, as a member of our 100% distributed team, Monday to Thursdays. Take a look at our jobs page for info on the company, and read on for the specifics of this role.

Responsibilities

Ship tested, maintainable features for our Rails app, Consonance.app, at first implementing our existing patterns and later improving on them, using mainly React.js and also Rails, with your main data source being GraphQL, supporting and being warmly supported by team members.

  • Implement existing patterns:
    • React form components, written using Formik, yup, prop-types. An example is the book details page in our app which has about 30 "regions". See our Christmas advert for glimpses of this page.
    • Using appropriate libraries e.g. react-beautiful-dnd for reordering lists
    • Appropriately tested: we prefer end-to-end Ruby Cucumber tests that we’ve configured to report coverage on JavaScript, but also have some Jest and react-testing-library tests, as well as RSpec for Ruby.
    • Appropriately accessible
    • In line with our style guide
    • Readable and maintainable code, without premature abstraction
    • Data queried from our GraphQL API, which you might add to, testing with Ruby RSpec, using Apollo for caching.
    • Where React is not appropriate, write in Ruby on Rails, using ActiveRecord for data
  • Collaborate with and support co-workers on their projects, talking through and resolving coding problems together, sometimes with pair programming sessions.
  • Fill in any knowledge gaps:
    • Ruby, Ruby on Rails, Jest, React Testing Library, the Ruby Cucumber testing framework, GraphQL, and any other programming knowledge gaps.
    • Publishing domain specifics, such as familiarity with ISBNs, subject classifications, how pricing and the supply chain work etc.

Once you have spent time implementing our existing patterns, by way of getting on-boarded, and you have a familiarity with the codebase and our strategic direction, there are more greenfield projects to work on, and you will start to form suggestions for approaches on how to implement features and to improve our existing approaches. Some existing ideas based on our users' needs are:

  • a multi-field filter for index pages
  • richer ways to export data in various formats
  • Knitting existing features together to make the app ever more cohesive e.g. seeing Issues, To-Dos and Discussions together on a kanban-type layout
  • Thinking about the future, and whether we continue in our hybrid Rails-with-React approach, or commit further to React with a cleaner backend/frontend split, enabled by GraphQL.

Must have

  • Experience: For the mid role, 5+ years experience; for the senior role, 8+ years experience, using JavaScript and modern React.js (including hooks), Rails, HTML and CSS, command line and Git, and testing libraries. (These years are indicative of your overall experience, not a fixed requirement – especially as React Hooks was only released in 2019!) The senior role is differentiated by being one where your opinions are forged in the fires of experience, able to say “I’ve been on teams where we did a similar idea, and teams where we did the opposite, and here are the unexpected gotchas that came up that we should consider”.
  • Skills: Collaboration; talking thoughts through and bouncing ideas around, and writing as another important way of communicating ideas and project management, including writing up daily brief "what am I working on" status reports, useful commit messages and to-dos.
  • Characteristics: You are someone who likes to get things done, has high standards, thrives in a remote working situation, and is still not afraid to say that you don't know and to ask. You must be an empathetic and supportive team member, good at explaining without condescending, who leads by example, who can change their mind based on team discussion, and who draws on their experience and that of their team, rather than bravado or gut feel.
  • You are comfortable working in a small team with constrained resources, where the founders are also part of the programming team, and there are no dedicated departments such as dev ops, design, QA, UX, product or sales.
  • The right to work in the UK.

Strong preference for

  • Capabilities: You consider UX part of your role, and have an eye for design and layout.
  • Skills and experience in:
    • Ruby on Rails
    • GraphQL, Apollo, various prominent React.js libraries (react-beautiful-dnd, react-query, Formik)
    • B2B web apps
    • Publishing industry

Nice to have

  • Education: We have no set requirements for your educational achievements.
  • Interest area:
    • Experience of the book publishing industry domain in any book area such as retail, libraries, journals, book publishing, metadata management, contracts, rights, royalties, agenting, and content management.
  • Experience:

  • Experience with accessibility standards.
  • Experience of using Consonance, attending our coding courses, Rails Girls, Day of Code, or participating in our Side Project Summer initiative
  • Experience as a user of book or journal metadata management systems
  • Experience in particular parts of the publishing industry, such as rights, royalties, contracts, metadata, catalogues, pricing, production, ebooks, journals, etc.
  • Experience of working with BIC, Editeur, Nielsen, Ingram CoreSource, or other book industry players
Apply for this job

⚠️ United Kingdom only. You'll be rejected otherwise

Consonanceconsonance.app

Title management for the modern book & journal publisher

Our Working week

We have a 30 hour work week (we don't work on Fridays)

  • Mon
  • Tue
  • Wed
  • Thu
  • 🏖️
    Fri

Our Vacation Policy

23 holiday days every year (on top of every Friday off)

  • 23 days
  • 52 Fridays
  • 75 days off per year

We work Remotely

We are a team of 4 mostly based in UK.

Our Benefits

  • Health insurance
  • 401(k) company contribution
  • Flexible working hours
  • Generous parental leave
  • Enhanced parental leave
  • Equipment allowance

Report incorrect data

Let us know if the job has expired