Evaluation criteria of computer science professionals
Personal point of view on how to evaluate the generic skills possessed by a computer software professional from a pragmatic perspective without considering specific subdisciplines or academic background in computer science.
- Programming Language
- Low-level: C/C++
- Object-Oriented: Java/C++/PHP/Python/Ruby
- Functional/Scripting: Lisp/Python/Perl/Haskell/Erlang
- Web/Mobile: HTML/CSS/JavaScript
- System and Network
- System Administration (Unix)
- OS/Kernel concept: Process, Memory, I/O
- TCP/IP
- Basic Scripting: bash/ksh/tcsh/zsh/Perl/Python
- Quantitative
- (Discrete) Math
- Data Structures and Algorithms
- Software/Architecture/Engineering
- Design Pattern
- Paradigm: Object-Oriented, Imperative
- Purpose:
- Low-level: kernel/driver/system/network
- Architecture: HPC/HA/Cloud/Cluster/Distributed/Grid
- Internet: Web/Mobile
- Others: Architecture, Testing, SCM (SVN/Git)
- Database
- SQL/NoSQL/Cache
- DBMS: MySQL/PostgreSQL/Oracle/MongoDB/…
- Conceptions
- Computer Architecture and Hardware