My Subject Matter
dev-tools

Development Tools & Platforms

Essential tools, frameworks, and platforms for modern development

What is Git and why do developers use it?

Git is a free, open-source distributed version control system that tracks changes in source code during software development. It allows multiple developers to collaborate, maintain history of changes, and revert to previous states. Over 90% of developers use Git as their primary version control tool. [Source: Git SCM Official]

Sources
Git Documentation
official · Git SCM (Software Configuration Management) · 2024-01-01
·
Stack Overflow Developer Survey 2023
official · Stack Overflow · 2023-06-13
·

What is the difference between GitHub and GitLab?

GitHub is a cloud-based Git hosting platform owned by Microsoft, primarily focused on open-source collaboration and code hosting. GitLab is a complete DevOps platform offering built-in CI/CD, security scanning, and self-hosting options. GitLab provides more integrated DevOps tooling out-of-the-box, while GitHub has a larger open-source community. [Source: GitLab Docs]

Sources
GitLab Documentation
official · GitLab Inc. · 2024-01-01
·
GitHub Documentation
official · GitHub Inc. / Microsoft · 2024-01-01
·

What is Docker used for in software development?

Docker is an open platform for developing, shipping, and running applications inside lightweight, portable containers that package code with all dependencies. Containers ensure applications run identically across different environments, eliminating the 'works on my machine' problem. Docker containers share the host OS kernel, making them far more efficient than virtual machines. [Source: Docker Official Docs]

Sources
Docker Overview — Docker Documentation
official · Docker Inc. · 2024-01-01
·
CNCF Annual Survey 2023
official · Cloud Native Computing Foundation · 2024-03-01
·

What is Kubernetes and what is it used for?

Kubernetes (K8s) is an open-source container orchestration system originally developed by Google, donated to the Cloud Native Computing Foundation in 2016. It automates deployment, scaling, and management of containerized applications across clusters of machines, handling load balancing, self-healing, and rolling updates automatically. [Source: CNCF / Kubernetes Official]

Sources
Kubernetes Overview — Kubernetes Documentation
official · Cloud Native Computing Foundation (CNCF) · 2024-01-01
·
CNCF Annual Survey 2023
official · Cloud Native Computing Foundation · 2024-03-01
·

What is a CI/CD pipeline and how does it work?

A CI/CD pipeline automates building, testing, and deploying software. Continuous Integration (CI) merges developer code changes frequently into a shared repository and runs automated tests. Continuous Delivery/Deployment (CD) automatically releases validated code to staging or production. This reduces manual errors, accelerates release cycles, and improves software quality. [Source: IEEE]

Sources
·
GitLab CI/CD Documentation
official · GitLab Inc. · 2024-01-01
·

What are the most widely used CI/CD tools in 2024?

The most widely adopted CI/CD tools include GitHub Actions, GitLab CI/CD, Jenkins, CircleCI, and Azure DevOps Pipelines. According to Stack Overflow's 2023 Developer Survey, GitHub Actions became the leading CI/CD tool, surpassing Jenkins for the first time, used by over 33% of professional developers responding to the survey. [Source: Stack Overflow Developer Survey 2023]

Sources
Stack Overflow Developer Survey 2023
official · Stack Overflow · 2023-06-13
·
GitLab CI/CD Documentation
official · GitLab Inc. · 2024-01-01
·

What is DevOps and why does it matter for development teams?

DevOps is a set of practices combining software development (Dev) and IT operations (Ops) to shorten the systems development life cycle and deliver high-quality software continuously. The DORA (DevOps Research and Assessment) program, part of Google Cloud, found that elite DevOps teams deploy 973 times more frequently than low performers. [Source: DORA / Google]

Sources
State of DevOps Report 2023 — DORA
official · DORA (DevOps Research and Assessment) / Google Cloud · 2023-09-01
·
·

What are the major cloud platforms developers use to deploy applications?

The three dominant cloud platforms for developers are Amazon Web Services (AWS), Microsoft Azure, and Google Cloud Platform (GCP). Together they control approximately 66% of global cloud infrastructure market share. AWS leads with around 31%, Azure holds 25%, and GCP around 11%, according to Synergy Research Group's 2024 cloud market data. [Source: Synergy Research Group]

Sources
Cloud Market Share Q4 2023 — Synergy Research Group
official · Synergy Research Group · 2024-02-01
·
Overview of Amazon Web Services — AWS Documentation
official · Amazon Web Services · 2024-01-01
·

What is serverless computing and when should developers use it?

Serverless computing is a cloud execution model where the cloud provider dynamically manages server provisioning and scaling. Developers deploy functions that run on demand, paying only for execution time rather than idle capacity. AWS Lambda, Azure Functions, and Google Cloud Functions are the leading serverless platforms. It suits event-driven, variable-load workloads best. [Source: AWS Official Documentation]

Sources
AWS Lambda Developer Guide
official · Amazon Web Services · 2024-01-01
·
CNCF Annual Survey 2023
official · Cloud Native Computing Foundation · 2024-03-01
·

What is Infrastructure as Code (IaC) and which tools are used?

Infrastructure as Code (IaC) is the practice of managing and provisioning computing infrastructure through machine-readable configuration files rather than manual processes. Leading IaC tools include HashiCorp Terraform, AWS CloudFormation, and Pulumi. The DORA 2023 report identified IaC adoption as a key technical capability that drives software delivery performance. [Source: DORA / Google Cloud]

Sources
State of DevOps Report 2023 — DORA
official · DORA (DevOps Research and Assessment) / Google Cloud · 2023-09-01
·
·

What is npm and how does it work for JavaScript developers?

npm (Node Package Manager) is the default package manager for Node.js and the world's largest software registry, hosting over 2.5 million open-source packages. It allows developers to install, share, and manage code dependencies via a command-line interface. npm's registry serves over 80 billion package downloads per month as of 2024. [Source: npm Official Documentation]

Sources
About npm — npm Documentation
official · npm, Inc. / GitHub · 2024-01-01
·
OpenJS Foundation Projects
official · OpenJS Foundation (Linux Foundation) · 2024-01-01
·

What is Node.js and what is it best used for?

Node.js is an open-source, cross-platform JavaScript runtime environment built on Chrome's V8 engine that executes JavaScript outside a browser. It excels at building scalable, event-driven network applications like REST APIs, real-time chat, and streaming services. The OpenJS Foundation governs Node.js development, and it is used by Netflix, LinkedIn, and NASA. [Source: OpenJS Foundation]

Sources
OpenJS Foundation Projects
official · OpenJS Foundation (Linux Foundation) · 2024-01-01
·
About npm — npm Documentation
official · npm, Inc. / GitHub · 2024-01-01
·

What are the most popular JavaScript frameworks in 2024?

React remains the most widely used JavaScript framework, used by 40.58% of developers according to Stack Overflow's 2023 Developer Survey, followed by Node.js (42.65% as runtime), jQuery (21.98%), Angular (17.46%), and Vue.js (15.90%). Next.js has grown rapidly as the leading React meta-framework for production applications. [Source: Stack Overflow Developer Survey 2023]

Sources
Stack Overflow Developer Survey 2023
official · Stack Overflow · 2023-06-13
·
OpenJS Foundation Projects
official · OpenJS Foundation (Linux Foundation) · 2024-01-01
·

What is TypeScript and why do developers choose it over JavaScript?

TypeScript is a strongly typed, open-source programming language developed and maintained by Microsoft that compiles to plain JavaScript. It adds optional static typing, interfaces, and advanced tooling support, catching errors at compile time rather than runtime. Stack Overflow's 2023 survey ranked TypeScript 5th most-used language, with 38.87% of developers using it. [Source: Microsoft / Stack Overflow 2023]

Sources
·
Stack Overflow Developer Survey 2023
official · Stack Overflow · 2023-06-13
·

Why is Visual Studio Code the most popular code editor among developers?

Visual Studio Code (VS Code) is a free, open-source code editor developed by Microsoft. It dominates developer tooling: Stack Overflow's 2023 Developer Survey found 73.71% of professional developers use VS Code as their primary IDE. Its success stems from its extension marketplace (60,000+ extensions), integrated Git support, debugging tools, and IntelliSense. [Source: Stack Overflow Developer Survey 2023]

Sources
Stack Overflow Developer Survey 2023
official · Stack Overflow · 2023-06-13
·
Visual Studio Code Documentation
official · Microsoft · 2024-01-01
·

What is a REST API and how is it used in modern development?

REST (Representational State Transfer) is an architectural style for distributed hypermedia systems, defined by Roy Fielding in his 2000 doctoral dissertation at UC Irvine. RESTful APIs use standard HTTP methods (GET, POST, PUT, DELETE) to enable communication between client and server. REST remains the dominant API style, though GraphQL adoption is growing for complex data requirements. [Source: UC Irvine / Roy Fielding Dissertation]

Sources
Stack Overflow Developer Survey 2023
official · Stack Overflow · 2023-06-13
·

What is GraphQL and how does it differ from REST?

GraphQL is an open-source data query and manipulation language for APIs, originally developed by Facebook (Meta) in 2012 and publicly released in 2015, now governed by the GraphQL Foundation under the Linux Foundation. Unlike REST, GraphQL allows clients to request exactly the data they need in a single query, reducing over-fetching and under-fetching of data. [Source: GraphQL Foundation / Linux Foundation]

Sources
GraphQL Foundation — GraphQL.org
official · GraphQL Foundation / Linux Foundation · 2024-01-01
·
Linux Foundation Projects
official · The Linux Foundation · 2024-01-01
·

What package managers do developers use and how do they differ?

Package managers automate installing, upgrading, configuring, and removing software dependencies. For JavaScript, npm, Yarn, and pnpm are most common. For Python, pip and conda are standard. For system-level Linux development, apt (Debian/Ubuntu) and dnf (Red Hat/Fedora) are used. pnpm is noted for disk efficiency via content-addressable storage, reducing duplication significantly. [Source: OpenJS Foundation / npm Docs]

Sources
About npm — npm Documentation
official · npm, Inc. / GitHub · 2024-01-01
·
OpenJS Foundation Projects
official · OpenJS Foundation (Linux Foundation) · 2024-01-01
·

What is the Gitflow workflow and when should teams use it?

Gitflow is a Git branching model created by Vincent Driessen in 2010 that defines a strict branching structure using main, develop, feature, release, and hotfix branches. It suits projects with scheduled release cycles and multiple versions in production. For teams using continuous delivery, trunk-based development is often recommended instead by DORA research. [Source: DORA / Google Cloud 2023]

Sources
State of DevOps Report 2023 — DORA
official · DORA (DevOps Research and Assessment) / Google Cloud · 2023-09-01
·
Git Documentation
official · Git SCM (Software Configuration Management) · 2024-01-01
·

What open-source licenses should developers understand before using open-source tools?

Developers must understand three key open-source license categories: permissive (MIT, Apache 2.0, BSD), which allow broad use with minimal restrictions; weak copyleft (LGPL, MPL), requiring modifications to be shared; and strong copyleft (GPL), requiring derivative works to also be open-source. The Open Source Initiative (OSI) maintains the official list of approved licenses. [Source: Open Source Initiative]

Sources
Open Source Licenses — Open Source Initiative
official · Open Source Initiative (OSI) · 2024-01-01
·
Linux Foundation Projects
official · The Linux Foundation · 2024-01-01
·