Frontend Engineering at Phase goes well beyond “typical frontend work” (i.e. implementing a fairly standard interface in common frameworks). In Phase, the front end is much more involved and much more challenging.
We’re building large, custom codebases with high-performance client-side data manipulation. How do we compute the result of multiple, high-performance, runtime-computed interactions? That’s the front end at Phase. How does our editor let users create a reflowing and responsive layout in their design? That’s the front end at Phase. And much more…
This is a role for the frontend engineer who isn’t afraid of tough challenges.
Here's some of what we might expect of a new hire:
Capable of taking the lead role in architecting own code, which fits correctly into the larger system architecture.
Provide useful code review (consistent with our company’s standards) on other engineers’ Merge Requests.
Proactive participation in group planning, meetings, and other discussions.
Capable of communicating a detailed explanation of our product vision (broken into specific features).
Complete a full BDD process (alongside designers, product, and QA) correctly completing the engineering role’s responsibilities in BDD.
Using web UI libraries and frameworks in JS or TS: React, Vue, Svelte, etc.
Performance optimization of UI components
Installing, compiling, and bundling web applications with Webpack, Yarn, Node.js and NPM
TDD using Enzyme, Chai, Jest, or Mocha for both business logic and UI components
Experience architecting complex software systems
Expert knowledge of various data structures and algorithms
Extensive experience optimizing event-based systems and writing performance-critical code in web applications
Experience developing real-time multi-user SPAs with offline support (including WebSocket, WebRTC, WebStorage, Web Workers, etc.)
Experience in profiling web applications with Chrome DevTools for debugging and performance optimisation
Experience using git workflow with code hosting services such as GitHub or GitLab
Experience extending create-react-app based applications with styled-components and TailwindCSS
Experience developing interactive graphical applications combining web UI frameworks with Canvas and WebGL
Experience of developing and integrating WebAssembly modules or applications (using C++, Rust, or similar languages)
Experience designing solutions for concurrency conflicts in real-time multi-user applications
Experience designing and building version control systems with custom user data
Experience implementing custom responsive UI layout models (like CSS flexbox, CSS grid, Flutter or Android layout, etc.)
Experience integrating telemetry tools in web applications and working with custom telemetry data analytics
In-depth knowledge and understanding of UX and design principles
Familiarity with OSX / Linux / Windows 10 / WSL2 shell scripting
Experience working with Docker and K8s related technologies
Knowledge of BDD workflow and functional testing principles
We believe in fair Shared Ownership.