Почему 10 px? - чтоб отступ сделать меньше половины( 50% ) на половину высоты (20px/2 = 10px)
transform: translateY(-50%) поднимет элемент на половину ЕГО СОБСТВЕННОЙ высоты, что нам и нужно
Так и я для примера. Кнопку ты как-то создаешь - вот один из способов создания и, соответственно, способ доступа к ней.
Если кнопка создается подгрузкой куска разметки, допустим, через аякс, то нужно будет после изменения html сделать выборку (по идентификатору, классу или чему угодно).
В целом, твой код стработает (пример с изменением css), только запускать его нужно после создания кнопки
Плюсую, устроился на первую работу, имея опыт полгода. Зная слова из списка Vitaliy Orlov выше, можно идти собеседоваться. Зная их значения и, хотя бы в теории, сферу применения - претендовать на должность джуна.