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 year post-launch, product exists and is mainly built by solopreneur now looking to grow the team! If you're successful you will take over the technical aspects of the product development, and will likely help manage more engineers as we grow and hire
What will I do in this role?
Key responsibilities of this role include
- Building something amazing!
- Feature development — you will work closely with the Founder of FireCut to develop new features in the FireCut plugin for Adobe Premiere Pro.
- 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.
- [Optional] Server management — you will own server uptime and take steps to optimise the server setup.
- [Optional] User communication — you will support the Founder in responding 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
- [Optional] 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
- [Optional] 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
Why are some things marked “optional”?
- The work is primarily front-end development, but depending on your experience and interests there is opportunity to help out with back-end as well as product management. We are a small team so, as you might expect, we wear many hats!