Great points as always by @CavaliereVerde
Yes - at the end of the day, perhaps one of many appropriate definitions for algorithmic trading is:
"The ability to model change."
The same conditions don't exist in exactly the same form, from one time period to another.
Hence one parameter space for the same set of indicators for example, usually experiences diminishing returns over time.
The question then becomes (in fact, one of many tasks to model as an algo trader) whether that time decay can be predicted to some extent or not.
And that question too will vary from strategy to strategy, asset to asset, portfolio to portfolio, time period to time period..
Moral of the story is:
It requires a lot of work, research, trial and error, commitment and patience - the rest falls into place accordingly (e.g. programming languages, etc)
Very very few traders can maintain solid track records for 6+ years and remain consistent. For example, $NTI by @KlondikeFX .
Even fewer traders can remain committed and stick to the plan, posting unbelievably amazing recoveries and new highs consistently like $PGH by @OldSchoolPT.
And even fewer traders can demonstrate immense skill and jaw dropping returns with purely discretionary trading, like $THA by @finbou.
They all have one thing in common:
The ability to model and respond to change, profitably.
I have no doubt in my mind, that with your software engineering background, you are already a few steps ahead in engineering a great trading strategy
Keep up this enthusiasm, research deeply and test test test - good luck!