The tenacious software development student dilemma

My problem is that I know basics of programming, but not enough. It has been 7 years since I’ve first touched programming. I can read code, I can modify code, I can create small code. But I feel something is missing in me.

Please suggest me some books/courses to overcome this plateau.
Books like “python crash course” are seemingly too basic. Including “automating the boring stuff with python”.
I want some sort of puzzle related books.

I’m purchasing lots of computer science textbooks recently.
These are the books I’ve purchased.

  1. Operating System
  • Godbole, Kahate
  • Galvin et al
  • Stallings
  • Three easy pieces (it’s free)
  • Deitel et al
  1. Computer Networks
  • Fourouzan
  • Kurose Ross
  • Douglas Comer TCP IP internetworking
  1. Security
  • Atul Kahate Cryptography and Network Security
  1. Digital Logic
  • Thomas Floyd
  1. Database Management Systems
  • Ramakrishnan, Gehrke
  • Conolly, Begg
  • Korth et al
  • Rajiv Chopra
  • C.J Date
  • Elmasri, Navathe

I am planning to buy books for system design, distributed systems etc.

I really dunno what I’m doing?

I know linux, sql etc. And working as a IT helpdesk guy.

I want to learn programming, pure programming that’s helpful for devops engineers, what level of book should I learn from?

I’m wondering if there are books for people who have already almost built muscle memory for programming basics but want to move further. Directly starting into projects isn’t helping me. Any proxy step that I can take before I enter as a real software developer? (No, I don’t want to build websites, but I’m interested in backend engineering)

In your previous post you asked for recommendations for textbooks to learn web security as a web developer, so which is it?

my role is bit diverse. I do everything a bit.

I would recommend head first design patterns