OK I am going to get basted for this perhaps because weightlifting beliefs are form of religion , but since I am also a sw dev. I feel for some reason you need to be told what you're doing wrong. You are training way way way too often. I am going to guess you are doing multiple sets and multiple sets of different exercises for your arms back chest legs etc. Here's what's going on with your body.
Either you are training hard enough during the course of at least one of your multiple sets to induce growth, or your not. If you are training hard enough for one of your sets then all the other ones are a waste of energy and just causing you to release yet more stress hormones and depleting you of energy you need to recover from your growth-inducing set. You only need one set for each muscle group to trigger off the maximum hypertrophy (muscle growth) you're going to get. Your muscles are looking for a "signal" that they need to grow. Once they get that from you, they will grow as much as they can in response to that signal. This is also known as 'training to failure".
Doing set number 2 is just sending the same signal again. But your muscles understood you the first time. Yet you do it again. And again. And again. Then you go to another exercise for the same muscle group. You are beating your body down operating under the false premise that more is better . More is not better in weight lifting. Specifically, doing a second and third and fourth set is NOT going to get you more results.
The other mistake you're making is related to the first. Since you're doing multiple sets, and it takes time to do those sets, you can't work your entire body in one session. So you go back the next day (and abuse those other muscles). The problem is, all of your body's subsystems which deal with stress are getting worked out again, along with the "new" muscles. You are releasing the same stress hormones, the same exercise-related waste products into the same bloodstream yet again. Those systems are being stressed every single day according to your schedule.
But the way hypertrophy works is, your body has to RECOVER from exercise or it won't grow as much as it could have, or at all. If you never let it recover, you're interfering with its growth. You never let it recover. You just keep re-stressing it. By continually doing this, you're driving yourself into a state of over-training. Soon, all progress just stops and you're tired all the time.
Do this. Pick one exercise for each muscle for at most a total of 8 or 10 (or even less, 5 or 6). So that's like leg presses, leg curls, pullover machine, bench or flies, bicep curls, tricep pushdowns, and lateral raises for your shoulders. Do ONE set of each of those choosing a weight you can only do for 8-12 reps despite your greatest effort. When you can't do another rep during a set, try like your life depended on it to do another one anyway, and keep trying like that for 30 seconds. This should be a real tribulation for you. It's no fun to work until you truly and really can't do another rep then continue to try to do one as hard as you possibly can, with no movement of the bar, every second for 30 full seconds. That's why you never see anyone do it.
That is called "high intensity exercise". That is the unique and specific signal your muscles evolved to understand. That and nothing else will kick off maximum hypertrophy.
Then, after you're done with all your sets, get out of the weightlifting gym for FIVE full days. FIVE.
If you want to swim after TWO full days of doing absolutely nothing except using your thumb to push the buttons on your remote, then go ahead but don't exhaust yourself.
On the SIXTH day go do it again, with a very slightly heavier weight, or strive for more reps, or both. Keep accurate records to insure yourself that you are in fact getting stronger each time. You'll see. Every time you go back to the gym, you'll be significantly stronger. You won't be tired.
If you want to also get a cardio workout, then move from one exercise to the other as fast as you can bear. Notice how hard your heart and lungs are working. Much harder than they do when you're swimming. Moving fast between sets and going again to failure is murder. You're probably find you're disinclined to keep doing it. If you do, however, you are getting 3 days of cardio every six days and you're getting really fit without grinding yourself into nothing by overtraining.
The reason it's so hard is because your heart and lungs cannot supply you with enough O2 during anaerobic exercise, by definition. Weightlifting in a high intensity fashion is anaerobic. Moving from one anaerobic exercise to the next is going to drive your heart and lungs into despair. Moving quickly from one to the next to the next for 6 or 10 sets is going be so stressful it will be the thing that stops you from completing your set and not the weight. So in this way, it can actually interfere with maximizing the muscle-building potential of your workout- you quit not because the individual muscle was exhausted, like you wanted, but because your heart and lungs were!
It will never get any better, because you can't keep that level of heart and lung stress up for 10 minutes. This is the same as saying no one will ever sprint a mile, no matter how fit they become. Your body is not made to work that hard for that long and it will force you desist.
So what I am saying is- you can get a good heart/lung workout in lifting weights, but gate the rapidity with which you move from set to set, if you want to maximize muscular hypertrophy in the gym and not heart lung fitness. You should always fail at an exercise because the muscle you were working failed, not because you were about to collapse from heart / lung exhaustion. You're there to lift weights and increase strength after all.
HTH. Give this a try and see if you don't have more energy and better results and more time in your life for non-gym things too !