This is a list of skills that a programmer should be able to do in order to feel well regarding the majority of tasks in IT. On my opinion, if you learn all the points listed below you can work as a software developer in any country in the world.
- High-level programming language (with OOP)
- Script programming language (Python or PHP)
- HTML/CSS
- JavaScript
- С
- Assembler
- Advanced user of UNIX operating systems
- Advanced user of Windows
- Relational database (MySQL, Postgres or Oracle)
- NoSQL database (Mongodb)
- Mobile development
- 3D graphycs API (OpenGL or DirectX)
- Webserver (Apache or Nginx)
- Understanding of multithreading
- Understanding of asynchronous programming
- Creation and import of DLL
- Calculation with GPU (CUDA)
- Regular expressions
- Parsing of texts, expecially HTML
- Creation and distribution of modules on any programming language
- Building projects into a working application and its distribution ways
- Version control system GIT
- Any IDE
- Terminal commands Windows Shell and Bash
- Understanding of HTTP
- Understanding of TCP
- Discrete maths
- Common algorithms of data processing, data structures
- Basic algorithms of cryptography
Den4ik
”Если бы водителей нанимали как программистов, то описание вакансии было бы примерно такое:
Вакансия: водитель.Требования: профессиональные навыки в управлении легковыми и грузовыми автомобилями, троллейбусами, трамваями, поездами метрополитена и фуникулёра, экскаваторами и бульдозерами, спецмашинами на гусеничном ходу, боевыми машинами пехоты и современными легкими/средними танками, находящимися на вооружении стран СНГ и НАТО. Навыки раллийного и экстремального вождения обязательны. Опыт управления болидами “Формулы 1″ — приветствуется. Знания и опыт ремонта поршневых и роторных двигателей, автоматических и ручных трансмиссий, систем зажигания, бортовых компьютеров, антиблокировочных систем, навигационных систем и автомобильных аудиосистем ведущих производителей. Опыт проведения кузовных и окрасочных работ — приветствуется. Претенденты должны иметь сертификаты Mercedes, BMW, General Motors, а также справки об участии в крупных международных соревнованиях не более, чем двухлетней давности.Зарплата: определяется по результатам собеседования.”