I have +3 years experience in assembly and C on 8 bit µC.
I have been using Linux with Debian, mainly, for around 10 years. An of course some scripting, c c++…
I am testing stuff on uTest for fun, but I am missing the hardware bit.
The main microcontrollers currently in use are the STM32F4 and various SBC’s. 8 bit microcontrollers are generally not being actively developed on the main barnch in ArduPilot though several people are still working with them and their are interesting ideas to use them such as in cooperation wuth a companion computer, but to look to the future I would say look at a 32 bit ARM mcu such as STM32F4 or STM32F7 series.
The other options are various flavours of SBC. On the one hand the RaspBerry Pi and clones and on the other Intel and Beaglebone etc. Personally I would reckon that if you are into hardware, the SBC’s will be frustrating. The I2C port on the RaspberryPi is groaning under the strain of all those sensors on the bus, but if you like developing on a PC, they offer the most painless path.
The best way to get started with the code is probably to buy a pixhawk or one of the other STM32f4 boards. There are several. The ones with and STM32F427 are the best bet in my opinion. The Pixhawk is very versatile but physically quite large, but for development is a good choice.
Then head over to Github and clone the ArduPilot source code repository. Trying getting a build. The Code is very Linux friendly so no problem there.
Once you have your dev environment set up, then you could try to build and upload some of the examples. E.g one that tests the AHRS
That is quite a good way into the whole ArduPilot ecosystem.
As a next step for 8 bit boards, there has been talk about reusing the old APM flight controller in ArduPilot as an IO board together with an SBC and I think it would be popular. This has been achived by the AURAS project which might be useful as a starting point. Here is my thread on that subject.