Are we talking on a professional or personal level? The two overlap to some extent. You need to do a serious analysis on yourself (perhaps with the help of a trusted friend or colleague) and identify the areas where you need to improve your skills.
But, here's my own list:
On a personal level -- Buddhism Plain and Simple is a good read, even for non-Buddhists.
On a professional level --
Moving up to something like a tech lead means you need more feel for the business side, and your technical reading should be more abstract. You're a professional programmer, you should be able to go from an algorithm to the programming language of your choice with no trouble.
Quality Software Management, Vol. 1 by Gerald Weinberg is good for getting your head around the way technical organizations operate; for better and for worse. I wouldn't worry about the other three volumes for a while.
Introduction to Algorithms by Cormen, et al. We talked some about algorithms and complexity when I was in college, but never in enough detail. I like this book for its rigor, not necessarily its readability.
Design Patterns by Gamma, et al. is another book to get you thinking about programming in more than just linguistic terms.
One other resource worth mentioning -- MIT, Stanford, and other universities have put their core Computer Science classes online. You should investigate those classes in light of where you need to improve.
Eric Schmidt has spend a lot of time competing against Microsoft. I think he's mostly right. Microsoft has only been able to prosper through monopoly tactics and those won't work anymore. They come out with a lousy version 1.0 to keep competitors away, refine it some through versions 2 and 3, then version 4 becomes useful. They can't even think about that strategy now because someone else came out with version s 1, 2, and 3.
Microsoft is still dominant in the word processing and spreadsheet markets. Unfortunately, they'll probably lose that franchise, given the rise of PDF for interchange, and their unwillingness to port their products to either Android or iOS. Someone with deep pockets, probably Google, will come along and take those markets from them.
There's also a lot of back office software that uses their servers, databases, and development tools.But those markets will never grow as quickly as the consumer end.
They won't be going away any time soon, but if they're ever going to get back in to growing markets, they need to change radically. In the end, no company that size will turn on a dime, and its not clear whether there's still time for them to get back in the game.
Programming languages are more than just syntax and semantics. Basic is a terrible programming language. Not just for a lack of rigorous language constructs, but for the programming culture that surrounds it. Visual Basic has morphed into something that has little relationship to its ancestors, but still suffers from hokey syntax and inconsistent semantics.
It was the best we had for computers that don't even have the power of a modern microcontroller. But we have better ways of doing things now. Let's leave languages that embody the best we could do with very little, and start people with something that's consistent, useful, and doesn't embed so many dysfunctional programming constructs.
And before you flame me for not knowing basic, I know Basic well. I use it frequently in my work. I still don't recommend it to my clients.
I've been using NVU/Komposer/BlueGriffon for more than 10 years. It isn't perfect, but it's usually good enough. Now days, I mostly use Drupal, but when I need a simple static page, I'm back to BlueGriffon.
That said, if you need something more complicated, think about using a web content management system. It takes some learning, but I can now set up a basic Drupal site in less than a day, on a managed host.
American Airlines changed something about its baggage handling software. It isn't working. Flights are consistently departing late due to bag loading issues. One plane had to be unloaded and reloaded so the handlers could check the contents.
Bet the development team is going to hear about this one. .
Apple, to its credit, cares about user experience. They're not perfect, but they're way ahead of the windows world. I think that's what's selling the users on Macs.
I bought a Toshiba laptop a little over a year ago. It came with Windows 7, which isn't bad. The Toshiba-supplied drivers, are terrible. It's not stuff you notice right away. It's a lot of annoying little things; scratchpad scrolling doesn't work reliably, and various problems with the sleep functions. For some reason, it thinks it should wake up when the laptop is closed and it gets movement from the wireless mouse. I have to turn off my wireless mouse before I stow the machine, otherwise, it cooks itself in the laptop bag. The audio mute button on the keyboard stopped working with the last MS security update. This kind of cr@p gets on your nerves after a while.
Our household iMacs just sit there and work. My next laptop will be a Mac. I'm running my dev software in a virtual machine anyway. I, like others here, do *nix anyway. Might as well have one in my backpack too.
Old programmers never die, they just hit account block limit.