Experienced, versatile, full-stack JavaScript developer

CardQuiry

via Stack Overflow Careers

We are looking for an experienced full-stack JavaScript developer to work with a well-established application. We are looking for a long-term relationship.

Our current technology stack is:

  • Node (using express)
  • AngularJS
  • React
  • MongoDB (interfaced with Mongoose)
  • Python (CherryPy and Flask)
  • MySQL

The majority of the development work is being done in JavaScript. Some supplemental development will take place in Python. Experience with web scraping is a plus, although not required for the position.

We write our JavaScript code exclusively using ES6/ES7, and are looking for a candidate that has an understanding of common ES6/7 patterns and technologies. This understanding should be built on a comprehension of the underlying technology, such as generators, promises, and other ES5 patterns.

We are moving towards complete unit test coverage, developed using mocha/chai with expect. All new code should be checked in with a unit test. 

We use Git as version control, and expect a pull request to be made daily, even if work is not done. This is so that the senior developers can review the work and make sure that everyone is on the right track.

Although not strictly necessary, basic CSS knowledge is a definite plus. We use a SASS compiler in developing the CSS.

If you do not know every piece of our tech stack but are willing to learn, we would be happy to consider you based on your level of experience with other technologies. However, you must have the necessary experience to learn our stack quickly and be able to produce independently.

A solid candidate will understand the importance of communication and be able to function effectively as part of a team. There is already a significant amount of code, some of which is complex (and even confusing), and candidates would need to be able to read and work with difficult code. At the same time, we strongly encourage our developers to approach senior developers frequently and ask questions, both to fortify their understanding and to gain an understanding of functionality which is non-obvious. 

If you feel that you may fit the description above, please reach out to us and we can a conversation.

We're also interested in you as a person. During the interview, we'd like to discuss: 

What is the project, professionally or hobby, which you are most proud of? What went into the development of this project? How do you handle high-pressure situations? Let's say the production server goes down, but all unit tests are passing. How would you go about determining the source of the error? How would you handle an environment comprised of multiple services? Discuss how you would most effectively receive data from customers using a REST API, pass that data off to another service for calculation, and then get the data back to the customers. What about JavaScript do you consider to be its single best feature? What about its single worst feature? How do you use this knowledge in your development? What is your ideal team management philosophy. Do you believe in agile development, or something else? How often should communication take place, and what does that communication look like?