Skills You Need as a Programmer