Before I start jumping in deep water, I would like to give some background regarding my experience. I have always love to teach myself new stuff and ways of doing things, and that is how I got into programming in general. At the beginning it was more like a hobby, I had a management position in a...