You do not need an extremely good laptop for programming
The laptop is fine.
It is different what you want to program.
If it's C # with Visual Studio or Java with Eclipse you need enough RAM but not much graphics. (16GB is enough for both)
But if there are games with engines such as: Unreal Engine or Unity then you need a lot of RAM and a good graphics card
I will not gamble on it. Only program and common programs like Office, Youtube and…
Then this laptop will last and with games I meant games programming.
He's fine for serving hungry IDEs. If you want to work with machine learning, the configuration is not practical because it's best to learn on a graphics card, but I'll work around the problem and train my nets on virtual machines, in short, your device is well suited