Bash Shell Scripting – Knowledge of scripting a UNIX shell or command language.
Software Testing – Knowledge of how to evaluate software to make sure it meets specified requirements. Also to identify any gaps, errors or missing requirements.
Software Analysis and Design – Understanding of modeling and its central role in eliciting, understanding, analyzing and communicating software requirements, architecture and design.
Programming – Training to create programs by writing "code" in a certain programming language.
Service Oriented Architectures – Understand the architectural pattern in computer software design in which application components provide services to other components via a communications protocol, typically over a network.
Logic – Training in the part of the program that encodes the real-world business rules that determine how data can be created, displayed, stored, and changed.
Object Oriented Programming – Understanding this type of programming in which programmers define not only the data type of a data structure, but also the types of operations (functions) that can be applied to the data structure.
Databases – Knowledge of implementing data models and database designs to ensure security and data integrity in database software.
Version Control – Understanding of the system that records changes to a file or set of files over time so that you can recall specific versions later.
Data Structures & Algorithms – Knowledge of the use of data structures and algorithms in software programming for web design.
Operating Systems – Understand the function of operating systems and how to properly create websites to interact with them.
Unified Modeling Language – Understanding of the general-purpose modeling language for website engineering, designed to provide a standard way to visualize the design of a system.
Knowledge of Encryption – Understanding of how encryption functions and how to work with it within the website development environment.
Software Development Life Cycle – Knowledge of Waterfall and Agile approaches to software development and when to use the appropriate model.
Client/Server Architecture – Knowledge of the Client/Server Architecture model and how to develop websites for such a system.