The Role
We are seeking a Software Engineer who participates in all phases of the development lifecycle. You will assist in preparation and production of releases of software components. You will collaborate with engineers, web designers, and various members of this organization to play a key role in the successful launch of powerful websites and applications. You’re inspired by investigating alternatives and technologies in order to support continuous improvements. Full stack and API integration development supporting products. Work with architects to design and implement features as requested. A strong emphasis will exist on developing a concept for solving business problems working the project analyst or owner.
Skills & Competencies
Problem Solving
Teamwork
UX patterns and philosophy
Our tech stack:
- Typescript
- GraphQL
- Apollo Express server
- React with Apollo composable
- Storybook
- Jest
- ArangoDB (No SQL)
- RabbitMQ
- Docker
- Kubernetes
- Azure DevOps for code and CI/CD
Qualifications
- B.S. degree in related field or equivalent combination of training and experience
- 4+ years building web applications, APIs, and services (examples: REST, SOAP)
- Solid understanding of algorithms, data structures and time complexity analysis
- Solid understanding of functional programming using Typescript interfaces and types
- Experience with NodeJS and Express
- Experience with React hooks or equivalent Vue implementations
- Experience working with NoSQL (Mongo, Arango) databases, Elastic, ORMs/ODMs, basic query analysis and performance optimization
- Good working knowledge of test suits/frameworks.
- Experience working with graphic APIs and libraries (WebGL, D3, Three, etc.)
- Knowledge of cloud environments application parameterization
- Experience using dev tools such as package managers, bundlers, task runners, linters
- Excellent troubleshooting and debugging skills
- Proficient with Git and version control flows
- Working knowledge of sound engineering practices: coding standards, best practices and principles (SOLID, DRY), design patterns, modularity, use of abstractions, defensive coding
- Experience with agile development methodology
- Experience with all stages of Software Development Life Cycle
- Experience with graph databases and graph theory
- Experience working with virtualization technologies (Docker containers) is a plus
- Experience with message brokers (e.g. RabbitMQ), queues, pub-sub is a plus
- Prior experience with AI/ML is a plus
- Experience working with relational (MySQL, Postgres, and/or MSSQL Server) is a plus
- Prior experience with accessibility standards is a plus
- Prior experience using scripting languages (Python, shell scripting) is a plus
We’re looking for candidates who are:
- Able to manage applications in the various stages of production (development, staging, etc.) in collaboration with clients, customer service, quality assurance, and creative/design departments.
- Work well to solve problems with little supervision
- Adapt quickly to the dynamic needs of our clients
- Demonstrate an understanding of the impact of design on scalability and performance and can communicate that impact to various stakeholders.
- Work well within a formal team structure