It's certainly possible to write a strong engine using mailbox board representation. Regarding switching to bitboards now, my advice is not to switch until you fully understand the idea. It takes a while to get your head around perfect hashing, how that's leveraged to lookup pre-calculated moves, understand bit masking and shifting, and start thinking in terms of ulong bit ANDs / ORs instead of looping over arrays. If you're willing to put in the time, and your programming language of choice offers the required tools for the job, then go ahead and switch now.
It really comes down to how much complexity do you want to tackle all at once? You're already facing a learning curve understanding search algorithms, evaluation parameters, proper testing and tuning, etc. If you're doing this for the right reasons (sounds like you are) then you'll want to understand the purpose of every line of code in your program. So don't add bitboards until you understand the idea. Of course you'll achieve an understanding as you write the code, so... just be prepared for an investment.
My preference, going back a few years, was to learn how to write an engine with the more straightforward idea of mailbox arrays of pieces. I did that, in version 1, using object-oriented techniques familiar to me from my professional programming job. In version 2 I stuck with mailbox but wrote procedural code. I only got to bitboards in version 3, which I'm still writing when (infrequently) I find some time. I've enjoyed the journey from high-level abstract code to more performant code, including the switch to bitboards. That may be too long of a journey for you. Up to you.
Once you "grok" the bitboard idea, it's great. The evaluation code is so much easier to write with bitboards than with mailbox.