Software Programming as a Skill
Source: Dev.to
What are the uses of software programming as a skill?
When people talk about software or computer programming, they usually mention automation, building websites, creating apps, or developing software systems.
These are legitimate use cases, but they only tell part of the story.
In this post, I step back and look at programming from first principles.
Programming became an essential skill because of the powerful hardware devices we’ve built over the past several decades. To understand why programming matters, it helps to build a simple conceptual model of these devices.
Imagine a device with the following characteristics:
- It can take some kind of input (any signal that tells the device something).
- It can perform certain operations on the inputs.
- It can optionally store some information.
- Its operations produce an output.
The simplest device that fits this structure is a modern calculator.
A modern calculator can be visualised as:
- Taking input via its buttons.
- Performing mathematical operations.
- (Optionally) storing the results of previous calculations.
- Displaying output on the screen.
This basic structure applies to most computing devices: they take input, process it using built‑in operations, store information when necessary, and return output.
Where Does Programming Fit In?
Let’s return to the calculator example.
Today’s calculators can do far more than simple addition, subtraction, multiplication, and division. They can compute logarithms, trigonometric values, square roots, and even solve equations.
Underneath all these higher‑order functions is the same foundation: the basic operations (+, –, ×, ÷). In mathematics, many advanced functions can be broken down into a series of steps using these fundamentals.
Take the square root of 10, for example. One way to compute it is through Newton’s method: start with a guess and repeatedly refine it using a formula until the value stabilises. When you press the √ button, your calculator performs these steps automatically.
Something has instructed the calculator how to combine the basic operations to compute a square root.
That something is a program.
And the someone who designed it is a programmer.
So What Is Software Programming Really?
Software programming essentially becomes the art of:
- Understanding the operations a hardware machine can perform, and
- Organizing those operations in meaningful, structured ways to make the machine perform useful or complex tasks.
As hardware became faster and more capable, programming became even more powerful. Programmers could take simple operations and combine them to create games, run simulations, build chatbots, power websites, perform advanced mathematics, and much more.