UX Engineer

Job description

Our UX Engineer will build and maintain highly interactive, high performance UI-components in React/Storybook. We’re building a product for UI/UX designers, and those designers have very high standards for both the functional and also the visual quality of our product. So of course, we need a UX Engineer who is pixel-perfect.

This role is for someone who is one-part engineer, one-part designer, living in both worlds.


Outcomes

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, within 6-weeks.

  • Provide useful code review (consistent with our company’s standards) on other engineers’ Merge Requests within 3-weeks.

  • Proactive participation in group planning, meetings, and other discussions within 1-week.

  • Capable of communicating a detailed explanation of our product vision (broken into specific features) within 4-weeks.

  • Complete a full BDD-process (alongside designers, product, and QA) correctly completing the engineering role’s responsibilities in BDD, within 4-weeks.


Competencies

This role is for highly-independent, proactive, user-centric engineers. Engineers who will work cross-functionally, think from the users’ perspective, and will take real ownership.

We’re looking for Engineers who step outside their comfort zone.

-----

  • User-centric: considers their task “done” only when working code is in a user’s hands, and this user is having a great experience.

  • Collaborative: proactively gives/asks-for help and feedback, as early as possible. Works well both within team boundaries, and also across them.

  • Systems-Thinker: does the work required to plan work which fits into the larger architectural picture, and long-term product vision.

  • Proactive: speaks up, takes the initiative, and accepts personal responsibility for great user-centric outcomes. Believes nothing is ‘someone else’s problem.’

  • Positive Influence: outlook and behavior bring the team’s spirits up, not down. Positively contributes to the team’s energy and mood.

  • Responsible: thrives on a high level of autonomy and responsibility. Embraces accountability for outcomes.

  • Growth-Oriented: a constant and proactive learner. Allergic to “good enough” (差不多), always proactively, energetically improving.

  • Business-Thinker: takes responsibility to understand our market, strategy, roadmap, users, etc. Does not stop at just understanding today’s specification.

  • Clear Communicator: easily understands (and can be understood by) others in English. Good grammar is not required, the only requirement is that someone’s ideas can be clearly understood.

  • Cross-Functional Mindset: Collaborates hands-on with designers, product managers, other engineers, and even users. Does not restrict responsibility to implementing a specification which must be provided by others.

  • Sense of Urgency: Fights against an organization’s natural state: inertia. Knows that to build something great we all need to move mountains, now!

  • Adversity & Ambiguity: we’re tackling enormous, complex, important problems. We want to work with ambitious people who are not afraid to aim extremely high.


Job requirements

  • 5+ years minimum experience in the following
    • Fundamental knowledge of JavaScript (min ES6+), HTML5, and CSS and Node.js

    • Developing front end applications using Javascript UI libraries and Node.js frameworks

  • 3+ years minimum experience in the following React related technologies including but not limited to
    • Extending create-react-app based applications with styled components and TailwindCSS

    • Installing, compiling and bundling with Webpack, Yarn and Node.js and NPM

    • Designing UI Components using React with Storybook

    • Design and development of performant optimised UI components that can scale to hundreds of instances in a Single Page Application.

    • TDD using Enzyme, Chai, Jest, Mocha

    • In depth knowledge in the use of Chrome DevTools for debugging and performance optimisation

    • Use of git workflow with source hosting services such as github and gitlab

  • Developing graphical applications based on Canvas, Webgl and React.js

  • Experience in developing multi-tab SPA and handling concurrency issues.

  • Experience in Multi User Application development and offline support

  • Working knowledge and experience in integrating React, Webgl with webassembly

  • Working knowledge of leveraging web workers

  • In depth knowledge of UX principles and designer development workflow

  • Mac OSX / Linux / Windows 10 / WSL2 shell scripting and administration

  • Use of Docker Desktop for Mac OSX or Windows 10 or docker in native Linux

We believe in fair Shared Ownership.