Join Our Team as a Front-End Wizard
by VideoTranslator Support| Nov 06, 2023
Seeking a Front-End Maestro

VideoTranslator is an exciting startup that is getting projects done with AI and AV media.

We’re looking to expand and are interested in hearing from YOU!

Our role is an end-to-end role, meaning you will deal with both the back and front end.

This role will require you to understand the goals of our app as we build it, to take problems and solve them, and then to implement them in a way you see fit.

This role will be heavily dependent on experience with front-end design and an appreciation for learning new technologies for web app development.

This role will likely commence between mid-January and mid-February.

Overview

For our front end, we use the latest version of Angular (and everything that comes with that). 

Our design system is Material-based and we use NGRX to manage the state.

Our backend is NodeJS with Postgres as the persistence store.

If you have experienced any of these, we’re really keen to hear from you.

If you have designed or contributed to, systems of this nature, even in other languages like PHP, we also would love for you to drop us a line!

Abilities

Your abilities as a developer must include:

  1. Strong English communication skills
  2. Understanding complex systems
  3. Strong understanding of Docker (locally and in an external production environment)
  4. Ability to debug messages and event loops
  5. Strong understanding of audio-visual media
    (a) A big plus is understanding the challenges that come with managing, transforming or maintaining AV assets
  6. Background in highly-variable systems, with:
    (a) Multi-layered objectives
    (b)Multiple levels of stakeholders
  7. Interactions with big data applications / real-time, external APIs
     

We expect you to be proficient in Javascript.
We use Typescript internally for both frontend and backend

The libraries or frameworks we wish you to have experience in:

  1. Angular
    (a) Experience with the Material design library is a big plus
    (b) We use this internally
  2. NGRX
    (a) State management on the front end
    (b) We use this internally
  3. NodeJS
    (a) We use ExpressJS internally

Experience

We’re excited to have you hit the ground running and, to help everyone, we believe that bringing your own experiences to the table will help us (and you!) grow and build the product. We’re looking for candidates who:

  1. Have at least 4-6 years of commercial developer experience
  2. Understanding or exposure to microservice architecture
  3. A strong background in designing user experiences
  4. An eye for user interface design. Additionally, an account of colour systems and typefaces is a big plus
  5. Experience or knowledge of the constraints of back-end systems
  6. Exposure to professional video editor programs or workflows

Additional experience in the following will also be considered:

  1. Messaging queue technologies (like Kafka or RabbitMQ)
  2. What are the differences, and when to use the different, AI types/technologies
  3. Managing AI training and deployment
  4. An understanding of the current marketplace/state of language translation AIs

As part of our mission to deal with media assets, ffmpeg is the program that helps make the magic happen. If you have used this program before, we think highly of you already!

Expectations

You will be in a high-trust role and be expected to complete your work with minimal supervision. We will onboard you, and get you up-to-speed with our system.

The system is a microservice-based architecture, meaning your local development device must be able to accommodate certain requirements for successful local development.

The cost of any new hardware purchases may be negotiated during the interview process.

Building an app

We’re really keen to meet those exceptional candidates who can demonstrate their experience and knowledge.

For this, we ask that you please submit an application that meets the following requirements:

Front-end

The workflow of the front-end application is:

  1. Display a login page
  2. Accept a video file for upload and upload it
    (a) To disk or cloud storage is up to you!
  3. Redirect to a page that can display the uploaded media
  4. On the redirected page, show a video player that can play the uploaded media
    (a) Don’t worry about codecs or media types
    (b) We advise mp4 or webm as the test file type

Note: you must also persist some file information on the back-end (see below)

Your front-end will be judged based on:

  1. Angular (latest version)
    (a) Use of the Material Design Library
    (b) Use of the NGRX library to manage state
  2. 3 pages
    (a) Login page
    (b) Upload page
    (c) Video player page

Back-end

The architecture of the backend is up to you.

  1. We use a “REST”-ful, API-based architecture internally

Your backend should support the front-end workflow:

  1. Display a login page
  2. Deny access to all other pages unless logged in
  3. After logging in, redirect to an upload page
  4. Accept a file upload
  5. Redirect to a video player page

Your backend workflow must also:

  1. Write the original file name and size to the database
    (a) The design of the database schema is up to you
  2. Authenticate the user
  3. Return an error message on an unsuccessful login

The data written to the database may be shown on the “video player” in step 4 of the Front-end workflow.

Ensure a user exists with a valid password and supply this in your application.

Your backend will be judged on:

  1. NodeJS
  2. Chosen web service
    (a) We use ExpressJS internally
  3. REST-fullness
    (a) The API should be “RESTful” or the URL scheme show-casing a well-thought approach to handling file uploads
  4. Persistence
    (a) An SQL-based database is recommended
          (i) We use Postgres internally
    (b) Use of an SQL driver
          (ii) We use Prisma internally

Before you submit your resume…

In order to be considered for the application, you must submit a working code example from a Github or Gitlab repository meeting the “Building an app” requirements above.

  1. You must include a README on how to get setup
    (a) This can be as simple as the npm or yarn commands to install packages
    (b) You must include login details in the readme
  2. You must include screenshots or a video recording of it working
  3. Deployment to an environment is optional

If you’d prefer to keep your code private, we may reach out to you for permission to access it after submission. We encourage you to respond quickly if we do reach out.

Submission

Please submit a cover letter, your resume and code samples to careers@videotranslator.ai - we look forward to hearing from you!



 

Share on
Related Posts
© Video Translator 2024 (ABN: 73 602 663 141) - All Rights Reserved