Working in the tech industry means you're going to hear a lot of industry-specific jargon.
Even if you're not an engineer, it's worth knowing the terms they use everyday so you can at least interact with them and better understand the challenges they face.
Benjy Weinberger, the engineering site lead at Foursquare, recently explained the ten basic terms that engineers use everyday.
Here they are:
- API: An application programming interface helps different software components interact with each other. "APIs offer a simple, standardized way to provide functionality, without requiring a lot of intricate coordination."
- Technology Stack: A set of standard components for doing things like storing and retrieving data and handling user logins. "A common example of a technology stack is the LAMP stack: Linux for the operating system, Apache for the web server, MySQL for the database and PHP (or Python) for the server coding environment."
- DNS: The Domain Name Service is a directory for converting names like foursquare.com to computer-friendly IP addresses like 22.214.171.124. "When you type www.foursquare.com into your browser’s address bar, the browser contacts a DNS server to ask it to translate that name into an IP address, and then sends the original request to that IP address."
- Open Source: Open source projects make the code publicly available for free. That way, users can modify and improve the code, and even re-use it for other purposes.
- Machine Learning: "Machine learning algorithms infer general rules from a set of examples, in a manner superficially similar to human learning. They are useful for finding approximate solutions to those problems for which there are no known straightforward algorithms. Siri, for example, is the result of a machine learning algorithm that approximates human understanding of speech."
- Version Control: Version control systems help ensure engineers within an organization don't overwrite the work of their teammates. These systems also store all previous versions of files. "This allows developers to make progress while still being able to debug servers running older versions of the code."
- Algorithm: Weinberger likens algorithms to recipes. "It's a list of step-by-step instructions that can be unambiguously and mindlessly followed by a computer."
- Client/Server: "When two computers interact over a network, the client initiates the interaction by sending a request to the server." Web browsers and mobile devices are typically referred to as clients.
- UNIX/Linux: UNIX is an older type of operating system first developed at Bell Labs. "It’s notable because many of its innovations strongly influenced the design of later operating systems, all the way to the present day." Linux, on the other hand, is an open-source operating system very similar to UNIX.
- Distributed Systems: Big scale companies like Google and Facebook rely on a distributed system to handle its massive load of data and server requests. A distributed system "uses multiple computers, connected by a network, to perform a task or provide a service."
More From Business Insider