FireCut is hiring a software engineer who will support development of the tool as we add new features, fix bugs, and use customer feedback to determine our roadmap.
What is FireCut?
- FireCut is an AI video editor, provided to customers as a plugin for Adobe Premiere Pro. Please see our website for more details → https://firecut.ai/
- Company stage: Bootstrapped, 1.5 years post-launch, team of 4. If you're successful you will take over the technical aspects of the product development, and will possibly manage more engineers as we scale.
What will I do in this role?
Key responsibilities of this role include
- Building something amazing!
- Feature development — you will own the development of new features in FireCut.
- Bug fixing — you will own the bug-fixing process end-to-end, which will involve reading customer feedback, recreating bugs and finding the root cause, fixing bugs in the code, etc.
- Server management — you will own server uptime and take steps to optimise the server setup.
- User communication — you will help respond to user feedback and requests.
Who you are
- You are looking for that once-in-a-career opportunity where you can go from idea to shipped feature that’s in users’ hands in DAYS
- Working on the same problem for months / having little impact makes you want to flip a table
- You like to do programming projects in your spare time
- You are passionate about automating repetitive / manual tasks
- When working in a team, you take ownership of your work ( = you view yourself as the ultimate accountable person for your work, if something breaks on a weekend and your users are stranded you genuinely want to fix it ASAP)
- You are comfortable* (what does this mean? some non-exhaustive guidance below…) with:
- HTML. Comfortable = you know how to use <canvas> (how do you draw shapes, text, images, etc.), what the default method is for a <form> (GET or POST?), how <script> tags are loaded from the HTML and how async and defer each affect it (they are different!)
- TailwindCSS. Comfortable = you can almost fully recreate a page like this without needing to reference the docs because you know the classes by heart
- JavaScript. Comfortable = you can polyfill existing types such as String to add new functionality (e.g. formatting a filename String for different platforms with a polyfill like String.toPlatform(”mac”)), you regularly use Array map, filter, find and reduce, you populate pre-allocated arrays instead of using Array.push(), you know the difference between a Set and an Array and why you would use each, and how to use ESLint to clean up your code
- Node.js. Comfortable = you know what a package.json file is used for and what different keys inside it, such as scripts, dependencies and devDependencies, are for. You know key npm commands — such as install (and when you would use the -g flag), ls, prune, and the command used to remove packages (remove, delete, uninstall?) — off by heart, and that you shouldn’t commit node_modules to git
- Python / Django. Comfortable = you know how to write and import modules, how to do multi-threading within Python, how to write classes, how to use Django’s ORM and migrations, how to extend Django’s middleware and how to integrate with queueing systems like Celery
- Linux, Nginx, Postgres. Comfortable = you can setup a basic server (i.e. this tutorial is NOT new stuff), write systemd services, and basic bash scripts
Who you are NOT (because this is not for everyone)
- You dislike the idea of grinding for a project in a startup environment