Software Engineers Handbook

The purpose of this online collaboration is to provide to software engineers, software developers, computer scientists, and information technology professionals a good place to look when they are starting something new. The introductory material would be given here, including vocabulary necessary to search the web effectively, and references to web sites, articles, and texts for more in depth coverage.
 * About to try a new programming language? See the language dictionary.
 * Have an interview in a new industry? See the sector pages.
 * Switching to another operating system? See the operating system pages.
 * Been asked to put together your configuration management strategy for your project? See the supporting processes pages.
 * Don't find what you need? Create a page or request one using the talk page
 * Please contribute to pages within your area of expertise.

Life Cycle

 * Development Methodologies
 * Extreme Programming
 * Traditional Waterfall


 * Problem Analysis


 * Requirements
 * Software Requirements Specification


 * Design
 * Choosing an Algorithm
 * Choosing a Data Structure
 * Large Scale Projects
 * Methodologies
 * Patterns


 * Implementation
 * Choosing a Programming Language
 * Coding Standards
 * Refactoring


 * Software Quality Assurance (SQA)
 * Testing
 * Unit Testing
 * Integration Testing
 * User-Acceptance Testing

Supporting Processes

 * Configuration Management
 * Computer-Aided Software Engineering

Software Engineering General Links

 * Software Engineering Body of Knowledge (SWEBOK)

Operating Systems

 * OS X
 * Linux
 * Unix
 * Windows
 * Forth over bare iron
 * Smalltalk over bare iron
 * CP/M
 * OS/360
 * VMS

RTOS - RealTime Operating Systems

 * µC/OS-II - A highly portable multitasking Real-Time Kernel, ROMable, very scalable, preemptive real-time, multitasking kernel (RTOS) for microprocessors and microcontrollers
 * uSmartX - A non-preemptive, multitasking, priority based RTOS for small foot-print embedded designs.
 * ESF RTOS - an elegant, simple, powerful, and easily customizable, object-oriented interface to kernel services, such as thread creation and synchronization.
 * Micro Itron - A japanese Operating System.

Sectors/areas of industry specialization

 * Finance
 * Imaging
 * Security
 * Automotive

Fields/areas of development specialization

 * Database
 * Embedded Systems
 * Office Automation
 * Web

Language Dictionary
Here is the language dictionary sample template. Please use it for new language entries. (Open, edit, copy, click cancel, go to the page you're adding, and paste it in the editing page. Edit to match the language being added.  And thanks for adding a new language!)

Multi-paradigm

 * Ada
 * C++
 * Perl
 * PHP
 * Python
 * C#

Object Oriented

 * Java
 * Ruby
 * Smalltalk
 * Visual J++
 * Visual Basic .NET

Procedural

 * COBOL
 * FORTH
 * Perl
 * PHP
 * PL/B
 * PL/I
 * Visual Basic

Imperative

 * ALGOL
 * BASIC
 * C
 * FORTRAN
 * Pascal

Functional

 * Erlang
 * Haskell
 * J
 * Joy
 * Lisp
 * ML
 * Ocaml
 * Qi
 * RPG

Scripting

 * bash
 * csh
 * rexx

Mini

 * bc

Markup Languages

 * HTML
 * XML
 * Wikitext

Code Generators

 * Rhapsody
 * Rational Rose Realtime
 * Tau Telelogic

Assembly (template)

 * Burroughs B5700
 * DEC PDP-11
 * IBM
 * IBM 360
 * IBM 709
 * IBM 1401
 * x86
 * FASM
 * GAS
 * GoAsm
 * HLA
 * Ideal
 * MASM
 * NASM

Logical

 * Prolog
 * Mercury
 * Oz

Concurrent Constraint

 * Janus
 * ToonTalk