Job Description :
Job title: MEAN Stack Developer
Duration: 12 months
Location: Arlington VA

Job Description:

The Senior API Developer shall be responsible for participating in the full life-cycle development process including requirements analysis, system design, development, continuous integration and deployment, configuration management, testing, implementation and support.
Create and maintain documentation related to work performed on the project including, but not limited to, JIRA tasks, story and acceptance criteria definition, architecture diagrams, design artifacts and project wiki entries as requested by Company.
Provide a weekly, written status report to the Company program management team by close of business each Friday, This status report shall provide a detailed account of work accomplished during the previous week, any outstanding risks or impediments and a detailed description of work planned for the upcoming week.

6+ years of progressive application systems development experience utilizing a full systems development life cycle, with experience in the following strongly preferred:
3-6 years of experience with web development technologies (HTML, AngularJS, JavaScript, & CSS) and techniques (AJAX, cross-browser compatibility, standards-compliant XHTML)
3-6 years of experience with API development technologies (NodeJS, HAPI, Express)
Understanding of core JavaScript concepts
Experience with MongoDB
Design, development and deployment of RESTful APIs
Experience or knowledge of SwaggerIO tools and associated community libraries
Experience with Twitter Bootstrap
Using common software design patterns (e.g., factory, singleton, adapter, decorator, visitor, and strategy patterns)
Understanding of the S.O.L.I.D. principles of software development
Understanding of Dependency Injection/Inversion of Control
Unit testing and mocking frameworks Mocha and Chakram preffered
Test-first development using test-driven development or behavior driven development
Experience developing RESTful APIs with NodeJS
Knowledge of Domain-Driven Design (DDD)
Knowledge of Service-Oriented Architecture (SOA)
Knowledge of asynchronous messaging systems (RabbitMQ, MassTransit, etc
Build / deployment automation
Understanding of Git version control system (VCS)