← back to journal
EngineeringJul 27, 20266 min

Two years of vibe coding, and a screening round I deserved to fail

arc: two years of vibe coding in a very good environment → a referral interview that never read my resume → i couldn't answer the basics → the AI was never the problem, what i did with the time it saved me was

let me be honest about how i actually worked for the last two years.

i vibe coded. every day. claude open from morning, every feature, every fix. i did not write code by hand. i didn't need to.

and here's the part i want to be precise about, because "vibe coding" makes it sound like i had no idea what was happening — i did. i knew the app cold. i knew what was frontend and what was backend, which files sat where, and exactly what a new feature would touch. route file, controller, service, repository, middleware on the backend. service file, UI, the rest on the frontend. i knew the flow. so when i pointed AI at something, i pointed it at the right place.

what i had was exposure, and judgement about the shape of the work. what i quietly lost was everything underneath it.

when a network call failed, i copied the curl and pasted it in. that was my debugging. the whole of it. i never sat with the error, never went one level down to find out why 🤷‍♂️

and it worked. for two years it worked fine.

the environment made it easy

i should explain where i was, because it isn't an excuse but it is the reason.

small startup, and i was the primary developer. the founders are 14-year engineers — one of them is top-notch at backend, the other owns frontend and the whole application development process. they know everything. anything that broke, they could resolve.

and they had structured the app so well that an intern could sit down, open AI and ship a working feature. i mean that as a compliment — that is genuinely good architecture. the file structure did the thinking for you.

so nobody wrote code by hand. why would you. leverage the AI, ship it, move on. that was the environment, and i was very comfortable in it.

what those two years actually gave me

i don't want to write this like the time was wasted, because it wasn't.

i talked to the CEO every single day. design, product, small decisions, constantly.

our QA tester has six years of experience and she is the best i have worked with. she'd raise a pile of issues in a day and i'd fix all of them, and the app got reshaped continuously because of it. i learned how a tester looks at an app — genuinely different eyes than a developer's, and i can't unsee it now.

i watched how deploys happen. i watched how marketing works inside a startup, how you actually take a product at a market. most of what's in the rest of this journal, i learned in that room.

so the exposure was real. the fundamentals just rotted quietly underneath while all of that was going on.

the interview

my own founder referred me.

first call — she asked what i'm expecting, and i gave her a number. then she told me to rewrite my resume and add Java, Spring Boot and AWS.

so i did, and then i went and prepared them. i know the basics of both, but if it's on my resume i have to be able to stand behind it. i studied. i got ready.

then the screening round happened and none of it mattered, because the guy never looked at my resume. not once. he opened with fundamentals and never came up for air.

backend
  middleware · streaming · why node · node's advantages and disadvantages
  promises · callbacks · async/await · the next function
  express · authentication vs authorization
  exception handling · clustering · the event loop

frontend
  controlled vs uncontrolled components · props · keys
  the virtual DOM · hooks · useMemo · useCallback

then came the one i still think about. if the backend returns a big JSON, how do you show it on the frontend?

i said pagination.

he said don't use pagination. the page should just scroll, and the data adjusts itself and keeps appearing as you go down. how do you handle that?

i sat there. i had nothing. after a while i told him i have no idea.

then he asked about CORS, and that one i could actually answer — i'd properly learned it off youtube at some point, and i explained it. he was fine with it. then he just kept going.

somewhere in the middle, once the unanswered ones started stacking up, i could feel him going a level deeper each time. so i told him straight: i'm the primary developer at a small startup, i lean on AI, and a lot of what i've built is workflows that automate my own work. i said we weren't only vibe coding — i use BMAD for agent-driven agile, i plan first, the plan gets written before anything gets built. all of that is true.

he heard it. then he went deeper anyway.

by the end i knew i'd messed it up, so i asked him for it directly — sir, i know i was very weak on fundamentals, i've realised that. is there any feedback you can give me?

"you're depending on AI too much. you should learn the fundamentals, buddy."

i left right after that.

it was still my fault

i was sad for a while. i shouldn't have been, because none of it was a surprise. i knew exactly what i'd done.

i knowingly spent two years not learning. i let shipping feel like progress — fake productivity, and some part of me knew it the whole time. i felt shitty about myself that day.

no regrets though.

and it's easy to be annoyed that he never read the resume. but looking back he wasn't reading off a googled list either — every time i missed one, he pushed further in. that's what you do when you're actually testing someone.

i should have been preparing fundamentals every single day. i had the perfect setup for exactly that — let AI do the work, spend the hours it hands back actually learning. it was sitting right there for two years. i didn't do it. that's laziness, and it's mine.

the AI was never the problem. what i did with the time it gave me was the problem.

where i am now

the first thing i did was write down every question i'd messed up. the whole list, straight into my notes. then i started debugging them, one topic at a time.

and the thing that surprised me is how easy it is.

computer science background, two years as the primary developer on a real product — i'm not learning this from zero, i'm re-meeting it. all the theory from engineering that felt pointless at the time suddenly has something to stick to. the dots connect on their own now. i have seen the event loop cause a bug in production. i just couldn't name it in a room.

Ex: i shipped a 500ms debounce months ago and it worked. i couldn't have told you it was a closure holding that timer between keystrokes. using it and explaining it turned out to be two different skills.

for the past several months i was doom scrolling. hours of it, random things, every day. since that interview i've been more productive than i've been in a long time.

i don't know how long it lasts. i genuinely don't know what my mind does in a few months. right now it's working, and that's all i can say honestly.

#buildinpublic #softwareengineering #javascript #nodejs #learninginpublic

Send this as proof →Share on LinkedIn