I also prefer free weights because it's more natural. The only machine I really use is the row machine because it supports your chest and makes it easier to focus on working the back muscles. It's hard to say how long it will take to see improvement. I think I saw some improvement in around a month. By 2 or three months, I noticed a big difference. After being at it for 6 months my posture was basically fixed completely. Just don't push yourself too hard. After being in the gym for almost a year I got too obsessed with gym culture and got injured. I used to do heavy deadlifts and my best weight was 225 pounds (not that strong, I know, but it was too much for my weak joints). I also leg pressed 600 pounds. Over time it tore my left hip labrum and gave me hip impingement. I had surgery and it was a failure, so I get to enjoy a wrecked left hip for the rest of my life now. Don't let this be you. Stick to weights you can do at least 8 reps with so they won't be heavy enough to hurt you. Don't ever try 1 rep max lifts like powerlifters do, because that is the shit that will injure you. Just listen to your body and if any of your joints hurt, stop immediately and let it recover so you don't get an injury. As long as you don't go too hard you shouldn't even have to worry about getting injured.