I trade algorithmically 100% and I'll just talk a bit about my history. Despite how much I researched, my first algorithm bled a lot of cash doing brainless trades. It stung pretty bad, because it started with a steady stream of profits on day 1, then hit me with a huge drawdown in one single trade at the end of the day when I decided not to pay attention. The backtests and even out-of-sample testing made sensible trades, so that came as a surprise to me; I had to learn by experience that hindsight is always 20/20. That also taught me that automated trading does not imply unattended trading, and it still remains one of my maxims to this day.
Then I tried forever to improve my first algorithm, introducing plenty of curve fits along the way. I don't remember if I traded it during that time. Looking back my mistakes were mostly psychological and philosophical, because I still use the same numerical techniques, except now I have a few artistic touches that only come with experience, and I am more skeptical about any spurious results and can quickly find the counterexamples to prove that a backtest is not reliable. Once I had really understood how transaction costs worked, I became very disappointed in the first algorithm and finally brought the courage to axe it - again, it is a psychological issue that held me back all that time. Thereafter, my next algorithm never went underwater.
I noticed that many people are looking to algorithmic trading to fix their psychological/disciplinary issues - on the contrary, I think that is the fastest way for them to lose their capital.
My work week is around 80+ hours generally. I spend about 60h/week on the computer. 30h/week on actual programming and backtesting, another 3 hour just documenting my work. This leaves about 12~16 hours that I spend on online reference materials (research), reading, discussions, email etc. Another 10~15 hours decay, with nothing actually done. Another 20 hours are spent on business-related things, offline research and self-study.
I program whatever I have time to myself; I spend equal time writing pseudocode for someone else to program, although I would have been able to program the same thing myself if I had the time. I wouldn't pay someone else to code my strategies, ever. But I would pay people for ideas and the collaborative culture. In my previous line of work, the very skill of being able to program separates a mediocre pricing quant and an average algorithmic trading quant.
Besides that, I've found that external programmers aren't good at writing trading applications. One reason is that many of them come from IT development backgrounds, and very few have studied compiler theory which I'd consider as important as knowledge of algorithms. Another reason is that good programming practice often preaches what's entirely opposite from good trading algorithms (e.g. having a manual disposal pattern before the automatic GC even though you are writing managed code, working around conservative .NET framework/JIT compiler bits, exploiting language features that place your instructions on the evaluation stack, knowing where to write unstable numerical approximations). And writing a strictly fast algorithm requires that you break many cardinal rules in programming.
The only reason I prefer algorithmic trading is that you can evaluate your computations/utility functions faster than humanly possible, so as to avoid being adversely selected against. This gives plenty of potential beyond manual trading. I know some would argue that discretionary trading is superior. However, I have been unable to reproduce our strategy returns in discretionary trading. For example, spot USD/AUD, 9017 round trips in 60000 minutes, 80.8% win rate, 79 max consec wins, 7 max consec losses, maximum drawdown $357.50, maximum holding period 1.3 min: