I don't have a coding job in any field, so I can't speak from that experience, but I've been programming for over 20 years and am always learning new things. I think there a few basics that are fairly timeless that can inform your knowledge and approach to more high level coding tasks like working with databases, website design and mobile app development.
It's pretty clear just as a user of these things that the majority of developers have no idea what they're doing, when websites can bring the monster machines we use today to their knees with all of their cludged together interfaces and scripting, and it's even worse on mobile with websites and apps. Part of that problem seems to be with the automated tools and libraries that people use without much thought or knowledge to build them. Gluing a few libraries together with some scripting or a high level language like Java, C# or Obj. C/Swift is pretty easy and people without much knowledge of what's actually going on can do a lot, but that comes at a cost to efficiency and maintainability and we see the results of this every day when these coders and designers aren't making good and informed decisions and websites and apps run like crap.
Those basics I mentioned would include for one, memory management, and learning how data is actually stored and moved around at the hardware level. A lot of optimization involves reducing the allocation and movement of memory, working with a good debugger and timing tools/profilers to find where to focus your optimizations on. Another basic would be API design and architecting a multi-platform desktop program in a lower level language. It's good to know how to efficiently abstract operating system specific functionality from platform independent code. Knowing how to create a clean interface between the application specific layer and operating system layer has a lot of benefits to maintenance and portability, and is a skill useful even for mobile app and web development where you're constantly working with third-party frameworks and APIs.
If I were in your position, I would want to tell myself to start out learning C. The C Programming Language is a good start. After that, I would look in to
Handmade Hero. This guy does a daily stream on Twitch where he's building a 2D game by writing everything himself in C on Windows. The only outside functions he calls that aren't written by him are a few system calls to Windows to get a chunk of memory, a window handle to output a bitmap buffer for graphics, sound and gameplad/keyboard/mouse input, and a call to output a sound buffer. Just the initial 5 videos, his introduction to C and the following first 10 days of the main stream are required viewing for anyone with this kind of interest and do a lot to impart enough knowledge on those basics I mentioned above to get you going and asking the right questions for further study.
A bit rambling, and a bit of a shill for Handmade Hero, but I think starting from a basic knowledge of C and learning from that series is a great starting point for general coding knowledge that you can then build on, and I would've killed to have something like that back when I was starting out. Instead I spent a lot of time reading books on coding practices like OOP design patterns, functional programming, etc., and writing crappy programs in QT, gaining bad habits that I'm starting to unlearn.