It is not a problem to do it yourself. The only important thing is that you use the right tools and good paint.
Sand roughly once and prime any areas where rust has formed, then start painting.
As a tool, I would recommend a microfiber roller. The paint spreads evenly and there are no streaks. This way, everything is nice and smooth in the end. Also, a small brush for the hard-to-reach corners.
We painted our stairs with an alkyd resin paint. It does contain solvents, but that didn’t bother us much. The paint had a nice long open time for working. This way, you could roll out drips after 30 minutes. Water-based paints dry much too quickly.
After painting one floor, we went over it again with grazing light to look for drips that were then removed. With paint that has a short open time, this would not have been possible anymore.
I would do it exactly the same way again.