<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Alessio Izzo</title>
    <description>The latest articles on DEV Community by Alessio Izzo (@aless10).</description>
    <link>https://dev.to/aless10</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F60543%2F71a56607-eae0-4cb6-bf1f-e679e7a1d5aa.jpeg</url>
      <title>DEV Community: Alessio Izzo</title>
      <link>https://dev.to/aless10</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/aless10"/>
    <language>en</language>
    <item>
      <title>Tips and Tricks for Docker Compose: Leveraging the override Feature</title>
      <dc:creator>Alessio Izzo</dc:creator>
      <pubDate>Mon, 07 Oct 2024 21:47:00 +0000</pubDate>
      <link>https://dev.to/aless10/tips-and-tricks-for-docker-compose-leveraging-the-override-feature-4hj0</link>
      <guid>https://dev.to/aless10/tips-and-tricks-for-docker-compose-leveraging-the-override-feature-4hj0</guid>
      <description>&lt;p&gt;Hello there! I would like to share some useful tips and tricks I've gathered while working with &lt;code&gt;docker compose&lt;/code&gt;.&lt;br&gt;
Today I am focusing on on the &lt;code&gt;override&lt;/code&gt; feature. This powerful functionality allows you to customize your Docker configurations without duplicating your code. Let’s dive in!&lt;/p&gt;
&lt;h2&gt;
  
  
  What is Docker Compose?
&lt;/h2&gt;

&lt;p&gt;For those new to Docker Compose, it’s a tool for defining and running multi-container Docker applications. With a single &lt;code&gt;docker-compose.yml&lt;/code&gt; file, you can manage services, networks, and volumes, making it easier to work with complex applications.&lt;/p&gt;
&lt;h2&gt;
  
  
  Understanding the &lt;code&gt;override&lt;/code&gt; feature
&lt;/h2&gt;

&lt;p&gt;Docker Compose provides a mechanism to override configurations by using multiple Compose files. The default &lt;code&gt;docker-compose.yml&lt;/code&gt; can be complemented with a second file named &lt;code&gt;docker-compose.override.yml&lt;/code&gt;. When you run docker-compose up, Docker Compose automatically reads both files and merges their configurations.&lt;/p&gt;
&lt;h2&gt;
  
  
  Why Use Overrides?
&lt;/h2&gt;

&lt;p&gt;Using overrides is beneficial for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Environment-Specific Configurations: You can have different settings for development, testing, and production environments without changing the core configuration.&lt;/li&gt;
&lt;li&gt;Easier Testing: You can tweak settings for testing purposes, like changing environment variables or ports, without affecting the main setup.&lt;/li&gt;
&lt;li&gt;Simplified Configuration Management: Maintain a clean and organized setup while applying specific overrides as needed.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  How to Use the override Feature
&lt;/h2&gt;

&lt;p&gt;Here’s a step-by-step guide on how to implement the override feature:&lt;/p&gt;
&lt;h3&gt;
  
  
  Step 0: Start with the Dockefile
&lt;/h3&gt;

&lt;p&gt;Create a simple Dockerfile so that you can test which compose file is running by passing an argument to the Dockerfile&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;FROM alpine:3.14
ARG HELLO_TO
ENV HELLO_TO=${HELLO_TO}
CMD echo "hello ${HELLO_TO}"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This image reads the &lt;code&gt;HELLO_TO&lt;/code&gt; argument and it just echo it to the console.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 1: Create Your Base compose file
&lt;/h3&gt;

&lt;p&gt;Start by defining your main &lt;code&gt;docker-compose.yml&lt;/code&gt; file. Here’s a simple example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;services&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;hello&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;build&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="na"&gt;context&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;.&lt;/span&gt;
      &lt;span class="na"&gt;args&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
        &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;HELLO_TO=compose&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In this example, we are passing the &lt;code&gt;HELLO_TO&lt;/code&gt; argument to the Dockerfile with the value &lt;code&gt;compose&lt;/code&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 2: Create the Override File
&lt;/h3&gt;

&lt;p&gt;Next, create a &lt;code&gt;docker-compose.override.yml&lt;/code&gt; file in the same directory. This file will include the settings you want to override. In this example, we set the argument &lt;code&gt;HELLO_TO&lt;/code&gt; to &lt;code&gt;override&lt;/code&gt; and we expect this to be printed to the console.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;services&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;hello&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;build&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="na"&gt;context&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;.&lt;/span&gt;
      &lt;span class="na"&gt;args&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
        &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;HELLO_TO=override&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Step 3: Run!
&lt;/h3&gt;

&lt;p&gt;Simply run your application with the following command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;docker-compose up
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Docker Compose will automatically merge both files, applying the overrides defined in &lt;code&gt;docker-compose.override.yml&lt;/code&gt;.&lt;br&gt;
You should see the following output&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;hello-1  | hello override
hello-1 exited with code 0
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This means that the container that ran was using the &lt;code&gt;docker-compose.override.yml&lt;/code&gt; file, as expected.&lt;/p&gt;

&lt;h2&gt;
  
  
  Best Practices
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Keep It Simple: Use overrides for small, environment-specific tweaks rather than extensive changes. This maintains clarity in your configurations.&lt;/li&gt;
&lt;li&gt;Document Changes: Always comment on significant changes in your override files. This helps team members understand the purpose behind each modification.&lt;/li&gt;
&lt;li&gt;Version Control: Ensure both your main and override files are version-controlled to track changes effectively.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;The &lt;code&gt;override&lt;/code&gt; feature in Docker Compose is a powerful tool that can help streamline your development process. By using it wisely, you can maintain clean, manageable configurations while easily adapting your applications to different environments.&lt;/p&gt;

&lt;p&gt;You can find all the code I used in my repo &lt;a href="https://github.com/aless10/dockerComposeGym" rel="noopener noreferrer"&gt;dockerComposeGym&lt;/a&gt; where I am going to add other useful (at least for me) examples of how to use docker compose and its not so well known features.&lt;/p&gt;

&lt;p&gt;If you found this tip helpful or have your own Docker Compose tricks to share, let me know in the comments! Happy bugging!&lt;/p&gt;

</description>
      <category>docker</category>
      <category>dockercompose</category>
      <category>dev</category>
      <category>devtips</category>
    </item>
    <item>
      <title>Discover the Top-Secret Technique to Crafting Killer Blog Post Titles - Straight from the AI Mastermind, ChatGPT!</title>
      <dc:creator>Alessio Izzo</dc:creator>
      <pubDate>Wed, 22 Mar 2023 21:25:00 +0000</pubDate>
      <link>https://dev.to/aless10/discover-the-top-secret-technique-to-crafting-killer-blog-post-titles-straight-from-the-ai-mastermind-chatgpt-27jj</link>
      <guid>https://dev.to/aless10/discover-the-top-secret-technique-to-crafting-killer-blog-post-titles-straight-from-the-ai-mastermind-chatgpt-27jj</guid>
      <description>&lt;p&gt;Maybe you have heard about this new "Chat GPT" thing. Right? There are tons of blog posts and youtube videos that tell how to use Chat GPT to make more easy money by creating applications, generating content etc...&lt;br&gt;
I was wondering if it can be used to help me generating something related to itself and this situation where &lt;em&gt;everybody&lt;/em&gt; wants to write something about it (and I am adding to this list with this post).&lt;br&gt;
Here is what happened...&lt;/p&gt;

&lt;h3&gt;
  
  
  The chat
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;ME&lt;/strong&gt;: I want to write a blog post with a clickbaiting title about how to ask chat-gpt to create a clickbait title for an article. Can you help me?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GPT&lt;/strong&gt;: Sure, I can help you come up with a clickbait title for your blog post. Here are a few options:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;"Want to write the ultimate clickbait title? Here's how ChatGPT can help!"&lt;/li&gt;
&lt;li&gt;"The secret to writing clickbait titles revealed - with a little help from ChatGPT"
-"ChatGPT spills the tea on how to create clickbait titles that actually work"&lt;/li&gt;
&lt;li&gt;"Revamp your headline game: Ask ChatGPT to create a killer clickbait title"&lt;/li&gt;
&lt;li&gt;"Why waste time brainstorming? Let ChatGPT generate your clickbait title for you"&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;p&gt;It looks like it did a pretty good job. In fact, it showed me that it understands the concept of &lt;em&gt;clickbait&lt;/em&gt; and the basic pattern of this kind of titles.&lt;br&gt;
I tried then to propose another option, which was the one I had in mind in the first place. &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;ME&lt;/strong&gt;: How about "I asked ChatGPT to help me with a post title. The answer will shock you"?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;And then, &lt;em&gt;the answer will shock you&lt;/em&gt; (naaah, just kidding)&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;GPT&lt;/strong&gt;: That's definitely a clickbait title! However, it may not accurately reflect the content of your blog post, especially since the answer (i.e., the clickbait title generated by ChatGPT) may not actually be shocking. Keep in mind that while clickbait titles can be effective in getting clicks, it's important to also provide valuable and informative content for your readers once they're on your site.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This answer did surprise me. In fact, it basically reminds you that it is important to &lt;em&gt;provide valuable and informative content for your readers&lt;/em&gt; which may sound obvious, but it isn't.&lt;br&gt;
Then, it told me that it can help me if I need other examples ("great to hear" I thought).&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;GPT&lt;/strong&gt;: If you'd like, I can suggest some alternative clickbait titles that might be more relevant to the content of your blog post. Let me know!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;ME&lt;/strong&gt;: Yes, please. I would like to talk about how to use ChatGpt to improve the titles of my blog posts&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GPT&lt;/strong&gt;: Great! Here are some clickbait title options for your blog post:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;"Revolutionize Your Blog Post Titles with ChatGPT's Secret Tool"&lt;/li&gt;
&lt;li&gt;"Is Your Blog Post Title a Snooze Fest? Let ChatGPT Transform It into a Clickbait Masterpiece"&lt;/li&gt;
&lt;li&gt;"Don't Let Your Blog Post Titles Fall Flat - Use ChatGPT's Tips for Click-Worthy Headlines"&lt;/li&gt;
&lt;li&gt;"Want to Boost Your Click-Through Rates? Ask ChatGPT to Generate Attention-Grabbing Blog Post Titles"&lt;/li&gt;
&lt;li&gt;"The Ultimate Hack for Bloggers: Use ChatGPT to Create Clickbait Titles That Actually Deliver"&lt;/li&gt;
&lt;li&gt;"Say Goodbye to Boring Blog Post Titles - ChatGPT's Got Your Back"&lt;/li&gt;
&lt;li&gt;"Get More Traffic to Your Blog with ChatGPT's Proven Method for Crafting Irresistible Headlines"&lt;/li&gt;
&lt;li&gt;"How to Use ChatGPT to Create Headlines That Will Make Your Blog Posts Go Viral"&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;p&gt;Again, the job here is pretty good. But I was not satisfied. I needed a title for &lt;em&gt;this&lt;/em&gt; blog post. So I asked for one more&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;ME&lt;/strong&gt;: Ok, so give me just one more example and I'm going to use this one for the real post&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GPT&lt;/strong&gt;: Sure, here's one more clickbait title option for your blog post:&lt;/p&gt;

&lt;p&gt;"Discover the Top-Secret Technique to Crafting Killer Blog Post Titles - Straight from the AI Mastermind, ChatGPT!"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Here we go&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;ME&lt;/strong&gt;: Cool, thanks bro&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GPT&lt;/strong&gt;: You're welcome! Good luck with your blog post. Don't forget to deliver on the promise of your clickbait title by providing valuable content for your readers.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Now it also reminds me to write valuable content. The pressure is on me now.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;It looks like Chat GPT understands what clickbait is. But it also knows that writing clickbait titles is not enough. When you write something and you share it with the world, you MUST ask yourself: does it create value? is it worth sharing?&lt;br&gt;
I think that this is in the end the secret ingredient of the great contents: the purpose of creating value to the readers. I hope I did that with this post (at least this was my goal). &lt;br&gt;
Cheers.&lt;/p&gt;

&lt;h2&gt;
  
  
  More on the topic
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.writingbeginner.com/how-to-write-a-blog-post-with-chat-gpt/" rel="noopener noreferrer"&gt;How to write a post with chat gpt&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=aqJmGbCvhHQ&amp;amp;ab_channel=OsborneDigitalMarketing" rel="noopener noreferrer"&gt;How You Can Use Chat GPT To Write A Blog Post&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>chatgpt</category>
      <category>clickbait</category>
    </item>
    <item>
      <title>Who really needs to crack the coding interview?</title>
      <dc:creator>Alessio Izzo</dc:creator>
      <pubDate>Sun, 26 Feb 2023 22:31:07 +0000</pubDate>
      <link>https://dev.to/aless10/who-really-needs-to-crack-the-coding-interview-5b4j</link>
      <guid>https://dev.to/aless10/who-really-needs-to-crack-the-coding-interview-5b4j</guid>
      <description>&lt;p&gt;The term &lt;em&gt;"cracking the coding interview"&lt;/em&gt; became known from the book &lt;strong&gt;Cracking the coding interview&lt;/strong&gt; written by Gayle Laakmann McDowell (software engineer, former Google, Microsoft and Apple).&lt;br&gt;
The book is a collection of coding exercises that are often asked during the technical interviews at a lot of companies, especially at the FAANG (Facebook, Amazon, Apple, Netflix, Google). The aim of the book is to prepare the candidate to answer to these kind on questions.&lt;/p&gt;

&lt;p&gt;I really enjoy talking about this topic and I was recently invited at the &lt;a href="https://milano.python.it/" rel="noopener noreferrer"&gt;python milano&lt;/a&gt; meetup to talk about this (here is the &lt;a href="https://www.youtube.com/live/c55Q-JgHVNo?feature=share" rel="noopener noreferrer"&gt;talk&lt;/a&gt;).&lt;/p&gt;
&lt;h2&gt;
  
  
  Why I read this book
&lt;/h2&gt;

&lt;p&gt;I suck am not so good at these kind of interviews. But I wanted to become better at this. Althought there are a lot of good resources online (&lt;a href="https://www.hackerrank.com/" rel="noopener noreferrer"&gt;hackerrank&lt;/a&gt; and &lt;a href="https://leetcode.com/" rel="noopener noreferrer"&gt;leetcode&lt;/a&gt; for example), I wanted to use this book to "measure" if I was somewhat improving my skills. &lt;br&gt;
I also was skeptical, because I don't think that you must be bood at this to be a good software engineer.&lt;/p&gt;
&lt;h2&gt;
  
  
  Surprise
&lt;/h2&gt;

&lt;p&gt;I give it a try and I found something that was unexpected. In the preface of the book, the author says:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;I’ve learned that a lot of interviewers are using this book to learn how to interview. That wasn’t really the book intention&lt;/li&gt;
&lt;li&gt;It’s not for everyone, every company or every situation&lt;/li&gt;
&lt;li&gt;Don’t ask the exact same question in here&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This blew my mind. In fact, I always thought that a lot of people keep asking these kind of questions just because they think they should do it. This kind of confirmed my beliefs.&lt;/p&gt;
&lt;h2&gt;
  
  
  Ok but... what kind of interview?
&lt;/h2&gt;

&lt;p&gt;If you are not familiar to the topic, here is a simple example to understand what I'm talking about:&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Write a function that takes a list as an argument and returns the most common element of that list&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5aeyhnuu5fdllshm376q.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5aeyhnuu5fdllshm376q.jpg" alt="Image description" width="459" height="293"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I know that this looks pretty easy, but when asked during an interview it could be hard to solve.&lt;br&gt;
Here are some quick tips I find really useful:&lt;/p&gt;

&lt;h3&gt;
  
  
  Don't
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;start writing the code: you often need to re-read the question more than once, to understand what you need to do&lt;/li&gt;
&lt;li&gt;be quiet: the interviewer wants to understand if she can work with you and know how you think of a problem. Not thinking out loud is not a good sign&lt;/li&gt;
&lt;li&gt;go for the optimal solution: sometimes it's better to go for &lt;em&gt;a&lt;/em&gt; solution, not &lt;em&gt;the&lt;/em&gt; solution&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Do
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;ask clarifing questions: try to deeply understand the problem, it saves you a lot of time (even in real life problems too)&lt;/li&gt;
&lt;li&gt;speak out loud: think about this as a conversation with the interviewer, not as a job interview&lt;/li&gt;
&lt;li&gt;solve first, optimize later: see above&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Is it worth?
&lt;/h2&gt;

&lt;p&gt;Even if I don't think that you need to be good at these exercises, I think that practicing on these could help you improving your skills and learn something new (for example some common ways to solve problems). Plus, it's mandatory if you want to work for FAANG like companies.&lt;br&gt;
So my advice is to dedicate some time to work on this and even spend some money (in the book for example or in some course to prepare yourself).&lt;br&gt;
It's like an investment in yourself and in this case you can be sure to have a good return of your investment. The time that you spend on practicing is always well spent.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8iz0ah06maraxmmftosy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8iz0ah06maraxmmftosy.png" alt="coding-interview-vs-real-job" width="800" height="502"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  But then, the epiphany
&lt;/h2&gt;

&lt;p&gt;Why do the companies that ask these questions, ask these questions?&lt;br&gt;
The solution to this dilemma can be found in what the author of the book says: &lt;em&gt;I’ve learned that a lot of interviewers are using this book to learn how to interview. That wasn’t really the book intention&lt;/em&gt;. I think the problem here is that most of the time the interviewer is not prepared to do the interview. I'm not saying that this is their fault, or that they are not good in their job. I'm just wondering if they had time to be trained to do this activity.&lt;br&gt;
So, I started "interviewing" the interviewer. Here is an example:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Interviewer: What are metaclasses in python?&lt;/li&gt;
&lt;li&gt;Me: Have you ever used them in your code?&lt;/li&gt;
&lt;li&gt;Interviewer: No, but I know that somebody else did &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;My takeaway here is that the interviewer was not focused on what he needs for the job, but just on asking a question. &lt;/p&gt;

&lt;h2&gt;
  
  
  What I like
&lt;/h2&gt;

&lt;p&gt;Here is a list of what I like to do during an interview, or what the company I'm interviewing for does:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You actually write or look at the code: this gives you and the interviewer something practical to talk about and it can be useful to understand if you can work together&lt;/li&gt;
&lt;li&gt;You talk about tests: no more words needed&lt;/li&gt;
&lt;li&gt;Public github repo: this helps understanding how the people in the company works&lt;/li&gt;
&lt;li&gt;The interviewer wants you to succeed and not to look smart:  sometimes people asks questions just to show how smart they are, without thinking if the question is useful for them. Please don't do that&lt;/li&gt;
&lt;li&gt;Explicit interview process (which is better than implicit): the candidate should know how much time he's been requested for the hiring process to a) organize himself and b) think if it's worth&lt;/li&gt;
&lt;li&gt;Feedbacks (+ and -): feedbacks are always useful and you never know if the candidate will be good the next time. Also, if a company does not give feedbacks, do you really work there?&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Another POV
&lt;/h2&gt;

&lt;p&gt;Laszlo Bock, Former SVP of People Operations @Google, wrote a book called &lt;a href="https://www.amazon.com/Work-Rules-Insights-Inside-Transform-ebook/dp/B00MEMMVB8/" rel="noopener noreferrer"&gt;Work Rules!&lt;/a&gt; where he talks about how Google does People Operations. In the chapter 3 of the book, he talks about the interviews and the hiring process in general:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Hiring is the single most important activity in any organization&lt;/li&gt;
&lt;li&gt;We found that brainteasers are a complete waste of time. How many golf balls can you fit into an airplane? How many gas stations in Manhattan? A complete waste of time. They don’t predict anything. They serve primarily to make the interviewer feel smart. Some of our interviewers still ask them. I’m trying to get them to stop.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What companies should do
&lt;/h2&gt;

&lt;p&gt;I've always thought that &lt;em&gt;hiring is the single most important activity in any organization&lt;/em&gt; for a lot of reasons. The most important one is that it is a great opportunity to better understand the company. What are you strengths and weaknesses? What kind of people do you need? What kind of company do you want to be?&lt;br&gt;
To do that, I think that the people involved in any recruitment process should be taught how to do interviews, overcoming bias that could led to bad decisions. &lt;br&gt;
It's not easy to do, but it's worth it.&lt;/p&gt;

&lt;h2&gt;
  
  
  References
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://youtu.be/5bId3N7QZec" rel="noopener noreferrer"&gt;how programmers overprepare for job interviews&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/jwasham/coding-interview-university" rel="noopener noreferrer"&gt;Coding interview university&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dev.to/mokkapps/with-these-tips-you-will-rock-every-technical-job-interview-4d26"&gt;Tips to rock tech interviews&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;Thanks for reading! I’m always open to receive feedback, recommendations, or questions, feel free to contact me!!&lt;/p&gt;

&lt;p&gt;Alessio Izzo, Software Engineer&lt;br&gt;
LinkedIn: &lt;a href="https://www.linkedin.com/in/alessio-izzo-06b5398b/" rel="noopener noreferrer"&gt;https://www.linkedin.com/in/alessio-izzo-06b5398b/&lt;/a&gt;&lt;br&gt;
GitHub: &lt;a href="https://github.com/aless10" rel="noopener noreferrer"&gt;https://github.com/aless10&lt;/a&gt;&lt;br&gt;
Twitter: &lt;a href="https://twitter.com/alessio_izzo86" rel="noopener noreferrer"&gt;https://twitter.com/alessio_izzo86&lt;/a&gt;&lt;/p&gt;

</description>
      <category>codinginterviews</category>
      <category>developers</category>
      <category>programming</category>
      <category>jobs</category>
    </item>
  </channel>
</rss>
