The Full Stack Engineer is an experienced engineer who can take a set of requirements, research implementation options, clearly present solution design approaches and trade-offs, facilitate technical decision discussions, lead implementation and development efforts, architect and build products, setup CI/CD pipeline infrastructure, and deploy/maintain/operate production systems. The Full Stack Engineer works on the product development team with developers, data scientists, QA engineers, UI/UX designers, and product managers to build software products using an agile approach. The full stack engineer creates architecture diagrams and informs product implementation, roadmaps, and vision. This Full Stack Engineer will bring working knowledge of multiple frameworks, driving and improving development processes and best practices. This engineer is a high impact individual who wears many hats and commit code.
Job Duties:
Work with development team and product managers to ideate software solutions and research implementation options and trade-offs
Facilitate critical technical decision discussions, de-escalate conflicts, and build consensus between team members to drive the best technical or architectural decisions
Recommend implementation approaches using fact-driven reasoning
Implement proof of concepts to explore and validate ideas
Review, design, and refine technical architecture to best meet the needs of the product objectives
Own complex, multiple sprint initiatives from definition through execution that may include significant challenges such as major external dependencies, intra-team collaboration, or exceptionally difficult technical requirements
Mentor other team members
Dive into existing code, make sense of it, get it working, and devise plan to make it maintainable
Produce and maintain technical architecture system diagrams and documentation
Design, build, test and deploy HTML5 single page web applications and micro-service APIs with a keen focus and understanding of the underlying technologies and how all the pieces fit together
Participate in requirements analysis and definition sessions and contribute to/create engineering level-of-effort estimates
Provide technical implementation inputs for user stories/tech debt/defects
Own and complete development tickets during sprints
Proactively communicate status updates
Implement and run unit tests and work closely with QA Engineers to confirm successful functionality
Build front-end UI components using modern javascript libraries (vue.js, d3.js)
Build back-end components using RESTful APIs, python, NodeJS, Scala, and a variety of databases (relational, graph, NoSQL)
Act as leader in DevOps and maintain/improve cloud infrastructure
Review and refine team development processes to ensure efficiency and alignment with best practices
Perform code reviews
Build new features and functionality by writing clean, functional, and well documented code
Make improvements to existing features and functionality
Clearly articulate technical details to a non-technical, executive level audience
Required Qualifications:
BS in Computer Science or related field
8+ years of experience designing, building, launching, and maintaining web-based software-as-a-service software products
6+ years with front-end Javascript libraries & frameworks (i.e. Vue.js, React.js, D3.js, Angular)
6+ years of experience building complex data visualizations (D3.js)
6+ years of working in a cloud environment (AWS, Google Cloud Platform, Azure, etc.)
8+ years of back-end / API development experience (Python, NodeJS, Scala)
8+ years of experience working with test automation, test-driven development, and CI/CD pipelines
8+ years working with databases: relational (Postgres), graph (ArangoDB, Neo4j), and NoSQL (Cassandra, MongoDB)
Experience designing and building RESTful APIs and micro-service
Proficiency in Linux environment
Strong Understanding of Agile/Scrum Methodologies
Excellent communication skills and ability to work independently or on a full team
Preferred Qualifications:
AWS Certifications and experience implementing solutions using AWS services (EC2, S3, Lambda, etc.)
Mastery/Expertise in Vue.js and D3.js
Mastery/Expertise in Python and NodeJS
Mastery/Expertise in Postgres, ArangoDB, Cassandra, ELK Stack
Mastery/Expertise in DevOps (Ci/CD Pipelines, containers and orchestration, Docker, Kubernetes)
Strong experience in ETL and Data Processing
Strong experience and knowledge of Scala deployed in an AWS environment using Docker