Writing software is all about working around roadblocks. You can do it on an iPad or on a desktop but the two key things that you need are passion and perseverance. Keep taking small steps and you will be able to do great things.