Gaining good weight is pretty simple. The hard part is actually committing to the simple plan.
I was a fitness instructor in college and work out between 5 to 7 days a week now (I'm 30). Here is the simple formula that I have seen work with pretty good success amongst all body types:
Four simple steps to putting on mass:
Sleep. 8 hours a night.
Eat. 3000 calories a day. 200+ grams of Protein a day.
Lift heavy. Sets of 5 to 6 reps. You should only be able to get 5 and be spotted up on the 6th rep.
Sprint. Short speed bursts on a treadmill or track. Minute long sprints or 30 second sprints. Lose the long distance routine.
Forget about total body workouts. If you want to gain weight, lift one major muscle per day. Smaller muscles can be paired on other days.
Your workout should last no longer than an hour.
Example schedule:
Monday- Chest: 5 stations. 5 sets at each station. 5 to 6 reps per set. Sprint.
Tuesday- Arms: 8 stations. 4 bicept stations, 4 tricept stations. 4 sets at each station. Abs.
Wednesday- Rest.
Thursday- Back: 5 station. Pull ups should be done every back day. 4 sets at each station. Sprint.
Friday- Shoulders and Traps. 8 stations. 4 shoulders, 4 traps. 4 sets at each station. Abs.
Saturday- Legs. 5 stations.
Sunday- Rest.
Repeat.
Repeat.
Repeat.
Take creatine. That is good for 5 pounds of water/muscle weight.