If you are targeting a Spark Core (as I assume) you’ll not find Software Timers by default.
You’d need to import the freertos4core library into your project.
And if you are targeting a device that does support them, do as @peekay123 said.
In any case, consider not calling WiFi.setCredentials() each time anew - it’s not necessary and might even cause flash wear on your device.
Furthermore I’m not sure the WiFi module is initially activated in MANUAL mode, so you might need to call WiFi.on() too.
And while we are at it, if you want to make sure WiFi is ready before you enter loop() you can use
WiFi.on();
WiFi.connect();
waitUntil(WiFi.ready); // or waitFor(WiFi.ready, 30000); // to wait max. 30sec
Are you sure about local compiling? (Particle Dev - which I assume you mean when saying Atom - does still use the cloud build farm to generate a binary)
But if it’s actually local building, you might need to update the system repo the local compiler uses fo building.
Where did you get the local compiler package from?
Anyhow, when using Particle Dev you should have a colored dot in your status bar at the bottom (what color has it and what letter has it written in it?).
You can click on the lable to the right of it or use the menu Particle - Select device … to …well, select your target device.
What do you mean with "my device"?
Do you refer to your Photon or your development machine?
If your dev machine has internet connection you can always build in the cloud, download the resulting binary (which will happen automatically with CLI and Particle Dev cloud builds) and flash that binary over USB.
I don't think there is a newer version yet, since most man power is going into a complete rework of all Particle IDEs to unify their behaviour and provide better library support and portability.
What's the most recent system version you can select with your offline compiler?