Main image of article Tech Hiring Guide: Role Cheat Sheet for Recruiters

Technical Role Cheat Sheet for Recruiting

This cheat sheet contains common skills and experience you may see in different tech roles.  While it doesn’t cover every technology, it should help you qualify candidates for specific positions.

Download a printable PDF of this Cheat Sheet here.


.Software Engineer (Back-End)

  • Java, C, C++ or C#
  • Ruby  or Sinatra, Python, PHP (Typically more popular with front-end or middle-tier engineers, and often popular among self-taught engineers)
  • Node.js
  • Database technologies
  • Relational variants: SQL, MySQL, Oracle, Postgres
  • NoSQL variants: Redis, Cassandra, DynamoDB, MongoDB
  • Experience with APIs
  • System experience – system administration, Linux, cloud computing services (AWS, Rackspace, OpenStack)

Software Engineer (Middle-Tier)

This role should have skills and technology experience similar to Back-end Engineers, perhaps without the database or system experience.  It is also possible they have some front-end skills, but overlap with back-end is generally more important.


Software Engineer (Front-End or Web Developer)

  • HTML, CSS
  • Javascript (Including JavaScript frameworks like Ember.js, Angular.js, Backbone, etc.)
  • Ruby on Rails, Python or Django, PHP, ASP
  • Flash, Actionscript (Used to create Flash animations)
  • Photoshop

Database Administrator (DBA)

  • Ability to craft and optimize SQL queries
  • Designing data schemas
  • Experience with one or more of the major relational databases: SQL Server, MySQL, Oracle
  • Database configuration and administration experience

DevOps Engineer

  • Basic scripting experience in languages  such as Python, Perl, Ruby or shell scripting (aka Bash or Unix)
  • Potentially other languages as well
  • SQL knowledge
  • Experience with monitoring tools such as Nagios, Munin, Splunk, Zabbix, etc.
  • Experience with one or more cloud service providers, such as AWS, Rackspace, OpenStack, etc.
  • Operational best practices for deployments, releases and maintenance

System Administrator

  • Unix, Linux or Microsoft system administration
  • Basic scripting or programming experience (shell scripting, Perl, Python, Ruby, etc.)
  • Experience with monitoring tools such as Nagios, Munin, Splunk, Zabbix, etc.
  • Operational best practices for releases and maintenance
  • Experience with internal IT, such as VPNs, printers, IP-based phones, tech support, etc.
  • Experience setting up and backing up servers and databases

Network Administrator

  • Experience setting up networks (corporate networks, data centers, etc.)
  • Knowledge of switches, routers, firewalls and other networking hardware
  • Likely some overlap with system administrator skills particularly the system administration pieces

Data Scientist

  • Strong statistics knowledge and experience, potentially other advanced math as well
  • Ability to construct basic SQL queries
  • Some programming experience likely in Python, Matlab, R, Java, Ruby, or others
  • Potentially specialized machine learning or data mining skills

Quality Assurance Engineer

  • Ability to write test plans and test cases
  • Knowledge of best practices for testing (For example, black box testing, white box testing, unit tests, smoke tests, regression tests, etc.)
  • Selenium, or other test automation tools

Software Engineer in Test

  • The skills for a QA engineer
  • Some programming experience, and the ability to write automated tests
  • Experience with SQL
  • Best practices for software deployments, releases

Technical Lead

  • Strong technical experience in one of the above roles
  • People management knowledge or experience
  • Project Management skills

.