Backend Engineer
Primary stack
Job description
About the Position
We are seeking an experienced Backend Engineer to join our international team and help us create high-quality content for online businesses.
About the Company
Clay is a platform that helps online businesses create high-quality content by combining customizable templates with stunning animations and effects. Clay eliminates the need to use complex design software and manage marketing consultants, letting businesses focus on what they do best. Check us out in the Apple App Store and on the Google Play Store!
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!
We are currently 18 people working full-time on Clay...but we want to increase the size of the team to keep up with the increase in demand for Clay. Are you up for the challenge?
Responsibilities
- Collaborate with the Engineering and Product teams to solve content-design problems for almost one million users.
- Implement state-of-the-art architectural decisions and work with cutting-edge research and software releases.
- Guarantee the best user experience as our products extend to new platforms, like Web and Desktop.
Requirements
- 5+ years of professional experience as a Backend Software Engineer.
- Proficiency in working in one of the following programming languages: Typescript (NodeJS), Go, Dart, and Python.
- Experience with containerized and virtualized systems for scalable deployments (e.g. Kubernetes, Docker, cloud Run).
- Experience working with Firebase and cloud service providers like AWS, Google Cloud, or Azure.
- Extensive knowledge of design patterns, algorithms, data structures, and testing.
- Proficiency with Git. For example, you can explain the difference between a merge and a rebase.
Nice to Have
- Bachelor’s degree in STEM, preferably Computer Science.
- An exciting mobile or web project that you built from start to finish and can show us.
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).
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-we come from countries like Italy, Sweden, Brazil, Japan, Hungary, China, Romania, and we want to keep growing!
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 3 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.