Have you ever failed an interview? I have, many. And there’s crucial to not consider your failures as defeats but to learn from them as much as possible.
When it comes to the competitive landscape of interviews for an engineering position, your knowledge and experience do not always directly match the one they expect from you, hence you should learn and adapt throughout your journey, making your mind ready for whatever is asked.
I've built the Four-step Pipeline to enhance my preparation and research strategy, to learn from my failures and so far, it's been incredibly effective.
The steps are:
Capture everything you don’t know but seem you should.
Consume and distill captured information mindfully.
Study what you got, and turn the information into knowledge.
Apply it to real projects by creating your own examples.
Keep that in mind - failure is not a termination point but an opportunity for learning, this iterative method reduces the gap between you and a successful job application each time you get failed.
Step 1: Capture
Whenever you are in an interview, or scanning offers on a job board and meet any unknown term or a point of misunderstanding - take a moment to capture it in your notes. Make sure these notes are accessible and easy to review, you’ll need them when you form your Learning Backlog.
Don't just stop at capturing, engage in active research. Google each item, and surf through articles, videos, or other resources available. The goal is to capture fair and useful resources related to each point of misunderstanding. You can use web clipping tools like Instapaper or Notion Web Clipper to fill up your reading pile.
Step 2: Consume
During your dedicated reading time, go through each resource thoroughly, highlighting or bolding key points. Highlight passages whenever you feel like it resonates with you, your goal here is to get maximum from each piece of information but not overwhelm yourself at the same time.
Tools like Readwise can be incredibly useful in collecting and mastering these highlights. The result? A distilled, focused bank of information for further studying and application.
Step 3: Study
Now you're equipped with a concentrated information source, it's time to turn it into personal knowledge. The best way to accomplish this? Rephrase and rewrite the information into your Personal Knowledge Base, linking it with pre-existing notes, and illustrating it with practical examples.
This act of transforming external information into your own words aids retention and helps form a solid understanding of the topic. You can use note-taking apps or, the best, knowledge management tools like Notion, Roam, or Obsidian for that purpose.
Step 4: Apply
The culmination of this process isn't just a reservoir of knowledge but actionable skills that can be employed during interviews and your work. Nevertheless, the application shouldn't be limited to this setting.
Make use of practical platforms to test your knowledge. For instance, while studying architectural patterns, such as the abstract factory, you don't necessarily need to build an entire application. Instead, draft a high-level diagram on Miro or Draw.io using your own examples and ask for feedback from your peers.
You can even show your own examples in an interview when it comes to discussion, proactive knowledge-seeking is much more valuable than the ability to remember the term definition from the study book.
How does it work together? The example
Let's say you went through a job application or have been asked in an interview about Dynamic Programming. When you faced the unknown term, you took a note, now you know you come back to this later, no need to keep it in your mind anymore.
Later on, you met the note while doing research, you searched for this in Google and found a few simple-word articles, you can choose and save for further reading the one that resonates with you the most, which is written in the style you like. Make sure you trust the resources, if it is on the blogging platform - check the comments section.
Now you have a piece of information to review - an entry point to make it yours
When you read the article, highlight anything you think you should know. Sometimes you’ll have to do additional research on some terms, feel free to add your comments and even links to other resources which explain some particular things. You will thank me later when it comes to studying.
In the result, you got a bunch of information blocks. Now it’s time to turn them into your own knowledge. Move these blocks to your Knowledge base, but not just copy-paste but re-write them into your own words. If you come up with examples along the way - perfect! Also, when using a link-based tool (such as Roam or Obsidian) there are a bunch of linked topics you might connect, in our case topics Algorithms, Strings processing, and Graphs would be suitable - it gives you knowledge a context.
Now it is a part of your knowledge, you can claim it is your own
When you are preparing for the interview and expect Dynamic Programming to be asked from you, better to try it out, and actually solve a couple of LeetCode issues using the method you thoroughly studied during the previous steps. Solved it successfully? Copy-paste your solution to the examples section of your note. You will super appreciate this when you’re in an interview!
Learning never stops
Not only for the sake of interviews but every day there’s something you don’t know but you would like to. Keeping your learning pipeline, and constantly tuning it gives you an unfair advantage. Share your stories and methods with me in the comments I would like to learn from you as well!