Full-Stack DeveloperOpen to Portland, Phoenix, Denver as work locations, and WAH in the Pacific / Mtn time zones.This role involves a senior contributor, working hand-in-hand with a veteran team of software developers who are creating exciting new features for customers.
Key Skills: TypeScript, Angular, NetJS
A successful candidate should have:
- Extensive experience with distributed and event systems.
- Ability to think strategically about the product as well as technical challenges.
- Demonstrate a "dev-ops as culture" mindset.
- Desire to work in a team of high performers, who hold each other accountable to perform to their very best.
- Desire to work in a highly disciplined agile team, focused on continuous improvement.
- Architecting, developing, testing and deploying highly scalable distributed systems and data processes.
- Design and implement support tools for data processes
- Benchmark systems, analyze bottlenecks and propose solutions to eliminate them.
- Collaborate with other senior application specialist in the organization to create an atmosphere of group contribution in addition to individual execution that makes the organization more efficient and knowledgeable.
- Re-use existing software development practices where possible for productivity but also introduce new trending industry practices and tools where appropriate.
- Design robust solutions to hard problems that also take into account scale, security, reliability, and cost.
- Deliver needed project functionality for specific deliverables but deliver in such a way that the value is useful to the organization in the long term.
- A full-stack developer will have experience with components at each layer of modern web applications. A modern full-stack web developer should have experience with many of the following languages, technologies, platforms, and frameworks.
- Ideal candidate has worked with TypeScript or a language that utilizes static typing and understand the advantages and disadvantages
- Ideal candidate has extensive production experience providing back-end solutions with NodeJS in self-hosted and cloud-hosted environments
- Ideal candidate should be able to discuss internals of NodeJS such as the event loop, asynchronous programming, streams, and node ecosystem concerns (i.e. versioning and deployment)
- Ideal candidate has multiple deployed applications using Angular, preferably Angular 5+
- Experience with state management libraries such NGRX is a plus
- Experience with Nwrl's Nx workspace framework is also a plus
- Candidates with extensive development in other Web based UI frameworks will work, but should be willing to prove they can rapidly adopt work with Angular concepts.
- RESTful API's
- Ideal candidate has extensively worked with public RESTful interfaces and can describe the tenets of REST, compare REST to SOAP, and describe REST best practices
- Ideal candidate understands the tenets of protecting client data in motion and at rest as well as different techniques for authenticating and authorizing clients / consumers of service data.
- Ideal candidate has performed primary product development with GIT based source control solutions (Github, Gitlab, etc)
- Ideal candidate should understand concepts such as rebasing, squashing, cherry picking, and tagging.
- NoSQL / SQL
- Ideal candidate will have worked with unix based SQL, NoSQL databases (MongoDB, PostgresSQL, Oracle, etc)
- Test Automation Tools
- Ideal candidate has worked with Functional and Unit test based frameworks to develop automated tests (Jest, Mocha, Jasmine, Cypress or Protractor)
- Other helpful skills / experience:
- Continuous Integration (CI) / Continuous Deployments (CD)
- Ideal candidate has worked on projects with CI/CD tools (Jenkins, Bamboo, Gitlab-CI, etc)
- Container Technologies and Container Orchestration platforms
- Ideal candidate has worked on projects with container based solutions (Docker, Kubernetes, OpenShift, EKS, etc)
- Bachelors degree in Computer Science or a related discipline, at least three, typically five or more years of solid, diverse work experience in IT with a minimum of four years experience application program development, or the equivalent in education and work experience.
For more information please contact Tom Mazzulla at 336-701-1226 or [email protected]