Senior Software Engineer - Full Stack
Responsible for design and deployment of an enterprise web application written in Meteor.js, Angular and Node.js frameworks. This includes, but is not limited to, configuring the hosting environment, modeling data, designing the MVC / API layer, design and implementation of user interface, and managing of the user experience
ESSENTIAL FUNCTIONS:
- Develop, deploy and monitor a high profile website and its underlying critical services
- Develop and maintain continuous deployment architectures
- Develop innovative solutions to large-scale data transfer challenges
- Improve the performance of our web applications and solve scaling issue
- Develop automation and improvements to deployment, monitoring, and testing processes
- Serve on the on-call rotation with other engineers on the team
Requirements
EDUCATION: BA or BS degree in CS, Engineering, Mathematics or equivalent
EXPERIENCE: 3-5 years of experience with software development or MA or MS degree in CS, Engineering, Mathematics and 3 years of experience with software development
SKILLS:
5+ years of full stack web development experience
Fluency with JavaScript, SQL, MongoDB, HTML, CSS
Experience with Angular ll Nodejs frameworks
In-depth understanding of REST philosophy and API design
Strong Understanding of Object Oriented Programming
Experience with continuous integration and testing via tools like Jenkins or Travis/CircleCI
Ability to collaboratively engineer web and mobile application features and visualizations
Experience with Software Design principles
Ability to write maintainable code with automated tests
Organized, self-starter, with attention to detail and ability to work both Independently and with a team
Ability to understand a large code base with Minimal direction
Strong understanding of building Software for the end user and participate in both debate and what to build and how to build it
Strong knowledge of Windows/UNIX/Linux, especially in virtualized environments such as AWS, Azure, OpenStack or Heroku
Experience with systems configuration management and provisioning tools such as Ansible, chef or puppet
Operational experience with MySQL, postgres, and MongoDB, including clustering
Ability to work effectively with both technical and non-engineering personnel
Experience with the configuration of web server software including nginx, rabbitmq, gunicorn, and elasticsearch
Experience with a full web serving stack, including databases, logging, and monitoring
Strong understanding of data structures and algorithms
Experience in an operations role supporting a 24/7 production environment, or ownership of personal internet-accessible servers operating 24/7
Experience in a fast-paced operations environment
Strong written and verbal communication skills
WORKING RELATIONSHIPS: Interacts with management and staff across the organization