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