Message Systems: Columbia, MD
1) Application Software Engineer (Javascript, Node.js, Angular.js)  - several positions at different levels of seniority
<a href="http://messagesystems.com/about-us/careers/open-positions/application-software-engineer-javascript-nodejs-angularjs" >
2) Mobile SDK Software Engineer (iOS, Android, Windows)
<a href="http://messagesystems.com/about-us/careers/open-positions/mobile-ios-application-software-engineer" >
Several other positions can be found here:  <a href="http://messagesystems.com/about-us/careers/open-positions" >
Application Software Engineer (Javascript, Node.js, Angular.js)
Message Systems is looking for a highly motivated full-stack Application Software Engineer to help us design and build applications and user interfaces that support our suite of industry-leading messaging software.  We are an engineering-focused company founded by an engineer and our customers include tech leaders Facebook, Linkedin, Twitter, Rackspace, Match.com, and Zynga.
We currently have several positions available for varying levels of experience. This position is based in Columbia, MD.  Message Systems believes in a fun but focused development environment:
* Open floor plan
* Flexible hours
* Outstanding benefits
* Hackathons
* Group activities
* Stocked kitchen with fresh food and catered lunch once a week
* Equipment includes MacBook Pro + Linux Workstations
Responsibilities:
* Work within an agile software engineering team to create software applications that delight our customers.
* Software development includes: Back-end &amp; front-end, database development, UX design, REST APIs.
* Collaboration within the team and with our partners is essential (Product, Project Management, other teams) for all activities: requirements analysis, R&amp;D and prototyping, architecture, estimates, documentation, coding, and testing.
* Unit, functional, and performance testing of backend and front-end code.
* Automation of development, build, and testing process.
Desired Experience and Qualifications:
* 2-5+ years experience building, testing, and deploying high quality, highly reliable, scalable web applications, APIs, and user-interfaces in a team environment. 
* Expertise in server-side development with NodeJS (Express).
* Expertise in client-side development with Javascript (AngularJS, JQuery), HTML, and CSS (Twitter Bootstrap)
* Expertise with Linux.  
* Experience with and passion for quality-oriented software development best practices including unit and functional testing, automation, continuous integration, and low-dependency architectures.
* Ability to mentor other developers, and otherwise share and collaborate with peers on best practices, testing, and building in quality.
* Must think critically, be outcome oriented, and constantly strive for improving how the team reliably delivers high-quality software.
* Excellent analytical, problem solving, and debugging skills
* Experience with version control systems, particularly distributed models including Mercurial and Git.
* Knowledge of software design best practices: OOD, SOA, and design patterns.
* Experience with relational (PostgreSQL, Vertica, Infobright) and non-relational databases (Cassandra, Hbase) and search engines (ElasticSearch, SOLR)
* Experience with system and data integration and message queues.
* Experience in commercial software products industry is a plus.
* Experience with responsive design is a plus.
* Experience with mobile application development (iOS, Android) is a plus.
* Experience with the following tools is a plus: JIRA, Confluence, Crucible, Bamboo, Grunt, Vagrant, Selenium (testing), Karma (testing), Mocha (testing)
* Bachelor's Degree in Computer Science or related field or equivalent experience.
* Experience with Agile development.