Если отвечать формально, то, конечно, нет - для программирования уметь паять не нужно. Но так обычно случается, что хороший специалист по низкоуровневому программированию в процессе учёбы осваивает некоторые смежные навыки. Тем более, именно паять - не так уж и сложно. Наличие таких смежных навыков существенно повышает уровень подготовки и ускоряет процесс разработки, особенно, если работать в маленькой компании, где ценятся широкие, а не узкие специалисты.