On Wednesday this week, I had my very first interview for an internship role at a software engineering company. Nerves were high, the stakes felt even higher, and I wasn’t sure what to expect.
I joined the call, introduced myself to the interviewer, and we got started. Things began smoothly… until they didn’t.
The Beginning
The interviewer started with the classic question: “Tell me about yourself.”
I had prepared well for this, so I answered confidently. We quickly moved on to my projects. He focused on my blockchain-based voting system and asked me to explain the architecture, data flow, and the essential parts of the app.
I walked him through the user interface, the smart contract functions, the backend, and how I used the MVT framework to tie it all together. Up to this point, everything felt great.
Mid-Interview
Then came the first curveball: “Why did you make XYZ design choice?”
I froze for a second. I knew that design had a flaw that would hurt performance in large-scale elections, but I hadn’t fixed it due to time constraints. I went into defensive mode, explained the flaw, and then talked about how I could fix it in future iterations. Luckily, that seemed to land well.
But then he followed with: “Your projects are cool, but your stack doesn’t really fit ours. How quickly can you adapt?”
This caught me off guard, but I shared how I had quickly adapted to Solidity when working on the voting system. That seemed to reassure him, and we moved to the final stage.
Interview End
The interviewer asked a few Python questions — my strongest language. I was ready… until he asked about two very basic concepts:
- Asynchronous programming
- Mutability of data structures
For reasons I still don’t understand, I blanked. I stuttered, gave answers that weren’t entirely wrong, but weren’t textbook definitions either.
I heard the sigh on the other end. In that moment, I knew the truth: I wasn’t getting the job.
Lessons Learned
This interview humbled me. It made me question whether I was truly good enough, whether I really knew my stuff, and whether I even belonged in this space.
But after reflecting, I realized a few things:
- One interview isn’t the end. There will be many more, and better opportunities will come.
- Interviews are a skill of their own. Preparing for interviews is almost like a full-time job, and fumbling doesn’t mean you’re not a good developer.
- Failure is feedback. I now know exactly what to revise, and where to sharpen my knowledge.
Walking away, I didn’t get the offer — but I gained something else: clarity on what to improve, and confidence that the next time will be better.
Top comments (0)