Ok...before you balk at the title, I know it is very cliche but I used the term Web 2.0 because it will help you understand what I am trying to do - i.e. I want to build a company that builds web applications, or desktop applications that interact with 'the cloud', or some derivative thereof.
So the question is, where can I learn all the individual tools to be able to do this from a technical standpoint. I pretty much have the business stuff taken care of, but, if I wanted to setup certain systems (or at least know what I am dealing with so I can talk to people intelligently) where can I learn ? I am pretty tech-literate, and I have some programming under my belt (did a B.A. in Computer Science). However, I will be brushing up my programming skills. But the more I learn, is the more I realize I don't know.
Some of the things I want to learn more of:
- Best practices for web development
- Best practices for UX design & development
- Unit Testing
- System Administration (including learning the ins and outs of unix command line - bash scripting, etc.)
- Source Code Control
- Documentation Best Practices
- Managing Teams of Developers
- Systems Architecture - (including how to setup a development, staging & production environment for both on-site and remote development teams)
- Managing & tracking bugs
- General Project Management Best Practices from a Web Development shop perspective
- Database System Administration& Architecture (from a small db serving a site with few visitors to dealing with scaling)
- Anything else that I might have left off that can be included as 'critically important' for a startup to know in this day and age.
- Learning about APIs (why and when should I aim to get one published - and how to go about starting that process)
- Learning about Web Services (REST, SOAP, etc.)
- Understanding the benefits of using a framework (e.g. Django or CakePHP) instead of developing from the ground up.
- A suggested list of 'tools' that I should get familiar with for a variety of projects - e.g. Eclipse, etc.
- Tools that assist with drawing diagrams - both use case, organizational, any relevant diagrams that I will need.
- Tools that assist with creating high quality PDF documents.
Any books, articles, websites, podcasts, etc. for each would be greatly appreciated. I know it's a lot, and I don't expect one person to be able to answer everything, but it's something I have always been curious about and have never encountered any blogs that cover this sort of stuff, so figured I would ask here.
Thanks in advance.
P.S. I know that O'Reilly publishes books on some of the above, but I hate going and picking up any random book without getting a recommendation from someone before - I have done it many times and the book has never helped me, because they always assume that I either know something or the technology is outdated and they don't teach it in a way that's applicable to me to help me do what I want to do. So think of it from the perspective of someone that understands the basics of programming, tech literate generally, consumer of social media, etc. So I am not starting from ground zero, but not 20th floor either. Somewhere in between floors 2 & 4. =)
UPDATE As Mastermind astutely pointed out, this question is a bit 'vague', so let's narrow it down to just web-related languages and all open-source preferences for all the apps and tools. E.g. Python, Perl, PHP vs. C#, .Net, etc. Eclipse vs. Zend/Visual Studio, etc.