Node.js Developer at P’unk Avenue (Philadelphia, PA)

Node.js Developer at P’unk Avenue (Philadelphia, PA)

Who We Are

The Apostrophe Enterprise team at P’unk Avenue has two roles: creating the future of ApostropheCMS, our open-source Node.js CMS, and providing support to companies around the world that choose Apostrophe for their projects.

Members of the Apostrophe Enterprise team also assist in P’unk Avenue’s traditional core business by creating Apostrophe features that benefit organizations making a positive social impact in fields like urbanism, health & wellness, arts & culture, education, and the environment.

We are expanding our Apostrophe Enterprise team to meet the needs of a growing community of larger organizations eager to help drive the roadmap of Apostrophe through direct support for the development of new features, as well as custom development to meet their needs. We need people who thrive in this kind of dynamic and intense environment.

What You Will Be Doing

As a Node.js developer at P’unk Ave, you will have a deep understanding of Node.js, JavaScript and other modern web technologies and apply best practices in delivering solutions based on the Apostrophe CMS. Creating new Apostrophe features will be part of your job.

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


  • You will collaborate closely with clients, fellow developers, UX experts and designers to interpret customer requirements and deliver the right open-source features to the community as a whole.
  • You will meet and communicate with clients directly as their projects and features are built, tested and published.
  • You will manage your own time and projects in harmony with the rest of the Enterprise team, tracking time to clients as appropriate. We are proud to have very little administrative overhead, so you will be expected to hold yourself and your team accountable to the work you do.
  • You will 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.
  • You will engage in documentation-driven and test-driven development practices.
  • You will contribute to our many open-source projects and support the community of developers who rely on them.
  • In addition to your role as a developer, you will be expected to actively participate in growing our overall culture, supporting your coworkers, and helping to make P’unk a wonderful place to work.

What You Should Already Have, Know and Do

  • Proficiency in Node.js, including asynchronous programming, is a requirement.
  • You must be comfortable with callbacks and avoiding “callback hell” via promises and/or the async npm module. Familiarity with the async npm module in particular is a major bonus. 
  • Must be strongly familiar with at least one SQL database and at least one NoSQL database. MongoDB is a major plus, as is experience manipulating these databases via Node.js.
  • An education in software engineering and/or hard-earned knowledge through the practice of it in the field.
  • A least 5 years professional experience as a software developer.
  • You should have experience working in teams, translating requirements into fully functional APIs, features, website backends, etc.
  • You should have excellent written and verbal communication skills.
  • You should have a 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. Familiarity with React, Vue or a similar modern frontend framework is a plus.
  • Good skills with git version control are required.
  • Familiarity with functional programming is a major plus.
  • You should be comfortable at the Unix/Linux/MacOS command line prompt.

Original post