I want to be a mobile application developer and I have less interest in online coding programs. Should I practice problems on CodeChef, SPOj, etc., too or should I learn and practice to make better applications?