A cloud platform from Amazon. The leader in the public cloud domain, AWS has a global network of data centers and is compatible with the most popular platforms. Its services and capabilities are excellent for large solutions that require vast computing resources.
A framework used for storing and processing huge structured and semi-structured datasets (up to petabytes of data). Thanks to clustering (when several computers are clustered to process data in parallel), processing large amounts of information with Hadoop is fast and easy.
A field of computer science that refers to the ability of machines (e.g., computer systems, robots) to simulate human intelligence and perform human-like tasks. AI covers a wide range of technologies, including machine learning, computer vision, and natural language processing.
Code governing the server’s access points that allows two or more computer programs to interact. In other words, APIs act as an intermediary between software solutions: they let such solutions exchange data by sending requests and getting responses from each other.
Technology that enables overlaying real-world environments with computer-generated elements. Unlike virtual reality (VR), which creates a completely fictional and fully immersive experience, AR uses a physical world as a setting but augments it with digital objects.
A type of cloud computing service that allows outsourcing the responsibility of managing cloud infrastructure to a BaaS provider. BaaS also speeds up backend development by offering the necessary tools, out-of-the-box features, APIs, etc.
Data sets that are too complex to be handled by traditional data processing software. The key characteristics of big data are:
A general-purpose programming language created as an extension of the C language. Mostly used for system development (like Windows, Linux, etc.), embedded software, game development, etc. Many apps and programs we use (applications, browsers, databases, etc.) are written in C++ because of its performance and efficient resource management. Gives developers fine-grained control over hardware resources and helps produce resource-optimal software.
A general-purpose programming language most operating systems (Windows, Linux, Mac OS, Android, iOS, etc.) are written on. Because it provides little abstraction over CPU instructions, C code could be almost 100% efficient in terms of resource use.
A style language (not a programming language) that describes the styling of a web page in a web browser. Think “content look and feel.”
A non-relational open-source database management system designed to handle high volumes of data. This advantage makes Cassandra a great database for big companies with distributed data centers like Facebook, Instagram, Apple, Netflix, Uber, etc.
A DevOps best practice that allows automatically merging code changes from multiple sources into a single central repository. Before merging, all changes are validated by running builds and tests. If some changes don’t pass the tests, they don’t get merged. CI is the foundation for continuous delivery and continuous deployment.
The next step after continuous integration. It automates the deployment of all the code changes that were merged into the environment at the CI stage. In other words, continuous delivery automates the release process, allowing to deploy changes anytime.
A practice that goes one step further than continuous delivery. It allows all the changes that successfully pass the verification to be released right into the production environment. This means that these changes become visible to users straight away.
A cloud platform from DigitalOcean, a popular virtual machine provider. This is a reliable and affordable cloud platform that focuses on software engineers as its primary audience. It offers them scalability and easy deployment for distributed applications.
A platform that allows developing, testing, shipping, and deploying software faster and more consistently. It allows packaging and running apps in so-called containers. Because Docker helps reduce the time between coding and production, it’s one of the primary tools of DevOps.
A field of study that aims to uncover hidden patterns and derive actionable insights from vast volumes of data using interdisciplinary methods and techniques (math, statistics, domain expertise, programming, etc.)
An advanced subset of machine learning. It is based on artificial neural networks modeled as an imitation of the way the human brain works. Deep learning can provide accurate results by processing large volumes of data. This technology is also capable of unsupervised learning, meaning that it doesn’t require labeled datasets to provide results; instead, it can detect patterns in the data itself.
A non-relational, cloud-hosted, real-time, Google-owned database for storing and syncing unstructured data. Because changes are instantly synchronized across all connected clients, Firebase is great for building cross-platform (iOS, Android, web, C++, Unity) applications. It also allows apps to work offline.
A “skeleton” that serves as a foundation for building software solutions. Basically, it provides a set of blueprints programmers can customize and fill out with code to meet the needs of a particular product. Frameworks may contain software libraries.
The most popular software version control system. Git is used in projects of different sizes (including one-person projects), but it’s most useful for distributed teams that cooperate on a single project. It supports thousands of branches simultaneously and data integrity.
A markup language (not a programming language) used for describing a structure of a web page in a web browser. Think “static web content.”
A fully managed cloud platform that meets the needs of individual developers, startups, enterprises, and students. Thanks to its ready-made environment, setting up the infrastructure takes little time and effort. It’s easy to use and offers over 150 add-ons.
An advanced relational data management and analytics system that’s great for low-latency transactions and massive workloads. Developed by the pioneer of data management, IBM Db2 is reliable and scalable. It runs on Linux, Unix, and Windows operating systems.
A type of cloud-computing service that provides clients with computing resources (servers, networks, storage) on demand and over the internet. With IaaS, clients can pay for the cloud infrastructure on an as-needed basis instead of investing in physical hardware.
An integrated development environment refers to software that provides tools and facilities for building applications. These tools are combined into a single graphical user interface (GUI).
A system of connected devices that can “communicate” and exchange data with each other. The elements of IoT systems are physical objects that have sensors, software, and processing ability.
NB! The full name requires the definite article: “The Internet of Things,” but the abbreviation “IoT” requires no article.
A general-purpose compiled programming language used for web development, mobile app development, and other software. A common choice for enterprise applications. Runs on any hardware that has JVM (Java Virtual Machine) installed.
A general-purpose programming language mostly used for web programming. The native language of a web browser. Think “dynamic (changing) web content.”
A general-purpose programming language that runs on JVM and is Java compatible but more concise than Java. Used almost exclusively for Android app development.
A high-level deep learning library for working with TensorFlow 2. Developed by Google, Keras is a developer-friendly library that makes implementing neural networks painless. It has a Python frontend (not the same as frontend in web, more like a way to interact) and numerous backend options (again, not the same as web backend), allows quick prototyping, and has a large user base.
A container orchestration system (you can control where containers run) that allows scaling, deploying, and managing cloud-native applications automatically. Originally developed by Google, Kubernetes is compatible with Docker, Containerd, and CRI-O.
A collection of pre-written and reusable components (modules, objects, classes, functions, etc.) When building an application, programmers can just refer to these components within the code instead of building them from scratch.
A relational database management system with several options that serve applications of every size. But because of its complicated and high pricing, analytical and business features, MS SQL is most popular with enterprises. And since it is a product of Microsoft, MS SQL is compatible with MS Azure, Microsoft Cloud, and others.
An open-source, non-relational document-based database. Because the database stores query data in RAM, MongoDB allows accessing, retrieving, and multiplying data quickly, which is essential if an application requires speed. MongoDB is also a preferred choice for all sorts of catalogs and real-time applications.
An easy-to-use relational database with a mild learning curve. MySQL is the number one web database and is supported by leading cloud platforms. It may not be the most scalable database, though, so MySQL works best for smaller web-based applications, OLAP/OLTP systems, and BI tools.
A solution architecture style where systems are arranged as collections of relatively small and loosely coupled services. Each service is autonomous and implements a single business capability. Microservices architecture is a modern alternative to less flexible and maintainable monolithic architecture.
A solution architecture style based on a similar approach as microservices architecture but refers to the frontend, not the backend, of an application. In micro frontend architecture, separate components (i.e., independently deployable “child” frontend applications) are combined into a greater whole (i.e., “parent” frontend application).
A traditional application architectural style where the entire application is built as a single, indivisible unit. In monolithic architecture, all components are interrelated and depend on each other, which often makes the application clumsy and hard to maintain when it grows.
A type of software architecture where several customers share the same cloud computing resources. That said, the data of each customer is isolated, so customers aren’t aware of other “tenants.”
A version of a new product that has the minimum sufficient set of features to validate a product idea and get feedback from early adopters. Insights collected at the MVP stage are used to improve the product during the further iterations of the product development cycle.
.NET is a platform mostly used for building and running C# applications. There are several implementations of .NET:
An interdisciplinary field that combines linguistics, computer science, and AI. NLP is concerned with giving computers the ability to process and “understand” human language in both spoken and written formats.
A general-purpose programming language that was created to (yet again) improve the C language. Used for macOS and iOS development.
A hybrid cloud relational database management system that supports different kinds of data models (document, graph, key-value, etc.). Owned by Oracle Corporation, the database can boast different applications and tools available and a hefty price tag. It’s comfortable with processing large amounts of information and numerous databases, has excellent support but a steep learning curve.
A cloud platform from Oracle Corporation. It can boast a simple yet reliable infrastructure and nice data visualization for analytics and forecasting. Oracle’s partnership with Microsoft gives users the multicloud and allows them to combine the best of both platforms.
A general-purpose programming language that was common for early web development. It was sometimes referred to as “the duct tape of internet.” Because of its wide use of special characters, Perl is considered “ugly,” although it can boast powerful features for text processing.
A general-purpose programming language created for web development aimed to be simpler and friendlier than Perl.
A general-purpose programming language used in web development, data science, and DevOps, loved by developers because of its readability.
An open-source relational database for complex data processing. PostgreSQL is extremely scalable, supports various data types out of the box, and is compatible with helpful tools and extensions. While it’s a universal data management system, PostgreSQL is widely used for data warehousing and analytics. And thanks to the ability to process giant loads of data, the database is great for financial applications.
An ML (deep learning) framework used for computer vision and NLP applications (including autonomous driving). PyTorch can boast dynamic computational graphs, a comprehensive ecosystem of tools and libraries, and speed, helping move the process from prototyping to production faster. It is used with Python.
A type of cloud computing service that provides on-demand and over-the-internet environment and tools for building and deploying applications.
A prototyped solution built to test the practical feasibility of a product idea before full-fledged software development. In other words, POC shows if the product can actually solve particular problems of the target audience.
A proxy server is an application that acts as an intermediary between a user’s device and a server to which a user is sending requests. When using a proxy, a user’s device does not connect directly to a server that can fulfill a user’s request. The request is first directed to a proxy server, and the proxy server then sends it to the server that provides the requested resource.
A general-purpose programming language that was created with programmer productivity in mind. Think “Python but fun.” Its packages — the way programmers share code — are called Gems. Gained popularity thanks to the web framework Ruby on Rails. Ruby is used mostly for web development and console applications.
Special, platform-specific software that provides a way to run code — usually for cross-platform support. It sits between the operating system and your program. JVM, .NET, and Node.js each have a runtime. On the other hand, C and C++ don’t have one — you need to compile your program into an executable file specific to the operating system you’ll be running it on.
A domain-specific programming language that’s used for describing queries to relational databases.
A general-purpose programming language heavily supported by Apple. The tech giant adopted it for iOS application development.
A lightweight, portable, serverless relational database engine. Because it’s so light, SQLite can run as embedded software (in smart TVs, electronic devices, etc.). It’s reliable, doesn’t require installation, and is easy to learn. With excellent performance and compatibility with many third-party tools, SQLite is great for version control, CAD, and financial systems.
A software delivery model where instead of installing an app on a device, users can simply access it over the internet. SaaS is usually licensed on a subscription basis and hosted centrally by a vendor, so users don’t have to worry about its management or maintenance.
An agreement between a contract creator and the recipient that takes the form of a computer program hosted on a blockchain platform. It consists of predetermined terms that are executed automatically once certain predefined conditions are met.
A space (i.e., a series of screens) where users interact with a program. A UI enables users to navigate a digital product and execute its different features. Sometimes also called GUI - graphical UI.
The way a user “experiences” a product. It includes general ease of use, intuitiveness, the perceived value of a product, as well as its efficiency in performing user actions.
A way to create an encrypted connection between a user’s device and the internet network. This connection ensures the protection of the user’s data and privacy.
Technology that provides users with a fully immersive experience in a simulated 3D environment. Users can interact with virtual reality and computer-generated objects inside it with the help of VR headsets and special electronic equipment.
An electronic device that can be worn either as an accessory or an item of clothing. Smartwatches and fitness trackers are the most popular consumer wearables. Wearables are one of the fast-evolving categories of the IoT.