Back to Phase Delegation jobs
Senior Frontend Engineer
Taipei, Taiwan
EngineeringJob Description
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. Responsibilities 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.
Required Skills
- 5+ years minimum experience in the following:
- Developing highly interactive and responsive web applications in JavaScript (min ES6+) or TypeScript, HTML5, CSS
- 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
Recommended Skills
- 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.