PLEXAGON logo

Software Engineer

PLEXAGON·Salary not specified

Primary stack

FlutterDartSwiftKotlinJavaScriptGit

Nice to have's

TypeScriptNode.jsFirebaseAWSAzureGoogle Cloud Storage

Job description

About the Position

We are looking for an experienced engineer who is excited about joining our international team. At Clay, our Engineering and Product teams collaborate to solve the content-design problems of almost one million users of the app. Creating high-performing features that can handle that amount of traffic has led our Engineering team to implement state-of-art architectural decisions and work with cutting-edge research and software releases. However, as the reach of our products extends to new platforms, like Web and Desktop, so does the challenge of guaranteeing the best user experience-and we could use an extra hand with this.

Responsibilities

  • Collaborate with cross-functional teams to develop high-performing features.
  • Implement state-of-the-art architectural decisions and work with cutting-edge technologies.
  • Ensure the best user experience across different platforms.
  • Contribute to the development of cross-platform photo/video editing solutions.

Requirements

  • Experience working in one of the following programming languages: C/C++, Kotlin, Swift/Objective-C, NodeJS, or Typescript.
  • Some exposure to mobile UI frameworks (Flutter, SwiftUI, UIKit, React, etc.).
  • Extensive knowledge of design patterns, algorithms, data structures, and testing.
  • Proficiency with Git.
  • Bachelor’s degree in STEM, preferably Computer Science.

Nice to Have

  • Knowledge of any of the technologies, frameworks, or programming languages described in our tech stack.
  • 2+ years of professional experience as a Software Engineer.
  • Experience working with Firebase and cloud service providers like AWS, Google Cloud, or Azure.
  • An exciting mobile or web project that you built from start to finish and can show us.

We Offer

  • Competitive pay based on seniority and skillset.
  • The latest Apple hardware (Mac, iPhone, and anything else you might need).
  • 1-month vacation per year + untracked time off if you need more.
  • A diverse and international work environment that operates in English.

About the Company

Clay is a platform, available for iOS, Android, and Web that helps online businesses create high-quality social media content by combining customizable templates with stunning animations and effects. Clay eliminates the need for using complex design software and managing marketing consultants, letting businesses focus on what they do best.

The secret to our success is our cutting-edge media technology! The Clay editor is capable of driving 6 streams of videos in real time, dozens of photo filters and different types of media up to 120fps, synchronized and orchestrated by Flutter/Dart through low-level and critical communication channels created ad hoc. Moreover, Clay is developed using the latest architectural patterns-like "The Composable Architecture"-which guarantees our code is scalable and reusable across different apps and platforms.

Equally important is our team. Clay is composed of professionals with experience and passion for content creation, design, or mobile engineering. Together, we own every part of the app publishing process, from User Interface Research to Marketing. And, thanks to this team, Clay grew to have thousands of downloads per day, every single day!

Our Tech Stack

Flutter is a framework built for fast iteration and pixel-perfect UI across every device and platform (iOS, Android, Web, and Desktop).

  • Dart is the programming language used by Flutter. We use Dart for business and core logic. It allows us to “write once, run everywhere” without penalizing performance or expressivity, becoming the common denominator of our Engineering team.
  • The Composable Architecture (TCA) is a Redux-like unidirectional data flow architecture, composed of states, actions, and environments.
  • built_value, freezed, and Google Protobuf are three libraries we use extensively to model and exchange data across platforms.
  • Typescript and Node.js are the two technologies we use for our backend system (login, authentication, and payments).
  • Native platforms. Although Flutter & Dart are cross-platform, sometimes we need to implement platform-specific features, requiring native development:
    • For iOS, we use Swift, Metal, and AVFoundation;
    • For Android we use Kotlin, OpenGLES, and Media;
    • And for Web, we use JavaScript and CanvasKit.
  • Rendering is done using custom Flutter widgets and native technologies:
    • GLSL or Metal as shading language;
    • AVFoundation for video playback, encoding, and decoding on iOS and macOS;
    • MediaMuxer, MediaEncoder, and ExoPlayer on Android;
    • FFMPEG;
    • We use a custom version of the Flutter Engine (C++), that we develop and maintain continuously.
  • Firebase and Google Cloud Platform (GCP).

Engineering Team

The engineering team at Clay is divided into four units:

  • Product, UI, and UX – in charge of developing Clay’s front end, aiming for pixel-perfect design, supporting product features and experiments to always give our users the best possible experience.
  • Core Libraries & Middleware – in charge of developing core features like the gallery, project synchronization, real-time collaboration, internal tools (CMS), and libraries (TCA). Usually, they deal with tasks regarding networking, file systems, migrations, and others.
  • Rendering – in charge of developing the graphic engine of Clay, creating new effects and filter shaders, managing multimedia (video encoding and decoding), and gestures.
  • Backend - in charge of developing the backend side of our app and services (login, authentication, and payments).

At Clay, the boundaries between these units are fluid and dynamic, allowing people to work on tasks belonging to different units, and contribute in the best way possible.

Our Application Process

  • Application form (click on "Apply now")
  • Take-home assignment
  • Problem-solving interview
  • Technical interview
  • Cultural Fit Interview
  • Offer!

The whole process takes around 4 weeks.

© PLEXAGON. This job description was sourced from the employer's public career page. TheJob is not the employer — we index the posting and route candidates to the source. All content rights and hiring decisions belong to the employer.

More at PLEXAGON

All 5 roles

Popular searches