alexsusanu@docs:IT & Software Development Vocabulary Guide $
alexsusanu@docs
:~$ cat IT & Software Development Vocabulary Guide.md

HomeNOTES → IT & Software Development Vocabulary Guide

IT & Software Development Vocabulary Guide

category: Technology
tags: IT, software, development, technology, programming

Software Development Lifecycle (SDLC)

Understanding the complete process of software creation and maintenance.

Development Methodologies

  • Agile - Iterative development approach with short cycles
  • Scrum - Agile framework with defined roles and ceremonies
  • Kanban - Visual workflow management method
  • Sprint - Short development cycle (1-4 weeks)
  • Stand-up - Daily team synchronization meeting
  • Retrospective - Meeting to improve team processes
  • Waterfall - Sequential development approach
  • DevOps - Culture combining development and operations
  • Continuous Integration (CI) - Frequently integrating code changes
  • Continuous Deployment (CD) - Automatically deploying code to production
  • Lean development - Eliminating waste in development process
  • Extreme Programming (XP) - Agile methodology emphasizing technical practices
  • Feature-driven development - Organizing around feature sets
  • Test-driven development (TDD) - Writing tests before code
  • Behavior-driven development (BDD) - Focusing on behavior specifications

Development Phases

  • Requirements gathering - Understanding what needs to be built
  • Design phase - Planning system architecture and user interface
  • Implementation - Writing the actual code
  • Testing - Verifying software works as expected
  • Deployment - Releasing software to users
  • Maintenance - Ongoing support and updates
  • Code review - Peer examination of code changes
  • Quality assurance (QA) - Systematic testing of software
  • User acceptance testing (UAT) - Final testing by end users
  • Integration testing - Testing how components work together
  • System testing - Testing complete integrated system
  • Regression testing - Ensuring new changes don't break existing functionality
  • Performance testing - Testing system speed and responsiveness
  • Security testing - Testing for vulnerabilities
  • Load testing - Testing system under expected usage

Architecture & System Design

Core concepts for understanding how software systems are structured.

System Architecture

  • Monolithic architecture - Single deployable unit containing all functionality
  • Microservices - Breaking application into small, independent services
  • Service-oriented architecture (SOA) - Services communicate through well-defined interfaces
  • Serverless - Running code without managing servers
  • Event-driven architecture - Components communicate through events
  • API-first design - Building APIs before user interfaces
  • Three-tier architecture - Presentation, application, and data layers
  • N-tier architecture - Multiple layers for different functions
  • Client-server architecture - Clients request services from servers
  • Peer-to-peer architecture - Nodes act as both clients and servers
  • Distributed architecture - Components spread across multiple machines
  • Centralized architecture - All processing done in central location
  • Layered architecture - Organized into horizontal layers
  • Component-based architecture - Built from reusable components
  • Plugin architecture - Core system extended through plugins

Technical Concepts

  • Scalability - Ability to handle increased load
  • Horizontal scaling - Adding more servers
  • Vertical scaling - Adding more power to existing servers
  • Load balancing - Distributing traffic across multiple servers
  • Caching - Storing frequently accessed data for faster retrieval
  • Database sharding - Splitting database across multiple machines
  • Redundancy - Having backup systems to prevent failure
  • Fault tolerance - System continues operating despite failures
  • High availability - System remains operational most of the time
  • Disaster recovery - Plan for restoring systems after major failure
  • Failover - Switching to backup system when primary fails
  • Circuit breaker - Preventing cascading failures in distributed systems
  • Rate limiting - Controlling the rate of requests
  • Throttling - Limiting resource usage
  • Monitoring - Continuously observing system performance

Cloud Computing & Infrastructure

Modern approaches to hosting and managing technology resources.

Cloud Service Models

  • SaaS (Software as a Service) - Complete applications delivered over internet
  • PaaS (Platform as a Service) - Platform for developing and deploying applications
  • IaaS (Infrastructure as a Service) - Virtual computing resources
  • FaaS (Function as a Service) - Running individual functions in cloud
  • BaaS (Backend as a Service) - Backend services for mobile/web apps
  • DaaS (Data as a Service) - Data delivered on-demand over network
  • CaaS (Container as a Service) - Container orchestration platforms
  • STaaS (Storage as a Service) - Cloud-based storage solutions
  • DBaaS (Database as a Service) - Managed database services
  • MLaaS (Machine Learning as a Service) - AI/ML capabilities as service

Cloud Concepts

  • Multi-cloud - Using services from multiple cloud providers
  • Hybrid cloud - Combination of private and public cloud
  • Private cloud - Cloud infrastructure for single organization
  • Public cloud - Cloud services available to general public
  • Community cloud - Shared cloud for specific community
  • Cloud migration - Moving applications and data to cloud
  • Auto-scaling - Automatically adjusting resources based on demand
  • Elasticity - Ability to scale resources up or down quickly
  • Container - Lightweight package containing application and dependencies
  • Orchestration - Automated management of containers
  • Virtualization - Creating virtual versions of physical resources
  • Edge computing - Processing data closer to where it's generated
  • CDN (Content Delivery Network) - Distributed servers for faster content delivery
  • API Gateway - Entry point for managing APIs
  • Service mesh - Infrastructure layer for service-to-service communication

Data Management & Analytics

Understanding how organizations handle and analyze data.

Database Technologies

  • SQL - Structured Query Language for relational databases
  • NoSQL - Non-relational database types
  • Document database - Storing data as documents (MongoDB, CouchDB)
  • Key-value store - Simple database storing key-value pairs (Redis, DynamoDB)
  • Graph database - Storing data as nodes and relationships (Neo4j)
  • Column-family - Storing data in column families (Cassandra)
  • Data warehouse - Central repository for integrated data
  • Data lake - Storage for raw data in various formats
  • Data mart - Subset of data warehouse for specific business area
  • ETL (Extract, Transform, Load) - Process for moving and cleaning data
  • ELT (Extract, Load, Transform) - Loading raw data then transforming
  • Data pipeline - Series of data processing steps
  • Master data management - Ensuring consistency of key business data
  • Data governance - Management of data availability, usability, integrity
  • Data quality - Ensuring data is accurate, complete, and reliable

Data Analytics

  • Big Data - Extremely large datasets requiring special tools
  • Business Intelligence (BI) - Technologies for analyzing business data
  • Machine Learning - Algorithms that improve automatically through experience
  • Artificial Intelligence (AI) - Computer systems performing human-like tasks
  • Data mining - Discovering patterns in large datasets
  • Predictive analytics - Using data to predict future outcomes
  • Descriptive analytics - Understanding what happened in the past
  • Prescriptive analytics - Recommending actions based on data
  • Real-time analytics - Analyzing data as it's generated
  • Batch processing - Processing data in large chunks
  • Stream processing - Processing data continuously as it flows
  • Data visualization - Presenting data in graphical format
  • Dashboard - Visual display of key metrics and data
  • KPI dashboard - Dashboard focused on key performance indicators
  • Reporting - Regular presentation of data and analysis

Security & Compliance

Critical concepts for protecting systems and data.

Security Fundamentals

  • Authentication - Verifying identity of users
  • Authorization - Determining what authenticated users can access
  • Encryption - Converting data into coded format
  • Firewall - Network security system controlling traffic
  • VPN (Virtual Private Network) - Secure connection over public network
  • Zero-trust security - Never trust, always verify approach
  • Multi-factor authentication (MFA) - Using multiple verification methods
  • Single sign-on (SSO) - One login for multiple applications
  • Identity and access management (IAM) - Managing user identities and permissions
  • Role-based access control (RBAC) - Permissions based on user roles
  • Principle of least privilege - Giving minimum necessary access
  • Security by design - Building security into systems from start
  • Defense in depth - Multiple layers of security controls
  • Network segmentation - Dividing network into separate segments
  • Intrusion detection system (IDS) - Monitoring for malicious activity

Security Practices

  • Penetration testing - Simulated cyber attacks to find vulnerabilities
  • Vulnerability assessment - Systematic review of security weaknesses
  • Security audit - Comprehensive evaluation of security measures
  • Incident response - Plan for handling security breaches
  • Backup and recovery - Protecting against data loss
  • Business continuity - Maintaining operations during disruptions
  • Disaster recovery - Restoring operations after major incident
  • Risk management - Identifying and mitigating security risks
  • Compliance - Adhering to regulations and standards
  • Security awareness training - Educating users about security
  • Patch management - Keeping software updated with security fixes
  • Threat modeling - Identifying potential security threats
  • Security monitoring - Continuously watching for security issues
  • Forensics - Investigating security incidents
  • Data loss prevention (DLP) - Preventing unauthorized data disclosure

Integration & Interoperability

Connecting different systems and applications.

Integration Concepts

  • API (Application Programming Interface) - Way for software to communicate
  • REST API - Web-based API following REST principles
  • GraphQL - Query language for APIs
  • SOAP - Protocol for exchanging structured information
  • Webhook - HTTP callback triggered by events
  • Message queue - System for storing messages between applications
  • Enterprise service bus (ESB) - Infrastructure for integrating applications
  • Middleware - Software connecting different applications
  • Data integration - Combining data from different sources
  • Application integration - Connecting different software applications
  • B2B integration - Connecting systems between different companies
  • Cloud integration - Connecting cloud and on-premises systems
  • Real-time integration - Immediate data synchronization
  • Batch integration - Periodic data synchronization
  • Point-to-point integration - Direct connection between two systems

Key Concepts Summary

  • Technical debt - Shortcuts that create future maintenance costs
  • MVP (Minimum Viable Product) - Basic version with core features only
  • Legacy system - Older technology still in use but needing updates
  • Migration - Moving from one system/platform to another
  • Integration - Connecting different systems to work together
  • Refactoring - Improving code structure without changing functionality
  • Version control - Tracking changes to code over time
  • Repository - Central location where code is stored
  • Branching - Creating separate lines of development
  • Deployment pipeline - Automated process for releasing software
  • Environment - Separate instance of application (dev, test, prod)
  • Configuration management - Managing system configurations
  • Infrastructure as code - Managing infrastructure through code
  • Observability - Understanding system behavior through monitoring
  • Documentation - Written information about systems and processes

Best Practices / Tips

  1. Start with fundamentals - Understand basic concepts before diving into complex topics
  2. Hands-on learning - Practice with actual tools and technologies
  3. Stay updated - Technology vocabulary evolves rapidly
  4. Context matters - Same terms may have different meanings in different contexts
  5. Ask questions - Technical teams usually appreciate curiosity about their work
  6. Learn acronyms - IT is full of acronyms, keep a reference list
  7. Understand relationships - Many concepts are interconnected

Common Issues / Troubleshooting

Acronym Overload

  • Symptom: Conversations filled with unexplained acronyms
  • Cause: Technical teams often use shorthand without thinking
  • Solution: Keep a running list of acronyms and their meanings, ask for clarification

Mixing Up Similar Terms

  • Symptom: Using terms interchangeably when they have different meanings
  • Cause: Many technical terms sound similar but have distinct meanings
  • Solution: Create comparison charts for similar terms

Version Confusion

  • Symptom: Discussions about different versions of same technology
  • Cause: Technology evolves rapidly with frequent updates
  • Solution: Always clarify which version is being discussed

Scope Confusion

  • Symptom: Not understanding what a technology does or doesn't do
  • Cause: Technologies often have overlapping capabilities
  • Solution: Ask for specific use cases and examples

References / Further Reading

  • Stack Overflow - Programming Q&A community
  • GitHub - Code repository and collaboration platform
  • AWS/Azure/Google Cloud documentation
  • Mozilla Developer Network (MDN) - Web development resources
  • TechTarget - IT terminology definitions
  • IEEE Computer Society - Technical standards and definitions
  • NIST - Technology standards and guidelines
Last updated: 2025-08-26 20:00 UTC