1) Being a programmer is what you need to do right and know them well; there is no other way! 2) If you want to be a coder or software developer, you need to know version control tools like Git or SVN. 3) Text editors (Vim) 4) Integrated development environments (IDE) 5) SQL is a classic and probably the most valuable skill for any software developer. It's been around for over 30 years and I think it will last another 30 years. Given the ubiquity of databases, a programmer is expected to be familiar with SQL as well as basic database concepts such as normalization and table design. 6) Like SQL, UNIX remains popular; It's been around for over 30 years. A good knowledge of the Linx command line goes a long way since most programmers have to work on Linux machines at some point. It allows you to work effectively. You can search for files, check CPU and memory usage to find out what's going on with the system, and perform basic and advanced operations. 7) Excel is one of the most important tools for programmers, software developers, project managers and business people. It is much more than spreadsheet software. 8) If you want to be a programmer, of course you have to know a programming language: C++, Java, maybe Python or JavaScript. 9) Network fundamentals; uygulamanı anlamak, geliştirmek ve desteklemek için ağ temellerini anlaman gerekir. 10) There are certainly some programming languages that are good for both OOP coding and commands like Python, and that's why you should at least learn them. But if you choose C/C++ or Java, you won't be able to pull anything off as fast as a Python or Perl developer can. That's why every programmer should learn Python. The script language makes it easy to create tools and scripts to solve common problems in the programming world. If you have a good command of a scripting language like Python, you can easily automate mundane things.