With the follwing general knowledge:
I Programming Language
II System Kernal Theory
III Computer System Basic Theory
IV Usage of IDE (include editor)
V Design Pattern
VI Software Engineering
VII Algorithm Basic
VIII Personal tool kit
1 Programming Language:
C
C++ (C++ 11) ( to be Perfessional level)
Java (? lelve)
Python
Objective-c
Swift
Assembly
2 System Knernal Theory
Unix/Lunix
Windows
3 Computer System Basci Theory
<<Computer System perspective of a software programmer>>(vague book name)
4 Usage of IDE
Visual Studio
Sublime
VIM (maybe)
5 Design Pattern
GOF 23 Design Patterns
6 Software Engineering
<<Code Complete>>
7 Algrothm Basic
<<Algrothm Introducion>>
8 Personal Tool Kit
Editor
Debugger (windbg/??/??/??)
Assistance Tool (like Depency walker)
End.