Full-Stack Developer
Open 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.
Duties:
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.
Required Skills:
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.
JavaScript (TypeScript a plus)
Ideal candidate has production experience providing solutions based on JavaScript in the front and back end
Ideal candidate should be familiar with latest features in ECMAScript (ES), and can describe things like prototypal inheritance, de-structuring, the spread operator, this, and other advanced javascript concepts.
Ideal candidate has worked with TypeScript or a language that utilizes static typing and understand the advantages and disadvantages
Our teams use TypeScript extensively and find that candidates that don’t have a lot of TypeScript benefit from significant static language experience combined with JavaScript experience.
NodeJS
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)
Angular
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
Security
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.
GIT
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)
Ideal candidate has worked with JavaScript based libraries to access NoSql / SQL databases (TypeORM, Mongoose, Sequelize, 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 tmazzulla@itechsolutions.com
