Открываете сайт каждой компании из вашего же списка, ищете там "карьера", "вкаансии" и т.д. и вдумчиво читаете.
В крайнем случае - линкедин и их эйчары в помощь.
Реализовать - реально. Да, нужен сервер. Обратить внимание на то, что при правильном подходе "сервер под мобильные приложения" ничем особым не выделяется.
Вопрос сильно общий. Ни языка программирования, ни используемого компилятора, ни что компилируется.. Можно ли использовать многопоточную компиляцию, входит ли сюда еще линковка, какой вообще объем проекта...
Так что ответ - от 0 до дофигапроцентов.
Вы хотите разработать программу, или прикрутить либу и вызвать один метод?
Готовые решения для FFT и прочей мишуры - есть. Можете попробовать openAL глянуть, вроде что то там было, или просто в гугле.
Жуть. Первое. Логика вычисления кода не должна работать с button, а уж тем более с button.text. Используйте модель и вьюху. В логику - только модель пихать.
Дальше. Это все можно преобразовать в матрицы и словарь "состояние поля - ход". Что укоротит код.
Ну и третье - это ж тупо все варианты забиты вроде...