A Summary of Developer Types and Development Terminology for Non-Developers!
If you work in the IT business as a non-developer, you’ve probably experienced irritation when dealing with developers. You may not know what terms to use to communicate your progress or requests, or how to comprehend a developer’s request, whether it’s a markup language, a framework, or something else. You often get confused due to difficult development terminology, not understanding why things aren’t working, or what exactly is being requested. It’s a good idea to learn some easy development phrases to communicate with developers, even if you’re not in control of development, to rapidly fix these difficulties and keep things moving smoothly.
So today, we will try to compile a list of useful development terminologies that non-developers should know for effective communication with developers. If you’ve ever had problems talking with developers, we’re sure learning some basic development terms would make communication easier.
Before delving into development terminology, it’s important to understand what type of developer you are communicating with, right? Let’s start by briefly exploring the types of developers.
A full-stack developer is a developer with both front-end and back-end skills and the ability to implement web services on their own. A full-stack developer not only designs and produces forms, but also implements web pages, connects to databases, and hosts websites to provide services.
Other types of developers include mobile (application) developers, and game developers.
Let’s take a look at some basic development terminology to get you started.
· Main system software that utilizes hardware resources to execute and manage programs
Examples of operating systems include Windows, LINUX, Android, and iOS. Depending on your hardware, you should use the appropriate operating system.
In computer science, an interface refers to the boundary where information or signals are exchanged between different systems/devices. It can be classified as follows.
· Hardware interface: A connection device between different hardware devices, such as USB or HDMI.
· Software interface: A connection system between different software, such as API, ActiveX, etc.
· User interface: Users interact with the hardware screen through interfaces such as Command-Line Interface (CLI) and Graphical User Interface (GUI).
· Human-computer interface: The connection device between the user and the hardware, such as a mouse, keyboard, monitor, etc.
· An environment that provides a structure or framework for program development using pre-written code.
Frameworks provide a number of common programming bones, allowing developers to focus on adding the functionality they require. Development, like construction, entails thinking about the large picture and filling in the details, and frameworks give that framework. A framework provides that structure or framework. Vue.js, Angular, Spring, and others are examples of frameworks. In software, a framework can be seen as a program that provides various elements, manuals, and rules necessary for developing software. Therefore, frameworks have specific rules and regulations that must be followed.
· An interface that allows different software to interact and communicate with each other.
APIs are commonly likened to waiters in a restaurant. When the customer (program) places an order (command) with the waiter (API), the waiter conveys the order details (list of commands) to the chef (API provider, application), and when the dish is ready, the waiter serves the completed meal (command output) to the customer. APIs can be likened to waiters connecting programs and applications, just like waiters connect customers and chefs. In essence, APIs help programs interact with each other.
APIs enable you to access external data and functionality without having to understand how they are implemented; all you need to do is write a piece of code that you can utilize. When developers want to utilize services like weather data from the Korea Meteorological Administration, or features like the “Share” button in KakaoTalk and Naver, they can simply write code to call the API. This allows them to immediately use the data and functionality provided.
· Connecting two or more computers to form a network.
Networking is a type of communication network that connects two or more pieces of equipment, either physically or wirelessly, to exchange data and resources following rules known as communication protocols.
· A computer or program that provides a service
A server is a piece of software that provides data or services to clients connected via a network. To use the restaurant as an example once more, a customer (computer 1) orders food and the restaurant (computer 2) produces and delivers the ordered food to the customer. In this context, the act of placing an order can be seen as a request, and delivering the ordered food as a response. The customer (computer 1) is the client, and the restaurant (computer 2) is the server in this analogy.
· A computer that sends requests to a networked server, receives responses and uses the service.
A client is a user who connects to software, requests, and receives a service. In the case of a restaurant, a customer who orders meals is referred to as a client.
JSON is a widely used format for data transfer in online applications, that is, for exchanging and expressing data between server and client. It can be described as a text-based data exchange standard designed to be human-readable. JSON consists of a data request (key) and a response (value). When working with developers, knowing what JSON looks like and how to compose it will allow you to communicate more rapidly.
· A collection (set) of unified controlled data.
Databases serve to store and manage data. There are two main types of databases: relational and non-relational. Relational databases manage data by arranging and linking numerous tables, with PostgresQL, Oracle, and MySQL being common examples. Non-relational databases, such as Redis, MongoDB, and Couchbase, arrange data in ways other than tables.
· Middleware managing the database.
Databases are managed by middleware called Database Management Systems (DBMS). A database management system enables the storage, extraction, and modification of data in a database.
Even if you understand the fundamentals of development lingo in order to interact with developers, it’s not always easy to get in sync when it comes to actually requesting and coordinating work. How should non-developers who are working with developers communicate?
When requesting developers to work on a specific issue, asking for development tasks, or seeking confirmation on a development aspect, it’s important to be as specific as possible. Developers need to translate non-developers general text or abstract concepts into clear structures and implement them as code. It’s crucial to communicate as specifically as possible about what you want, where it’s needed, and any other relevant details. Thinking about the five Ws (Who, What, When, Where, Why) and How can be helpful in this situation. Writing a proposal that clearly explains who, when, where, what, how, and why regarding the desired request or service is essential. Of course, when creating a proposal, it’s crucial to consider and incorporate both the perspectives of the planner and the designer.
Today, we’ve compiled essential development terminologies that non-developers should know for effective communication with developers. It would be beneficial to have a good understanding of these terms if you work in the IT industry. Learning basic development languages or coding will also help you work more efficiently.
Elice, the leading coding training firm, provides a wide range of training programs in data analytics, web development, artificial intelligence, and other areas. We also have a well-organized training system that will help you learn rapidly by providing 1:1 feedback from current developers, coding chatbots, and other tools. Check out Elice today if you want to freely learn and practice digital education anytime, anywhere!
*This content is a work protected by copyright law and is copyrighted by Elice.
*The content is prohibited from secondary processing and commercial use without prior consent.