Agile Software Development – Agile is a common paradigm for software development. Projects are organized around ‘sprints’, which are usually about a week long. Coders are encouraged to write simple programs that are frequently tested, and to deliver their work in small stages rather than in one completed chunk. This allows for rapid prototyping, quick iteration, and finding mistakes early.
Algorithm – An algorithm is a set of steps required to achieve a goal. Almost any set of sequential actions, including making tea or driving to work, could be considered an algorithm, but we usually discuss algorithms in the context of computer science. Programming languages are how we usually provide computers with the algorithms we want them to execute.
Artificial Intelligence – Artificial Intelligence is defined differently by almost everyone that studies it. But in the broadest terms, it is the endeavor to create machines able to observe, reason, and act in generally intelligent ways.
Apache HTTP Server – The Apache Web Server is open source software running on over half of all the web servers in the world. Web servers are an integral part of the process of accessing a web page, and Apache HTTP Server is one of the most popular ways of handling this backend task. For this reason, it is part of the LAMP (Linux, Apache, MySQL, PHP) Stack.
API – An Application Programming Interface (API) is software that stands between two applications and lets them talk to each other. An example use case would be a news website with an API that allows a Python script to grab the daily headlines.
Apprenticeship – An apprenticeship is a relationship in which an apprentice works closely with one or a small number of skilled people to build proficiency in exchange for handling low-level tasks. Apprenticeships are a large and growing part of the learning process for programmers, data scientists, and technology professionals.
Asynchronous Programming Languages – Asynchronous languages are designed to handle processing tasks out of order. More and more of the internet is turning to asynchronous processing to handle large volumes of traffic.
Backend – Backend development refers to the part of building websites and applications which aren’t user-facing, including reading and writing to a database and interfacing with servers.
Big Data – Big data is a buzzword referring roughly to data that is too big to fit on a single machine. It’s alternatively defined as being data greater than 1 Terabyte.
Cloud Computing – Cloud computing is any computing that is distributed across many machines instead of concentrated on one. In an era of big data and enormous machine learning models, it is becoming more and more popular to run applications on the cloud.
Code Review – Like having peers proofread an important email before sending it, a code review is when a person receives feedback on code they’ve written. Code reviews are beneficial to both parties and are a great way of learning how to write good code.
Coding Bootcamp – A coding bootcamp is an intensive learning program, usually lasting from 2 to 6 months, designed to take students from little to no skill to job-ready. Bootcamps can be online, or in-person, part-time or full-time, and focus on domains like web development, software engineering, or data science.
Command Line – The command line is a terminal which allows users to forego a computer’s Graphical User Interface to interact with it directly via text. Though the command line takes some getting used to, it affords a great deal of power and flexibility once you get good with it.
Database – A database is any form of structured data storage. Databases come in my different forms, and common languages for interacting with them include Structured Query Language (SQL), Postgresql, and MySQL.
Data Science – Data science is a field that applies skills from statistics, computer science, and software engineering to draw insights from data. A typical data science workflow will involve finding data, ingesting data, cleaning data, running statistical tests on data, doing feature engineering or feature elimination on the data, building machine learning models on the data, and communicating results to non-technical people.
Data Structures – Data structures are a means of storing data on a computer so that they can be used effectively. A data structure will typically specify what kinds of data are acceptable, what format the data have to be in, and the ways in which they are to be accessed.
Data Wrangling – Also known as data munging, data wrangling refers to taking data in one format and mapping it to another format. An example would be using SQL to join multiple data tables together. Though it’s often neglected in data science courses, practicing data scientists often spend a considerable fraction of their time on data wrangling.
Distribution (Software) – A software distribution is a version of a software programming that has been distributed for common use. There are often multiple versions of technologies such as Linux, like the popular Debian and Ubuntu variants. These are called distributions.
Django – Django is a popular open-source framework written in and for Python. It allows for rapid prototyping and the construction of software that follows the Model-View-Controller (MVC) design philosophy.
Extract, Transform, Load (ETL) – ETL is an acronym referring to a constellation of tasks which are important to the early stages of data projects. Before any sort of more advanced analysis or modeling can be done, data must be extracted from their source, transformed into an appropriate format, and loaded into a database or platform.
Express.js – Express.js is a popular Node.js framework which makes backend, server-side tasks far easier to handle. Without Express.js, much of this work would require writing a great deal of redundant code, so Express makes web programmers vastly more efficient.
Framework – A framework is similar to a library in that it makes programming easier by automating certain parts of the workflow, generating boilerplate code, or otherwise freeing up programmers for higher-level work.
Front end – Front end refers to any part of web development that is user-facing, including building web pages, styling them, and making them interactive. This contrasts with the server and database concerns of backend development
Full stack – In contrast to the specialization of front end and backend development, full stack software engineers can comfortably work in any part of the pipeline. They can handle CSS as well as database management.
Github – Github is a widely-used version control system (VCS) that allows teams to track changes to their codebase over time and lets multiple people coordinate on the same project.
HTML – Hypertext Markup Language (HTML) is the standard markup language for web content. It is used for such tasks as distinguishing paragraphs from titles.
IDE – An Integrated Development Environment (IDE) that gathers all the standard tools required for software development into one place to make coding easier. IDEs almost always contain a code editor, compiler, and debugging functionality.
iOS Swift – Built on the Objective-C language for use on Apple devices, iOS Swift is a compiled language that is rapidly becoming the standard for developers wanting to work on iOS applications.
Java – Java is one of the most widely-used programming languages in the world. As a flexible, object-oriented, general-purpose language it has been utilized in domains as diverse as artificial intelligence and Android application development.
Junior Developer – Entry-level developers are sometimes called ‘junior developers’, to distinguish them from more experienced senior developers. After you graduate from a coding bootcamp you’ll be qualified enough to take junior developer roles.
LAMP Stack – The LAMP stack is a popular, open-source technology stack used to make dynamic web sites. Its component parts are the Linux operating system, Apache HTTP Server, MySQL relational database management, and PHP.
Linux – Linux is a free operating system that has become one of the great open-source success stories. Linux is used in millions of computing systems all over the world to perform a staggering variety of different tasks.
MongoDB – MongoDB is one of the NoSQL family of databases. Being oriented around storing ‘documents’, it represents an alternative to the traditional tabular database systems. It’s part of the MEAN stack.
MySQL – MySQL is one of the more popular relational database management systems. It is used by small and large businesses with developers who are proficient in SQL, and it integrates well with other languages and operating systems.
Object-Oriented Programming – Object-oriented programming is one of the most popular programming methodologies in the world. It is organized around the concept of ‘objects’ each of which contains its own data and can be manipulated with its own methods. Object-oriented programming forces programmers to organize their code in such a way that large projects can be more easily maintained.
Open-Source Software – Open source software is any software that is released for public use. It can be modified, improved, and utilized in any project. One advantage of the open-source approach is that bugs are much easier to catch and fix.
Pair Programming – Pair programming is one component of the popular Agile software development approach. It involves two programmers alternating between being the one who writes the code and being the one who looks out for errors. Even though it requires far more effort, it tends to result in better software.
PostgreSQL – PostgreSQL or ‘Postgres’ Is a general-purpose object relational database management system. One of its distinguishing features is that it is highly extensible, allowing users to add custom functionality in a variety of different programming languages.
Python – Python is an extremely powerful and widely used programming language. Its easy-to-read syntax and focus on having a single correct way to do everything make it relatively easy to learn. For this reason, and because it can be used in domains ranging from web development to machine learning, Python is one of the most popular first languages.
R – R is built from the ground up with statistical computing in mind. While it is more popular in academia, it is also commonly used in the data science industry. Aspiring data scientists can make themselves stand out by learning R in addition to other languages like Python or Java.
React Native – React Native is the most recent iteration of the popular React library. Its purpose is to obviate the need to rebuild applications to work on incompatible operating systems, like IOS and android.
Relational Database Management System – A relational database organizes data into a series of tables. A relational database management system facilitates creating, updating, and using relational databases.
RESTful – Representational state transfer (REST) is by far the most popular protocol for computer systems communicating over the Internet. It is a common way to design APIs.
Ruby – Ruby is a general-purpose open-source language designed from the beginning for simplicity and ease of use. By far its most popular use case is in front end and backend web development, but it has found application in other domains as well. Widely regarded as the easiest language for non-coders to read, it is a popular entry point into programming.
Sprint – In the Agile approach to project management a sprint is a single repeatable unit of time into which large endeavors are broken down. Typically a sprint is a week long, and an organization will orient everyone on a team towards a set of shared goals for each sprint.
SQL – Structured Query Language (SQL) is purpose-built for getting information from Relational Database Management Systems. SQL comes in a variety of flavors, including MySQL and PostgreSQL.
Syntax – As with both natural languages and programming languages, syntax is a set of rules describing the correct way to express ideas. An example of syntax is the fact that function definitions have to begin with the word ‘def’ in Python. If they don’t, they’re violating syntactical rules and will not work.
Terminal – The terminal is the native application used by Macs to interact with the command line.
Unicorn – The term ‘unicorn’ has become a generic signifier of unusually high quality. In software development a ‘unicorn’ is generally a person with code and design skills; in investing, a unicorn is a startup in the technology space which is privately owned and worth at least $1 billion.
Usability Testing – Usability testing is the process of ensuring a product works for end users. It involves monitoring ease of use, aesthetic appeal, and intuitiveness.
UX Design – User experience design is a field aimed at making products easy to use. UX designers check that a layout is easy to understand, that applications function smoothly, and that customers are satisfied with the experience. UX designers need to be proficient with Sketch and Invision, along with standard front end languages.
UI Design – Like UX design, User Interface Design aims to make applications usable. It’s primary focus is on visual elements like images, screens, menus, buttons, and icons. UI designers will need to be conversant with Adobe Illustrator, Photoshop, and Sketch, in addition to various front end languages.
Version Control – Version control is tracking and managing changes made to software projects and documents. The advantage of version control is that it allows experimentation with new features which can be rolled back if they don’t work, and it facilitates multiple people cooperating on one project at the same time.
Virtual Machine – A virtual machine is a file or piece of code which acts like a computer-within-a-computer. By imitating a standalone computer, virtual machines play a role in making code usable across platforms and allowing a single device to run multiple operating systems.
Whiteboarding – Whiteboarding refers to the process of brainstorming or prototyping with markers on a whiteboard. Quicker and rougher than actual coding, whiteboarding allows multiple people to rapidly contribute to an evolving vision for a project. Whiteboarding is used in many companies and is also a common part of interviewing.
XCode – XCode is an IDE that supports development for macOS, iOS, and the rest of Apple operating systems.
XML – Extensible Markup Language (XML) is a language that allows formatting documents to be both machine- and human-readable. While ostensibly similar to HTML, it’s distinct in that it is not restricted to use in web browsers.