elorm.tsx

back to blogs

Programmers are Scientists Too!

Author: elorm

July 2nd 2024

Programmers Are Scientists Too!

"I've definitely been living under a rock, I just noticed this!, and it's 12:50am (Midnight) here, just thought it'll be cool if I write on it, *sips coffee"

In the ever-evolving landscape of technology and innovation, programmers often find themselves at the crossroads of creativity and logic. The stereotype of a programmer as merely a code monkey, typing away lines of code in a dimly lit room, is outdated and underestimates the true nature of their work. The reality is that programmers are, in many ways, scientists. They employ the scientific method, engage in rigorous problem-solving, and constantly push the boundaries of what is possible with technology. Let’s delve into why programmers deserve to be recognized as scientists.

The Scientific Method in Programming

Hypothesis and Experimentation

Every piece of code starts with a hypothesis. Programmers make educated guesses about how to solve a problem or implement a feature. They then write code to test these hypotheses, much like a scientist conducts experiments to test their theories. For example, when developing a new algorithm, a programmer hypothesizes that it will efficiently solve a problem. They then implement the algorithm and run tests to see if it performs as expected.

Observation and Analysis

Once the code is written, the next step is to observe its behavior. This involves running the program and closely monitoring its outputs and performance. Programmers use various tools and techniques to analyze the results, identifying any bugs or inefficiencies. This stage is akin to a scientist recording data and analyzing experimental results to draw conclusions.

Iteration and Refinement

Programming is an iterative process. Rarely does a piece of code work perfectly on the first attempt. Programmers continuously refine their code, making adjustments based on their observations and analysis. This iterative cycle of hypothesis, experimentation, observation, and refinement mirrors the scientific method used in research labs around the world.

Problem-Solving and Innovation

a. Tackling Complex Problems

Programmers often face complex and abstract problems that require innovative solutions. Whether it's developing a new software application, improving cybersecurity measures, or creating algorithms for artificial intelligence, the challenges they tackle are as formidable as those in any scientific field. Solving these problems demands a deep understanding of both theoretical and practical aspects of computer science.

b. Creativity in Code

Programming is not just about logic and precision; it also involves a significant amount of creativity. Writing elegant and efficient code is an art form. Just as a scientist might design an elegant experiment, a programmer designs beautiful code that is both functional and maintainable. This blend of creativity and technical skill is what makes programming a unique and powerful discipline.

Continuous Learning and Adaptation

1. Staying Updated with Technology

The tech industry evolves at a rapid pace, with new languages, frameworks, and tools emerging constantly. Programmers must stay updated with these advancements, much like scientists keep abreast of the latest research in their fields. This continuous learning ensures that they can apply the best possible solutions to the problems they face. But don't rush into things, understanding is key.

2. Adapting to Change

Adaptability is a key trait for both programmers and scientists. As new challenges arise, programmers must quickly adapt and find innovative ways to address them. This flexibility and willingness to embrace change are hallmarks of a scientific mindset. (copied this from Mark Zuckerberg or Elon Musk, one of them, nerrrh not quite sure which one)

Collaboration and Peer Review

1. Working in Teams

Many programming projects require collaboration within teams, much like scientific research often involves working with other researchers. Programmers share ideas, review each other's code, and work together to solve complex problems. This collaborative environment fosters innovation and ensures that the best solutions are implemented.

2. Code Reviews

Peer review is a fundamental aspect of both science and programming. In programming, code reviews serve as a quality control mechanism, ensuring that code is efficient, secure, and maintainable. Just as scientific papers are peer-reviewed to validate their findings, code reviews help validate the effectiveness and correctness of the code.


To conclude, programmers employ the scientific method, engage in rigorous problem-solving, and constantly innovate to push the boundaries of technology. By recognizing the scientific nature of programming, we can better appreciate the skill and creativity that programmers bring to the table. So the next time you see a programmer or a "brogrammer 💪🏾" hunched over their keyboard, remember that they are not just writing code—they are conducting experiments, solving problems, and contributing to the advancement of technology in ways that are profoundly scientific.

Thanks for reading!

また今度皆さんとお話しましょう! とりあえずさようなら 🍜🍙


back to blogs