What Is Automation, and What Should I Learn First?
Asked by
MellowCedar42
I'm new to programming and currently know the basics of Java and SQL. I'm interested in automation, but I'm not sure how broad the term really is. My current understanding is that automation means writing a script to handle repetitive workโfor example, automatically sorting incoming emails into categories so a person doesn't have to organize everything manually. I've heard that Python is especially useful for automation and that Bash can automate command-line tasks as well. How accurate is this mental model in real-world applications? If I want to start learning automation, what foundational knowledge, practical considerations, or common challenges should I understand first?
Answers
Start with general programming fundamentals: variables, conditions, loops, functions, data structures, debugging, and reading documentation. Then learn how to work with files, command-line tools, APIs, and basic operating-system concepts. Real automation also requires thinking about failuresโpermissions, missing data, network outages, duplicate actions, and unclear inputsโso good scripts should log what they do, handle errors, and be safe to run more than once.
Reply to this answer
Bash is worth learning for command-line tasks, shell pipelines, and running programs together. Python tends to be more comfortable once the workflow involves more logic, data processing, APIs, error handling, or reusable code. The best language usually depends on the system youโre automating.
Reply to this answer
Automation also exists at different levels. A small script might sort files or emails, while larger workflows can deploy software to remote servers or coordinate a chain of jobs. Tools such as Ansible and workflow platforms are designed for those more specialized or complicated cases.
Reply to this answer
Your example is exactly the basic idea: take a repetitive task that someone normally performs manually and have software handle it instead. Automation can be written in almost any language; Python is popular because it has libraries for files, email, web services, databases, and many other systems.
Reply to this answer
Add your answer
Answers are reviewed before publication.
MellowCedar42: That helps clarify the range. Besides learning a language, are there any common problems or important fundamentals I should understand before trying to automate real tasks?