Congratulations, you made a few working radios with the most basic feature set.
Now make a radio that works in sub-zero and 100+ degree temperatures, survives water, dust, and firearm exposure, being dropped dozens of feet, is resistant to broad-spectrum jamming, can handle secure encrypted communications with a large set of ever-changing participants, has a range of dozens of miles and days of battery life, is of a size and weight portable enough to be carried by a soldier for hours or days alongside their normal gear, and which can be field-repaired by a soldier with a few days of training.
And those are just the high-level requirements. It's a lot more complicated than a CRUD app, which even a non-programmer can do in an hour.
The application portion has a nice explanation on the effects of gun fire on systems. Keep in mind that "gunfire" covers everything from a 9mm handgun to a 30mm Gatling gun.
Now make a radio that works in sub-zero and 100+ degree temperatures, survives water, dust, and firearm exposure, being dropped dozens of feet, is resistant to broad-spectrum jamming, can handle secure encrypted communications with a large set of ever-changing participants, has a range of dozens of miles and days of battery life, is of a size and weight portable enough to be carried by a soldier for hours or days alongside their normal gear, and which can be field-repaired by a soldier with a few days of training.
And those are just the high-level requirements. It's a lot more complicated than a CRUD app, which even a non-programmer can do in an hour.