Programming the ATMega328P without Arduino board always returns the error: avrdude: stk500_recv(): programmer is not responding I have a microcontroller: ATMega328P.
I don't have any Arduino Uno board.

I want to program the ATMega328P using my FTDI programmer.

But when I try to program the ATMega328P without Arduino board I always get this error: 

avrdude: stk500_recv(): programmer is not responding

I've followed this YouTube Tutorial to build this.

And ended up with this diagram:



All the connections seems OK.

I choose the board: "Arduino Pro or Pro Mini" because only with this one I can choose the correct processor: "ATMega328P (5V, 16MHz)"

The port is correct: "/dev/ttyUSB0"

And as for the the programmer I've choose: "USBasp", which I don't know if this is correct. I've used this FTDI programmer to program the STM32 microcontroller and the programmer was "Serial", which I don't see the very same option here.

I'm lost, what am I missing up here?

BTW I've seen this, this and this but couldn't get it fixed.
A new chip cannot be programmed in that manner until it has the Bootloader installed. The Bootloader starts after a reset and monitors the serial interface to see if something is attempting to download code via the serial port.

Selecting a Programmer has no effect on serial download, that only comes into play when Programming via the SPI pins SCK/MOSI/MISO/Reset/Power/Gnd.

Your "design" needs a couple more parts: 0.1uF caps between VCC and Gnd, and AVCC and Gnd.

The Cryslal and 22pF caps could also be a lot closer to the device - like right next to it.

I can't read the FTDI markings, so I can't tell if you have Rx and Tx swapped there.