It's a bit different between research (finding an edge/alpha) and execution (a brokerage like IB or Alpaca). Generally, I would say the former is necessary unless you want to be one of those idiots who "trade" but lose money (yeah it's easy to belong to that category).
For the former, try QuantConnect, Quantopian, just regular Python with some backtesting lib and your own datasets, etc. If you do find an algo with an edge, you will have to port it to your broker unless already supported (QC does support live trading with e.g. IB and IIRC Alpaca).