This is why I'm building this.
@n8n_io I came to apply and this is unacceptable. This is soul-crushing. And I'm gonna call you out so we can all learn from this case and hopefully arrive to a place where we don't have to do this anymore.
You are a company that supposed to make automations easy for everyone. That is commendable. And I want to apply and make n8n an even better product. I believe I might have good ideas
But this application process is ridiculous to the point where I'm convinced that you don't care about how engineers feel writing down answers for all those checkbox options and endless input fields.
I mean...
If you want me to apply by making an automation to check those boxes automatically from reading my preferences I wrote beforehand... Sure!
Challenge accepted.
Let's go and do this together, shall we?
Step 1.
I asked agent to install browser-use and it took ~3.5 minutes from me sending a prompt, to agent creating `~/git/konovalov-nk/browser-use` directory, and then installing it, and then using it to extract the questions without any sort of further guidance:
pastebin.com/KFLnHWvn
My two prompts were literally this:
1. "Can we extract questions and answer options from this URL ..." -> WebFetch doesn't load JS properly and simply shows main career page
2. "Lets setup browser-use into ~/git/konovalov-nk/browser-use" (I didn't even tell why we want to do this)
Now, what's next?
I have my resume setup at
resume.br11k.dev/ and my resume is very simple to parse and read, and I actually still have json version of my resume from building it on top of
github.com/konovalov-nk/reac… and I should probably just host it under /json URL for agents/LLMs that can reach my website.
(Note: feel free to steal this setup btw: it can produce a static HTML you can self-host that scores "100 Perf / 89 A11y / 96 Best Practices / 100 SEO" on desktop according to
pagespeed.web.dev/, as well as my favorite template I decided to replicate and it took an entire week of sweat and blood and installing pixel-perfect plugin which I haven't used for like 10 years but I digress).
Step 2.
I wrote a tiny spec how to actually properly parse the application data into JSON. I'm simply giving it a structure.
1. questions.json
[ { "id (simple integers from 1 to x)": 1, "question": "...", "type": "checkbox/text_input/...", "required": true/false, "checkbox": { "minimum/maximum/etc": 4 }, "options (for checkboxes)": [ { "id (again, good to have this parsed into simple integer ids so answer is simpler to associate with options)": 1, "value": "..."}, ... ], ... } ]
(see screenshot)
2. answered.json
[ { "id": 1, "response": { "text (if it is input type)": "...", "options (if checkbox)": "response_type": "checkbox/text_input/multiline_text_input/..." } ]
pastebin.com/rTpCeGYF because I can't attach more screenshots
Step 3.
We launch `google-chrome-stable --user-data-dir="/tmp/chrome/automation" --remote-debugging-port=9222` (CDP)
And then agent does the magic thing called `const { chromium } = require('playwrite')`.
CDP is Chrome DevTools Protocol and it allows to essentially control a chromium-based browser programmatically. So I can launch a browser on my machine, login where I need to, and let agent to control it. Cool stuff.
Step 4.
Now agent does the magic: 1) navigates to page, 2) finds selectors / inputs, 3) fills all the details, 4) sends me a notification that I can now review and submit my application.
This is where the bottleneck lives because I still have to verify that question answers were not hallucinated or just plain wrong, but you can agree I made it waaaaaaaaaaaaaaaaay simpler than doing this all by myself.
Step 5.
I write down in detail my frustration and what I'm doing on Twitter so that other people can open up my profile and see what I'm struggling with and hopefully learn something useful out of it. But anyway...
My point have been made.
And to the rest of normal software engineers that don't want to make it competitive, this is a soul-crushing experience. I can't even force myself to go through all of it in a single sitting.
I can't be silent about this.
Let's end these stupid hiring practices and let us apply freely. If we are concerned about people mass-applying that's because the process is broken, not people. We made it this difficult to review candidates. We made it unbearable for the average guy like me. We made it a numbers game, so we play the game by our own rules, and what do you expect? That I will apply one by one, where an individual application takes 3 hours to go through because of stupid UI/UX decisions? I don't have time for this. Nobody does. And we expect people to go all out and crawl out of their skin to reach the hiring manager's eyes. An insane commitment to make for a company that would just filter out 99% of the candidates with an algorithm ATS provides. Where more than 80% of them are genuinely capable to do what the job description lists as a requirement, if you just give them a chance to prove it. "There's just too many applicants!", you might say. Sure is. Who created this problem though? Why nobody is trying to solve it? Why do we have to live in this goddamn dystopian world today where you need to send 100 applications before receiving a single response?
Here's what I figured out while I was at Codility.
Hiring proper people for your team is difficult. This is genuinely hard problem to solve. We don't even have assessments that test Software Engineers properly. If your suggestion is automated coding assessment, you already know what I'm gonna tell next.
Not a chance I will hire a person that knows how to write a red-black tree with their eyes closed but cannot debug a broken development environment and fix it during pair programming session, while communicating clearly what is their thought process, and what they know, don't know, and asking for help.
And this is such a simple test that LLMs cannot help solve today during live pair programming session. I've seen many candidates to try and fail to debug a two file Python app setup with simplest possible task to write 10-20 lines of code for a full solution. It's just ridiculous at this point to even consider those people to let into this industry. I've seen Senior engineers in their title that couldn't figure this out, come on, man...
What exactly is problem solving ability?
I just demonstrated one to you. Here's problem, here's how I solved it. Raw, pure, unfiltered thoughts of my ADHD/OCD brain. Yes, inefficient solution, and took too much time to write this all down to make a point.
But tell your agent to look at what I wrote and it would implement my solution 1:1 exactly and it will work. Because I just went through this and the only thing left for me is to press "Apply" button.
But will I get a response?
That's not for me to decide.
I did my best to apply. I even solved a problem while doing this. I didn't want to. It's just my stupid brain comes up with stupid ideas called "lets optimize this, no matter what is the cost of doing so". But in this case, I was lucky enough that cost was about 30 minutes of pure thinking process, and now I can write a detailed spec and refine it later when needed. And share my solution! We all should share our solutions to problems. And if a solution is still difficult to use, then we can provide a service, sure.
That's what I do as Engineer, every day.
But today is already past 2:55 AM, and I'm exhausted and I don't blame n8n team for what they did but at some point I had to stop what I was doing, and say to myself:
"Nik, you have done well today. You can go rest. Come back tomorrow, and we'll continue working on this."
And I only wish that tomorrow I don't have to do this soul-crushing job search anymore, and I can focus on developing specs for the product I will care about.