As a Contract Software Engineer at Apostrophe, you will apply a deep understanding of Node.js, JavaScript and other modern web technologies to deliver solutions based on the open source ApostropheCMS platform. Creating new Apostrophe features will be part of your job, as well as helping our enterprise customers deliver success with the platform. In a given day you might be delivering a new custom integration for a customer, building a new feature or extension for Apostrophe Assembly, or refining part of the core open source editing experience.

You will write beautiful, well-commented, self-documenting code and hold the rest of your team accountable to those same standards.

Responsibilities and Duties

  • Collaborate closely with clients, fellow engineers, UX experts and designers to interpret customer requirements and deliver the right open-source features to the community as a whole.
  • Meet and communicate with customers directly as their projects and features are built, tested, and published.
  • manage your own time and projects in harmony with the rest of the Apostrophe team, tracking time to clients as appropriate.
  • Contribute your unique voice and ideas to our development process, which we are constantly tweaking and refining. Likewise, you will be open to trying out new workflows, tools, and team structures.
  • Engage in documentation-driven and test-driven development practices.
  • Contribute to our many open-source projects and support the community of developers who rely on them.
  • In addition to your role as a Software Engineer, you will be expected to actively participate in developing our overall culture, supporting your coworkers, and helping to make Apostrophe a wonderful place to work.

Qualifications and Skills

  • At least 3+ years professional experience as a software engineer.
  • An education in software engineering and/or hard-earned knowledge through the practice of it in the field.
  • Experience with Node.js, the async/await syntax, and promises. Past experience with legacy approaches including callbacks and the async npm module is a plus but not a primary focus.
  • Familiarity with at least one widely used database. MongoDB is a major plus, as is experience manipulating these databases via Node.js.
  • Experience working in teams, translating requirements into fully functional APIs, features, website backends, etc.
  • Excellent written and verbal communication skills.
  • Strong interest in contributing to the open-source community through GitHub.
  • You should feel comfortable giving and receiving constructive criticism and value a diverse, safe and welcoming environment for yourself and for others.
  • General mastery of the web platform, including browser-side JavaScript, CSS, and HTML is required.
  • Experience with at least one modern, reactive frontend framework - preferably Vue - is required.
  • Good skills with git version control are required.
  • Familiarity with functional programming is a plus.
  • You should be comfortable at the Unix/Linux/MacOS command line prompt.

Working With Apostrophe

  • Work remotely – Our team is based on Philadelphia and growing remotely to be able to tap into the global open-source community.
  • Join us at the ground floor – We are a small company and this is a unique opportunity to grow with us and be a part of shaping our culture and processes.
  • Support open-source – Our product and company DNA is rooted in the values of open-source and we've been active in the community for years.
  • Collaborate with amazingly talented and dedicated people – Be part of a seasoned team that's passionate about what we're doing and loves working together to build great software.

Contract Details

  • Location Anywhere in the world, as long as you can overlap 4+ hours with US East time zone business hours
  • Timeline Starting now, lasting 3-6 months, potentially a lot longer if you’re interested
  • Weekly commitment – Minimum 30 hours/week commitment

If you would like to work with this growing team, we’d love to hear from you!

Apostrophe is committed to creating a diverse, equitable, and inclusive environment for all people regardless of gender identity or expression, sexual orientation, race, religion, age, national origin, and veteran status. We strongly encourage qualified applicants from underrepresented backgrounds to apply.