Book of the Month

Associate Software Engineer (Frontend)

Engineering - New York, NY - Full Time

The Engineering team at Book of the Month is responsible for developing and maintaining customer-facing features on our website and mobile applications as well as internal tools that support our fulfillment centers and other departments such as our Editorial, Customer Service, and Finance teams. We work closely with Product, Design, and our fellow engineers to drive projects from inception to launch, working on quick, iterative timelines to ensure quality while maximizing business impact.

We are looking for an Associate Frontend Software Engineer to design, develop, and maintain features on our web and mobile applications.

What you will do…

  • Develop and maintain web and/or mobile applications using modern frameworks and languages appropriate to the problem at hand.
  • Collaborate with cross-functional teams (design, product, QA) to understand requirements and implement software solutions that meet business needs.
  • Work with backend engineers on fullstack projects and grow your skills across our full tech stack over time.
  • Ensure applications are scalable, performant, and maintainable across the stack.
  • Write and maintain technical documentation and perform thoughtful code reviews.
 

About you…

  • 1+ years of experience shipping high-quality production code.
  • Proficiency in at least one modern programming language (e.g., TypeScript, Node JS, Next JS) with the ability to ramp up quickly on others.
  • Adaptability and a genuine interest in learning new technologies, languages, and paradigms as the work demands.
  • Hands-on experience integrating AI tools into your day-to-day engineering workflow, using assistants like Claude, Cursor, Copilot, or similar to write, review, debug, or document code, and a thoughtful approach to prompting that gets useful results.
  • Excellent communication skills, with the ability to convey complex technical concepts to non-technical stakeholders.
  • Strong problem-solving skills and the ability to break down ambiguous problems into workable solutions.
  • High attention to detail and a commitment to producing high-quality, scalable, maintainable, and reliable code.


Nice to have:

  • Experience with React, TypeScript, Next.js, or React Native.
  • Experience using AI agents or automations to streamline non-coding work (research, documentation, planning).
  • Comfort working directly from Figma files — inspecting specs, extracting assets, and implementing to spec.

Salary Range: $80,000 - $100,000
Apply: Associate Software Engineer (Frontend)
* Required fields
First name*
Last name*
Email address*
Location
Phone number*
Resume*

Attach resume as .pdf, .doc, .docx, .odt, .txt, or .rtf (limit 5MB) or paste resume

Paste your resume here or attach resume file

Cover Letter
LinkedInLinkedIn profile URL:*
Do you currently live in or adjacent to New York City?*
Are you seeking an in-office company where you work 3 days per week in the office?*
How did you hear about this job?*
What is your familiarity with Book of the Month?*
When you think about your aspirations for your next position, what does that look like in terms of work/life balance and career growth? Indicate your aspirations on a scale of 1 to 10 in which 1 is "work/life balance is super important" and 10 is "career growth is super important".*
When you think about what type of workplace environment you most enjoy, do you prefer consistency or dynamic change? Indicate your preference on a scale of 1 to 10 in which 1 is "consistency" and 10 is "dynamic change".*
Do you have experience with TypeScript?*
Do you have experience with React?*
What is your experience with Next Js?*
You're given an array of user objects. Return an array of email addresses for users who are both active and have verified their email.

const users = [ { id: 1, name: "Alice", email: "[email protected]", isActive: true, isVerified: true }, { id: 2, name: "Bob", email: "[email protected]", isActive: false, isVerified: true }, { id: 3, name: "Carol", email: "[email protected]", isActive: true, isVerified: false }, { id: 4, name: "Dave", email: "[email protected]", isActive: true, isVerified: true }, { id: 5, name: "Eve", email: "[email protected]", isActive: false, isVerified: false }, ];*
Write a function that takes a string and returns an object mapping each word to the number of times it appears. The function should be case-insensitive and ignore punctuation.*
Carefully read our careers page. Which parts of our culture do you think are most aligned with how you like to work, and which are least aligned with how you like to work?*
Will you now or in the future require sponsorship to work in the US? (This includes work authorization that expires in the next 2-3 years.)*
Human Check*