The core skill is programming — everything from data structures and source control to cross-platform coding, testing, and the use of text editors and Integrated Development Environments (IDEs). You also need networking, database, and operating system expertise and a strong grasp of SDLCs, logical thinking, and problem-solving.