Senior Software Engineer - Core
Reaction Commerce is seeking a Senior Software Engineer to join our growing core engineering team. As a part of the core team at Reaction Commerce you’ll have the opportunity to help shape the fastest growing open source commerce platform in the world. We’re looking for people who are highly communicative, self-directed, with well developed critical thinking skills.
As a Senior Software Engineer, you’ll be expected to write great code, ship product features independently and with a team, propose architectural recommendations, teach and enforce documentation standards and software design patterns during code reviews, and participate in the technical interview process.
Responsibilities
As a senior software engineer at Reaction Commerce, the day to day responsibilities are broad and you’re ultimately responsible for shipping software. While not exhaustive, this is a list of the type of work that we expect you’ll spend the majority of your time on day to day.
- Write great code that is well tested and thoroughly documented
- Develop, support, and improve our GraphQL API
- Design, build, and maintain real-time, event-driven systems, services, and features
- Create new components and improve existing components in our React component library
- Teach and enforce software engineering patterns during code reviews
- Work with the architecture team by proposing recommendations, building prototypes, and providing feedback.
- Work with the QA Engineering team to define test patterns and implement and improve CI processes for projects you’re working on.
- Author documentation for development patterns and features
- Actively communicate status of tasks and projects to peers and leadership
Qualifications
This list of qualifications are our “hard requirements.” We’ve worked to keep it short and move anything that isn’t truly a requirement into the nice-to-have section. We believe you’ll excel in this role if you have significant experience doing the following:
- Writing modern JavaScript/ECMAScript code that is clean, well tested, and thoroughly documented
- Developing, optimizing, and scaling React and/or Node applications in production
- Writing automated tests in JavaScript
- Developing, securing, and consuming an API
- Developing with either relational (e.g. Postgres) or document databases (e.g. MongoDB)
- Communicating complex issues to technical and non-technical people in writing through documentation, proposals, and blog posts.
We value your knowledge and skills more than an arbitrary amount of experience using any specific technology or a university degree in a specific field. As a Senior Software Engineer, we expect that you’ll have the skills and knowledge that are typically gained working on production applications for many years and studying in a university Computer Science program, but we don’t care how you’ve acquired those skills or how long it took you.
Nice to have
Reaction is creating the leading commerce platform for enterprise retailers and the world’s first event-driven commerce platform. As we’re working with a lot of newer technology, we don’t expect candidates will necessarily have experience with our entire tech stack. The ideal candidate will have deep experience in a few of these technologies, exposure to more, and excitement and capability to learn new skills as necessary.
- Designing, developing, documenting, securing, and/or consuming a GraphQL API using Relay or Apollo
- Developing inclusive, accessible applications, including experience with accessibility (a11y), internationalization (i18n), and localization (l10n)
- Using MongoDB at Scale
- Developing event driven applications using software such as Kafka
- Functional programming experience
- Programming in a JVM language such as Clojure, or Scala
- Developing commerce or logistics software
- Developing and deploying containerized applications using Docker and/or Kubernetes
- Developing with Elasticsearch or other search engine technology
- Maintaining or contributing open source projects
- Experience with Kafka
- Experience using Clojure
- Working remotely
Characteristics
As a distributed team, building open-source software, we deeply understand that being a great software engineer is much more than just understanding design patterns and having a deep technical skillset. Our culture is one of communication, character, cooperation, and competence and we believe that people who have these foundational characteristics will fit in well and be able to hit the ground running.
We believe in being inclusive, welcoming, and supportive of anyone who comes to us with the desire to build, collaborate, and lead. To learn more, read our diversity statement.
- Motivated, self-starter who can work in a distributed team environment
- Open-minded mentality
- Goal oriented personality
- Empathy for customers, community, and co-workers
- Tendency to teach others what you know and excitement for sharing knowledge
- Growth oriented mindset and a desire to be better today than yesterday
- Desire to deliver an exceptional customer experience
- Critical thinker who will work to solve the right problem
- Cooperative attitude and an ability to pair program effectively with other engineers
- Ability to think holistically for a given project or problem
Details
- Position: Full Time
- Compensation: Salary commensurate with experience, stock options, medical and dental benefits
- Location: Americas Time zone
- Hours:
- ~40-50 hours/week
- Flexible: need to run an errand or have an appointment? Communicate and coordinate with your team and it’s not a problem.
- You’ll be expected to make team meetings and work at least 5 hours/day that overlap with 9AM-5PM Pacific
Benefits and Perks
- 100% coverage for medical, dental, and vision
- Minimum vacation policy & stipends
- Up to 12 weeks for new parent leave
- Stocked kitchen, weekly lunches, and office dogs at Santa Monica HQ
- 401K retirement plan
- Work from anywhere in the world
- Learning stipend for books, classes, or trainings
- Diverse and inclusive culture
- Bi-annual in-person all-hands meetups
Application Process: What to expect
Our application process begins once we receive your application and cover letter. Due to the volume of applicants, we only consider candidates who submit both and application with the required information, along with a detailed cover letter outlining why you want to work at Reaction Commerce. Candidates who don’t submit the necessary information will not be considered.
If we decide to move forward with your application, we’ll schedule a 30-45 minute screening video call via Zoom to learn more about your interests, talk about the role, and determine if Reaction Commerce is a mutual fit
We’ll then have a series of technical interviews. The first interview will be a technical conversation where we’ll discuss previous experience and work to uncover how your skill set might fill a need at Reaction Commerce.
Following the technical interview we’ll have one or more interviews focused on collaboratively solving problems with members of the engineering team. These interviews will involve writing code in a remote pair-programming type of scenario.
Finally, if appropriate based on location, we’ll conduct an onsite interview so that you’ll have the opportunity to meet key stakeholders on the team. If we can’t do this in person, we’ll arrange it as a video call.
At the offer stage, you will learn more about compensation, equity range, and benefits. While the entire process can take 4-6 weeks total depending on schedule availability, we’re committed to communicating progress frequently so you won’t be left wondering about the status of your application. We look forward to meeting you!
by via developer jobs - Stack Overflow