views:

97

answers:

3

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.

A: 

You don't expect just learn that all overnight do you?

I suggest you affiliate with techie-people who are capable of undertaking all the technical tasks for you. You will define the concepts of whatever it is you will be doing. At some point a lawyer to prepare all the necessary agreements for you.

EDIT: For diagrams and modelling a good old Visio will do just fine. For the rest it's like recommending all the books that are there.

User
Most definitely not. I actually have a while, perhaps a year or two, to get myself acquainted, so if good resources could be provided from now I can pace myself, read and learn as I go along.
marcamillion
The sheer scope of resources is unimaginable. Try at least to narrow down the choice of tools by technology stack (Java vs. MS).
User
Well then that begs the question, how do I know the techie-people really 'know' their stuff, if I don't know what they should know? I don't want to know EVERYTHING about the stuff I listed, but I do want to know enough of everything I listed, so I can ask the right questions and know when I am being taken for a loop or when they are credible.
marcamillion
Man, all the recruiters in the world trying hard to solve this issue! Sure, the less experienced you are the more chances you will be taken for a ride by a guy who made a degree on interviews. Let me think a while, maube I will come up with some ideas.
User
Thanks much. Again, you don't have to list everything, but maybe if you have a preference for certain tools - e.g. Subversion as a Source Code Control Repository - then list your favorite book for Subversion and that's it. You don't have to provide a complete comprehensive answer, the more people contribute the better - ofcourse.Thanks.
marcamillion
A: 

Sounds like you're going to need a lot of money for all that.

I would just download a decent framework (ASP.NET MVC, Django, Struts, Rails, whatever), and start building something useful to a lot of people.

Best practices will be developed after you make a bunch of mistakes.

That's the Web 2.0 way.

Frank Krueger
Hrmmm Frank...I like this answer and I had actually planned on doing this, but was wondering if there was another way - e.g. I am reading some of joel spolsky's blog and some of the tools he references (for unit testing for e.g.) are so foreign to me, so I figure there must be a way to somehow learn all of this without always 'stumbling' into everything. Hence the post.Thanks for the tip though, definitely plan to do that either way.
marcamillion
A: 

Hmmmmm

Books: Code Complete - How to manage code Mythical Man Month - project management/ team management (A MUST TO READ) DiveIntoPython - Free E-book in pdf format

Tools: I have a feeling you are already in love with python :) i know you are, sooo Download,

python 2.5/2.6 dont do 3.0 for now!

Django 1.1 - python web dev framework

all third party packages for django to do things like (Registration, Tagging, voting, commeting etc)

vist w3schools learn alot of HTML & CSS(Very important), when you go the Django way there is no looking back for drag & drop ide's you write raw css/html code!!

then ... Practice like crazy!

Gath

Gath
Thanks Gath. I actually just mentioned python because it was the first 'P' that came to my mind, but I don't mind using it as a baseline. I have actually gotten more interested in Django recently, so I might just start there.Thnx for all the tips.
marcamillion