Beginning Python for Non-Programmers
  • Cover
  • About the Author
  • Introduction to Programming
    • What is Programming?
    • What Programmers Do
    • The Mind of a Programmer
    • How Does a Programmer Think?
  • Programming Languages
    • Python
    • HTML / CSS
    • JavaScript / TypeScript
    • C, C++, C#
    • Java
    • SQL
  • Introduction to Python
    • What is Python?
    • Types of Python Programs
    • Core Tools for Python Programming
      • Python Interpreter
      • Jupyter Notebooks
      • Visual Studio Code
      • Python Playground
      • Pycharm Community Edition
  • Installing Python
    • Step-by-step guide for Windows Users
    • Step-by-step guide for Mac Users
  • Installing Visual Studio Code
    • Step-by-step guide for Windows Users
    • Step-by-step guide for Mac Users
  • Writing and Running Your First Python Program
  • Basic Concepts of Python Programming
  • Control Flow in Python
  • Functions and Reusability
  • Debugging and Problem Solving
  • Exploring More Python Concepts
  • Adding Python Packages with pip
  • Python Web Frameworks
  • Resources for Continued Learning
    • CodeAcademy.com
    • Python.org
    • SoloLearn.com
    • coursera.com
    • udemy.com
    • youtube.com
    • Code With Mosh
    • GameDev.tv
  • Staying Motivated and Practicing Regularly
  • Appendices
    • Beginner Project Ideas for Learning
    • Python Cheat Sheet
    • Frequently Asked Questions for Beginners
Powered by GitBook
On this page

Was this helpful?

Edit on GitHub
  1. Introduction to Programming

The Mind of a Programmer

Being a programmer is exciting and challenging. Everything is a problem that needs to be solved. How does a programmer's mind work? What makes him/her unique?

Programmers are problem solvers. We look at something and break it down to see what are the issues that need to be overcome, what are the goals to achieve, and what are all the steps necessary to solve that problem.

Programmers often have to consider what the end-user experience will be, where all the information will come from, and make sure the process is clear. We have to plan for any type of error. What if a user puts in the wrong information? What is the information we need is missing?

Think of it like taking a cross-country road trip.

The customer wants you to get them from point A to point B. They are focused on what they will do once they arrive at point B. The customer only cares about the end results of being at point B on time.

The programmer is responsible for everything between point A and point B. The programmer is focused on the journey. The programmer immediately begins to plan:

  • How far can we drive per day?

  • What route should we take?

  • What hotels should we stay in?

  • Where do we eat and when?

  • When will we stop for fuel or resting?

  • What do we do if the car breaks down?

  • What supplies do we need in the car? Snacks, chargers, drinks?

  • What weather conditions will we encounter?

So while the customer is focused on the destination, the programmer is focused on the journey.

Some problems can be foreseen and planned for. Some things cannot be predicted. Perhaps the customer has changes to the plan along the way. Maybe there are difficulties you were not prepared for. The customer might even change the final destination before you reach it.

A good programmer will have a clear understand of what the customer wants and a good idea of what might go wrong, or change, along the way. A good programmer understands that the customer rarely has a good understanding of every aspect of the journey. They just want to arrive at the destination on time and on budget.

Some content generated with AI

PreviousWhat Programmers DoNextHow Does a Programmer Think?

Last updated 9 months ago

Was this helpful?