Full Stack Software Engineer
JOB DESCRIPTION:
We are seeking an experienced Full Stack Software Engineer to join our team, responsible for developing and maintaining our complex web application built on the MEAN stack (MongoDB, Express, Angular, Node.js) with a strong focus on ElasticSearch integration. The ideal candidate will have a strong background in full stack development, experience with 3rd party system integration, expertise in ElasticSearch, and a solid understanding of data modeling concepts. This is a fantastic opportunity to work on a challenging project that requires innovative solutions and collaborative problem-solving.
QUALIFICATIONS:
Bachelor’s Degree in Computer Science, Electrical or Computer Engineering or a related technical discipline, or the equivalent combination of education, technical training, or work/military experience.
5+ years of related software development experience.
REQUIRED KNOWLEDGE/SKILLS:
3+ years of experience in full stack software development with a focus on MEAN stack technologies
Strong proficiency in JavaScript, HTML, CSS, and Angular
Experience with Node.js, Express and MongoDB
In-depth knowledge of ElasticSearch, including indexing, querying and aggregation
Proven experience with 3rd party system integration using APIs, webhooks and other integration methods
Strong understanding of software design patterns, principles and best practices
Excellent problem-solving skills, with the ability to work effectively in team environment
Basic understanding of data modeling concepts, including entity-relationship, data normalization, and denormalization
Experience with Git workflows, including feature branching, pull requests and code reviews
Ability to work effectively in a Linux-based development environment
DESIRED KNOWLEDGE/SKILLS:
Experience with cloud platforms such as AWS
Familiarity with CI/CD pipelines and automation tools such as Jenkins or CircleCI
Hands-on experience working with message brokers such as RabbitMQ or AWS SQS
Hands-on experience working with Kubernetes, NiFi, and Docker
KEY RESPONSIBILITIES:
Design, develop, test, and deploy scalable and efficient software solutions
Collaborate with cross-functional teams to identify and prioritize project requirements
Participate on code reviews and ensure high-quality, modular, and reusable code
Troubleshoot and debug issues in the application, including performance optimization and error handling
Stay up to-date with industry trends and emerging technologies, applying this knowledge to improve our application
Design and implement data models that meet the needs of the application, ensuring data consistency and integrity