Starting conversation with programmers 101

Myth said programmer is hard to start a conversation and deal with because we are always talking with our computer. In addition, the programmer also called to be the nerd one and hard to date. During my college time, my degree also needs to take a “Communication class” because of that.

Sometimes I can say the myth is true, but sometimes it is not. It depends on the person itself. Some programmers are constantly talking about programming stuff, and some can generally speak with a non-tech person.

I have a non-tech friend who tries to have a constant conversation with a programmer, and she finds it hard to understand the conversation because of her lack of background. So I try to write this so-called “starting conversation with programmer” to provide a non-tech have essential knowledge of programming, actually an algorithm and programming basic haha. The objective after reading this article is a non-tech person who has a crush on a programmer can start a topic and understand what they said 😐

Programming and Algorithm

Programming is the implementation of logic to facilitate specified computing operations and functionality. It occurs in one or more languages, which differ by application, domain and programming model. — Technopedia

To simplify, programming is the activity of writing some instructions (codes) to tell a machine to do the instruction. The set of instructions is called an algorithm. Generally, programming has three main components: input, process/algorithm, and output.

The real-life analogy of algorithm is likely the cooking recipe step to create a menu. We can call the vegetables and spices the input, steps to make the food as a process, and the food as output. So basically, a programmer is a chef that serves a program that the user will use.

The algorithm always reads sequentially, except you give the asynchronous process (will not explain in this article). It is like you make the food by following 1–2–3–4–5.


To make it easy, a variable is a bucket where we save a value of something. We used it also in math subjects, for example, the linear equation, which has x and y variables. In programming, we use this variable to save a value and sometimes use this variable in the future. The input and output also can be kept at variables.

At the example below; first_number, second_number and sum are the variables. 10 and 5 are the value and 15 is the value for the sum operation.

# simple usage of variable
first_number = 10
second_number = 5
sum = first_number + second_number

Furthermore at advance term, we can override the variable. Override mean we can change the value of the exist variable with another value. For example, I want change first_number value with 20 so I only write the code like below.

# simple usage of variable
first_number = 10
second_number = 5
sum = first_number + second_number
# override
first_number = 20

Array / List

Array or List is an advanced variable in which you can keep many values. Some programming languages also provide arrays to save different data types (I will explain this below) in one List. You can imagine an array or List like storage with numbering (index). Below is an analogy picture that you are in the library with 2 dimension (x, y) cupboard to kept your book.

Stack and Queue

Stack and queue are advanced terms from array or list. The queue is identical to the meaning. You can imagine you are at the restaurant and queue to order the food, and it works the same as the queue at programming. Usually, the queue work with FIFO (First In First Out); whoever comes to the queue first can do the order first. Stack is identical to the queue, but the demand is LIFO (Last in First Out). You can imagine a stack like the stack of the cloth pile from your cupboard, and it is easier to get the most top of the pile than from the middle or the lowest right (?)

Data Types

Some programming language need programmer to define a data types for a variable, but some isn’t for example Python. Generally, data types are integer, float / double, character, string, and boolean.

  • Integer is a decimal number without a point (1,2,3,4,5, etc).
  • Float or double is a number with a point (3,14).
  • Character is an alphabet or symbol in ASCII term (a, b, c , d, e, f, g, etc).
  • String is a collection of the characters (“I am a programmer”)
  • Boolean is a value of 1 (true) or 0 (false). Boolean is the basic of machine language and actually the only type that machine understand.

Boolean in advance

The machine does not understand what programmer types. The device only understands 1 and 0. In the background process, programming language translates the language that the programmer understands to a language that the machine understands. We call this process compiling, or another method is interpreting. (These two-term is quite advanced, so you can do googling if you are interested)

Logical Operator

Myth also say, programmer is always logical person, maybe because we also think logically to create an algorithm (?) haha. That’s only myth though, I am still a feeling person, so it break the myth 😆

Logical operator consists of and & or operator. And operator works as a serial connection at a couple of switches, so you can imagine we have two controllers, and one lamp connects serially. The condition to make the lamp on is when two buttons are on and if only one switch on or both switches off the lamp will off. Otherwise, Or operator works as a parallel connection; the lamp will be on if a minimum of 1 button is on.

Conditional Operator

Conditional operator is a process where machine will do something if the condition is fulfill. The analogy maybe like you request your crush to do something but they will only do that thing if the condition meet. Let imagine that like a story when you two will watch a movie at cinema if it’s not rain outside, then if it’s rain you will have a candle dinner at home. We called this If-Then operator. We can also combine this conditional operator with logical operator, so it’s like you have some condition to fulfill before do the things.

if not rain:

Looping Operator

As the name said, a looping operator is an algorithm where you need to do something repeatedly. For example, to make a hot chocolate, you need to stir three times before drinking it. We can use for or while term to do looping.

# Stir the hot chocolate 3 times
For stir_step in 3_times:
# Stir until the hot chocolate blend
While hot_chocolate_still_not_blend:


Those term above already cover a daily concept that programmer use in their job as a basic fundamentals. If you want to know more, you can googling to or some beginner courses to learn more. I hope you can have a great conversation with your tech person friend or crush. Good luck 😄



Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store