I'll echo what tristaanogre has said.
I would also suggest using the "Keys" method rather than "SetText". Keys is much closer to what a user would do. It equates to the simulation of actual key presses. SetText is a direct update method on the field. It's not what a user does. (In web tests, it is meant to trigger events etc, but in my experience, is not 100% reliable. Keys is.)
You will often find that some events and validation are not triggered unless you exit the field as well. Usually by tabbing, entering, or clicking out of the field. By simply going through a page using SetText all the way, you can introduce all sorts of strange behaviour. This won't always happen. Especially in web tests (much more common to have problems in Desktop tests). But it can. For me, best practice is always use Keys.
And finally, if you've come from QTPro/UFT, and have used it's object repository, then you should already understand the need to map objects well. Choose reliable mapping properties. And rename sensibly, especially in the Alias map. This is where you'll find the main difference between UFT and TC. Both approaches have their pro's and con's, but I would say do some reading and take some time to understand the difference between the Object and Alias maps. (The Alias map should be MUCH more readable and user friendly .... if one is a mirror of the other, complete with horrible system names, you're not using it correctly). If you set this up well early one, you will save yourself some major maintenance headaches further down the line. Just the same as the Object Repository in UFT. If it's a mess, it will cause nothing but problems.
(Oh ... one other point, using FindChild does not require arrays for the search parameters. It will take single values. But if using more than one property to search on, then yes, you have to give it arrays.)