Programming for IT recruiters and non-programmers 💻
Tags: programming, webdev, career, api
Published: 2022-11-10 15:44:38

Are you an IT interviewer or recruiter and have you ever had a hard time understanding what a programmer was talking to you about? Or are you interested in understanding more about this field? 🤔

Don't worry, in this post we are going to explain in simple words the most used concepts in the world of programming and computing.


## 👉 Frontend vs Backend

First of all, these two sectors are based on the web. The main difference between Frontend and Backend is in the aspects they manage and their objective.

A Frontend developer works to improve the user experience and interface of the website. In an application, everything visible, such as colors, buttons, links, and layout, among other things, was created by a frontend developer.

Technologies like JavaScript, React, Vue, Svelte, Next.js, etc. are seen.

A Backend developer is responsible for managing data storage and establishing communication with the server and databases. It is the part that the user cannot see.

Its function is to access the information that is requested through the frontend, to later combine it and return it to the end user.
You see languages like Node.js, Python, Java, .Net, etc.


## 👉 What is a programming language?

A programming language, in simple words, is the way in which we programmers interact with computers and give them instructions. This allows us to communicate with machines through algorithms and instructions written in a syntax that the computer understands and interprets in machine language.


## 👉 JavaScript is not Java

Something very common in people who are not dedicated to programming is to confuse JavaScript with Java due to its great popularity and similarity in name. To begin with, these two are different programming languages:

JavaScript is weakly typed, which means that writing in this language is simpler and more permissive.

Java is strongly typed as it has a more complex syntax or script.

In addition, each one has different uses and purposes. These two languages are used for different reasons and purposes.

JavaScript is mainly recommended for applications and web pages. It is dedicated to the development of so-called front-end applications, although today, due to its scope, we can also see it in back-end development with Node.js.

Java is a versatile language used for back-ends, desktop apps, and Android apps, among others.


## 👉 Common terms in programming

- **API**: These are mechanisms that allow two software components to communicate with each other. They allow products and services to communicate with each other, no matter how they are implemented.
- **Bug**: In computing it refers to an error or defect in the software that causes a program to not work correctly. The origin of this term dates back to 1944, when Thomas Edison detected a fault in a computer and saw that this happened because there was a bug inside it, which was actually a moth.
- **Code**: It is the set of instructions that a developer orders to execute a computer. The structure of this can vary according to each programming language.
- **Algorithm**: It is a set of defined and ordered instructions to solve a problem. That is, it is a step-by-step procedure to achieve an end.
- **Refactoring**: Its objective is to improve an existing code, eliminating design and structure defects, achieving maintainability and extensibility of a system. It changes the design of the code, but never the behavior of the software.
- **Backup**: It is a backup or security copy of a set of software (files, documents, code, etc.) that is stored in a safe place, in order to be able to re-dispose of your information when necessary.

## 👉 What is hardware and software?

Devices such as computers or smartphones are made up of hardware and software.

Hardware is the set of physical components of a device, such as screens, keyboards, etc.

Software is the set of computer programs that make it possible to execute specific tasks on a computer. For example, operating systems, applications, web browsers, games or programs.

In short, in a device the hardware is what you can see and touch and the software is what you can't.

## 👉 Programming areas

### 1. Web development

Web development is the process of creating and maintaining websites. Web developers are the ones who make sure that websites and web applications work properly and are efficient.

As we saw earlier, web development can be divided into backend and frontend:

In the backend we can see tools such as Node.js, Python, Java, among others.

On the frontend there are tools like JavaScript, React, Vue, Svelte, Next.js, etc.

### 2. Mobile development

Mobile development is the creation of applications for Android and iOS phones.

On Android you can develop with languages like Java or Kotlin and on iOS with Swift.

There is also React Native, Ionic, Xamarin or Flutter to develop cross-platform applications, which work on both Android and iOS.

### 3. Video game development

In the creation of video games we have designers, storytelling, character modeling, etc. Among the most important technologies for developers are Unity 3D with C# and Unreal Engine with C++.

### 4. Desktop Application Development

They are applications that can be installed on your computer, whether you have Windows, Linux or Mac OS, for example: Adobe Premier, Microsoft Teams, Discord. To develop these applications, languages such as Java, C#, Python, etc. are used.

### 5. Development of operating systems / Embedded

The operating systems are Windows, Linux, Android or iOS. Languages such as Assembler or C are often used to develop them.

Embedded systems are electronic programs that are designed to meet specific needs and almost always go directly on a chip. For example, the operations of a washing machine, a refrigerator, etc.

They are mainly developed with Java or C. It is also related to topics such as Arduino, IoT, Raspberry, which can be programmed with languages such as Python and JavaScript.

### 6. Machine Learning

Machine Learning is a discipline in the field of Artificial Intelligence that, through huge volumes of data, gives computers the ability to identify patterns and make predictions.

The 2 most important languages in this area are Python and R.


So far today's post came. We hope that it has been very helpful and that you have been able to understand these super interesting concepts. If you think something was missing, you can leave it in the comments and we will gladly add it to the post.

See you next! 👋