How to get started with microcontrollers?
"Arduino" as a hardware platform is useful because of the range available for almost every niche, even if you choose not to use the Arduino IDE &amp; toolchain &amp; bootloader - you can install your own standard AVR8 toolchain (i.e. GCC + AVRDUDE + avrlibc + linker + etc, there's usually packages available to make installing all this easay), or Atmel's Windows-only-based 'Atmel Studio', and other options, &amp; use an AVR device programmer, and your own preferred text editor.  With this you can take off the Adruino 'training wheels', get dirty with the MCU's registers, and really understand how to drive it.

The same can be said of just about every other mainstream MCU family, there's usually cheap development boards available for virtually all of them, though without so much of the community &amp; hobbyist-level hardware add-ons that surrounds the Arduino.  Each will have a toolchain of their own.

I would recommend sticking with 8-bit MCUs for a while - get to know how to really drive them without the Arduino training wheels, because this will hold you in good stead to deal with the substantially greater complexity you'll encounter in 32bit MCUs.

The IDE is just a pretty GUI layer on top of the underlying toolchain, and is optional, but ideal for beginners - setting up a toolchain &amp; make system is not easy unless you're already familiar with it from other programming work.  Opinions vary greatly on which IDEs are 'best' (from those available within a given brand/family of MCU), but reality is that few if any are 'best'.  Although if you start using a JTAG debugger device (as distinct from a simpler in-circuit device programmer) to step through you code &amp; set break-points &amp; inspect registers &amp; memory etc, then an IDE really helps here.