Previous Job
Previous
Full Stack Developer
Ref No.: 18-02134
Location: New York, New York
Position Type:Right to Hire
Start Date: 04/20/2018
NodeJs / Full Stack Web Developer 

We are looking to add a highly talented Full Stack / NodeJs developer to our awesome team building and integrating our Go backend with a node and vue.js backend/frontend (aka renderer). 

As a full-stack developer, you should be able to handle both NodeJS and reasonable amounts of the latest JS, HTML and CSS features and be able to build cross-browser sites.  

The renderer component is one of the three core components and is built in NodeJS / Express with vue.js for SSR. Vue is also used on the frontend to add interactivity but is not required. The backend and frontend code are unified but separate.  

The goal of renderer is to abstract away the differences in frontend design, code and features for different user segments to allow a unified backend system for all of them. 

Renderer is optimized for performance and responds in sub 100ms including calls to the api using a combination of redis data caching and nodejs/vuejs request caching even though we have more than 1000 separate and unique cache buckets for a given url at any given time with Metrics monitoring every step of the rendering to alert to potential issues at any time. 

Dealing with experiments and a/b testing, continuously monitoring code performance, improving on the existing base code, and testing new situations on a subset of users are part of the team member's day to day business.

Breaking down such a system into smaller more specialized services sounds like a great challenge for you? You are full of ideas and hands-on? Taking over great responsibility is nothing you are afraid of? Then you are the perfect fit for our team. 

There is no hard minimum experience nor a university degree required if you can show knowledgeability and talent. You should have, at a minimum, a passing familiarity with the entire webstack. We don't require too much experience in any particular technology outside of the core requirements, but you should have a collection of cool projects. We're confident that you'll be able to learn whatever specific technologies and frameworks we throw at you. 

A successful candidate will be: 

Responsible: able to work without someone standing over your shoulder • Inquisitive: willing to learn new techniques and technologies • Adaptable: new situations happen • Pragmatic: you understand the tradeoffs between shipping throughput and robustness. • Understandable: you can explain complicated things to non-technical users without being condescending, and you can explain your code. • Skilled: able to write code that doesn't make your coworkers cry • A good person: have a personality that doesn't make your coworkers cry 
 
You must know the following well:

• Node.js and Express.js 
• Comfortable with angular, react, or vue.js
• JavaScript and ES6 (Yes, we mean vanilla JS)
• CSS with Stylus (or any other preprocessor)
• Git (including git-flow)
• Performance on the backend and frontend
• Perceived performance (how a user's perception affects performance) 

We prefer people who know (but we will teach you if you don't): 

• Automated Testing
• Docker
• Ability to optimize TTFB
• The tradeoffs between server-side rendering vs client side rendering:  what you gain and lose both actual and perceived.
• Understanding of how DOM rerenders occur when loading vue on the frontend after using SSR
• DFP and other ad-integration tools
• Redis or other key-value storage
• Have working knowledge of W3C standards for web development.
• You have an eye for design.

As frontline dev, you will be expected to be able to make mockups in just a couple hours without input from a designer. You have a strong interest for frontend build tools and code deployment. We support many applications and need people with a passion for improving our build processes.