Position: Front End Developer
Company: Helpware
Category: JavaScript
Experience required: 3y
English level: upper

This frontend developer (FD) will be situated primarily alongside a frontend architect (FA), with limited but expected direct interactions with clients’ point of contacts (POCs).

**Responsibilities:**

The FD will be following the lead of the FA in:

 - Prioritizing between coexisting tasks;
 - Deciding on the appropriate approach for projects; 
 - Executing on specific designs, when necessary.

The FD will be expected to interact with POCs in:

 - Reporting on the current status of the project areas the FD is working on;
 - Fielding questions on project areas the FD is tasked with; 
 - Collecting requirements in specific areas, which will be assigned by the FA.

The FD will need to work independently in:

 - Ascertaining all possible use-cases and operational scenarios for a given requirement;
 - Filling in any gaps in knowledge for a given technical stack and its relevant best practices; 
 - Staying vigilant against potential risks, pitfalls, and complications in project execution and scheduling, and escalating them to the FA in a time-appropriate manner.

**Abilities and Skills:**

The FD must exhibit the following in coding without fail:

**Accuracy.** All work products must address their stated task objectives squarely, without uncalculated nor unreported risks. This is especially important when the FD is inserted into an existing project or team: Fully understanding the existing structure before changing anything is of utmost importance;
**Precision.** All work products must be “pixel-perfect”, whether it is literal pixel alignments, or hexadecimal color codes, or basic code indentations. Any manifestations of “close enough” must be calculated and defendable;
**Conciseness.** All work products must be “minimalistic”: Easily readable, but not verbose. Whether it is file structure, code structure, or HTML structure, any “excess” must be calculated and defendable; and
**Consistency.** All work products must be absolutely internally consistent. Any deviations must be calculated and defendable. This means, for example:
If single quote is chosen over double quote, single quotes must be used everywhere;
If components should group their import statements in a certain way, all components must use the exact same grouping, ordering, and spacing; 
If font sizes should use “px” instead of “em”, there should not be even one incident of “em” anywhere in the entire project.

The FD needs to be proficient in:
**React**, including proper and efficient usage of Hooks;
**JavaScript**, more specifically the ability to code basic algorithms in a clean, efficient, and easily-followed manner;
**CSS**, including derivatives such as JSX and compilers such as LESS and SASS, as well as the ability to animate simple transitions;
**HTML**, more specifically the use of React-based derivative frameworks such as Material UI; and
**Responsive designs**, more specifically how a full desktop design should translate into a mobile design. While responsive designs will likely be provided, inferences on when to reuse and when to duplicate a component will naturally need to be made. The FA will be available to resolve conflicting considerations, but not for hand holding.

The FD needs to have a basic understanding in:

**Color theory.** For example, do not use colors that might not match with each other. If the design calls for it, confirm the choice with the FA;
**Accessibility for the disabled and impaired.** For example, do not use font sizes lower than 12px. If the design calls for it, confirm the choice with the FA; and
**Runtime efficiency.** For example, while it is unnecessary to worry about the efficiency of algorithms in general, do not use something that operates at O(n2) on a dataset that can become large. If the design calls for it, confirm the choice with the FA.