Home Computer ProgrammingWhy You Should Learn At Least A Little Coding For Your Career

Why You Should Learn At Least A Little Coding For Your Career

by Alys Brooks
Why You Should Learn At Least A Little Coding For Your Career

You’ve probably heard the call for more people to learn coding skills. Maybe you’ve dismissed it because you have no interest in becoming a web developer or software developer. Or maybe you don’t think you have the ability. 

Here’s some great news: you don’t need to become a developer or have a natural knack to solve practical problems with coding.

If your job interacts with the web, learning HTML and CSS lets you make changes and build new pages and even entire websites from existing templates and toolkits that provide common building blocks. If you have any tedious or repetitive task on a computer, a short script can do it for you. Finally, learning SQL lets you answer questions and gather data from the databases and other sources without relying on built-in reports.

The options below are roughly ordered based on complexity and applicability. Automation programming languages, while offering the possibility to save enormous amounts of time, are more complex and often require significant experimentation and testing.

Before You Get Started

If you have a specific project in mind, it can be helpful to reach out to a coworker, friend, family member, or tutor with technical skills. You don’t want to spend a month learning a coding tool only to learn there’s a fundamental incompatibility with your operating system.

It’s also good to consider whether you have the prerequisites. If not, take some time to brush up so you don’t get tripped up.

Also, check whether you can get support from your employer. If you’ve chosen your skill well, there’s likely a strong business case for you learning it. Your boss may allow you to learn during your work hours or help you pay for materials or even lessons with a coding tutor. Some HR departments have designated benefits, often under the name professional development.

No-Code Options to Consider

Before jumping in and learning to code, consider alternatives that require little to no coding. As the demand for coding has risen, so have the number of tools that attempt to reduce or eliminate the amount of coding necessary. They don’t make coding obsolete, however – often knowing code gives you useful background or allows you to make small customizations or extensions.

Even if one of these options turns out to be more “low code” than “no code” for your needs, starting off with no code allows you to get up and running quickly and gives you a better sense of what kind of coding is most useful to learn.

Some examples:

  • If you want to build a website, tools like Wix, Weebly, or Squarespace provide professional templates and the tools to customize them.
  • Web automation tools allow you to hook together websites. For example, you could create a blank agenda in Google Docs whenever someone schedules an appointment with you. Some examples are Zapier, IFTTT, and Integromat
  • You can do a lot of analysis without writing a single line of code. Tools like Tableau and Qlik allow you to dive into data, save reports, and create dashboards. Increasingly, you can also do machine learning without writing code. However, these are more shortcuts for people who do know how to code because of the need to clean and import data. Knowing how to properly train models also requires expertise.

Coding Skills Are Likely Useful in Your Current Job

There are a few benefits that aren’t area-specific. Learning any language helps you get in the mindset of breaking down problems and translating it into steps the computer can execute. Many of the specific technical skills can be integrated with other languages. For example, almost every programming language uses regular expressions for working with strings.

Similarly, it’s common to use SQL for the database interactions regardless of the primary language used for the app. Learning to code also has a way of demystifying computers. Even just dabbling exposes you to some of the details. You’ll learn (and probably see and understand more vividly) how computers are merely extremely literal rule-following machines…and you can write those rules.

Many of the ways of learning to code for your job depend on exactly what you’re learning, and why. The following subsections consider several kinds of programming most useful to professionals and the benefits specific to each.

Look Around You

One good way to learn coding is to look at websites, documentation, menus, or options for the tools you use every day. It might turn out that you can automate daily tasks, add the functionality you’ve been missing, or answer questions using data you thought was locked into that system.

Here are some terms that suggest a tool might be easy to work with using code:

  • Script: a short, relatively simple program, often one that automates a specific set of steps. Scripts often run within larger programs or connect larger programs together.
  • Macros: a short-cut for a series of actions defined by a user. For example, in Microsoft Word, you could define a single macro that adds an image caption in the correct format. Macro functionality can be a great time saver.
  • API: stands for Application Program Interface. An interface to a program for other programs. If a program or website has an API, you can write code to leverage it with (relative) ease.

For more terms, refer to Literals and Objects and Types, Oh My! A Glossary of Important Programming Terms.

Learn the Building Blocks of the Web: HTML and CSS

You’ve probably at least heard the initialisms HTML and CSS. HTML describes the content of a page and CSS determines how it looks. While they are technically separate languages, they are almost always used together.

While building a complex layout from scratch requires a fair amount of time and knowledge, including the graphic design skills to come up with an effective and attractive design, modifying existing layouts and creating simple ones requires less knowledge—maybe a few days or weeks of learning.

With basic HTML and CSS skills, you can learn to use tools like Bootstrap and Bulma, which consist of building blocks you can combine to create professional sites quickly.

Regular Expressions: Search and Replace On Steroids

If you work with a lot of text—or data in a textual format like CSV files—you may have run into the limits of find and replace. Maybe you want to find all instances of ‘sock’ as well as ‘socks.’ You could do it with the regular expression ‘socks?’—the question mark indicates the previous character is optional.

You can also do more complex actions. For example, you could use regular expressions to convert phone numbers written as ‘555-555-5555’ to ‘(555) 555-5555’.

Regular expressions are built into some word processors, including Google Docs and LibreOffice, and most text editors. Microsoft Word’s advanced pattern matching feature, called wildcards, uses different special characters but is similarly powerful. If you just want to test out regular expressions, try Regex101 or RegExr.

If you want to dive deeper, full-fledged programming languages exist that have a lot of tools for manipulating text. On macOS and Linux, you can use awk or commandline utilities like grep and sed. On Windows, PowerShell has many text manipulation functions.

Speak with Databases in Their Native Language (SQL)

One of the most common types of database is the relational database. It’s called that because it can store relationships between records. So not only can you answer questions like ‘What are the ages of all the students?’ and ‘What classes are being offered this semester?’ but also ‘How many classes is each student taking?’.

SQL is the lingua franca of relational databases. By learning it, you can go beyond the provided dashboards or reports and answer specific questions.

And like a lingua franca, it’s a popular second language. VBA and formulas are Excel’s native languages, but you can query Excel as though it were a database with various plugins. So even if your company doesn’t actually use a relational database, there are probably datasets you can analyze with SQL.

SQL is a declarative language, meaning you describe the data you want rather than writing out the steps required to get it. In addition to being powerful, it also makes SQL easier to learn, as you don’t have to learn very much of the language in order to start writing useful queries.

There are small differences between each database’s version of SQL, but the concepts are very similar. The concepts also translate to other data tools, like Pandas, a common data science tool that extends Python to work with tabular data.

Build an Automation Toolbox with VBA, AppleScript, or AutoHotkey

You probably have at least one tedious task at work you’d love to automate away. Maybe you have to copy and paste data from an intranet website into a spreadsheet. With the amount of work that’s moved to computers, you probably have at least one task that’s tedious or repetitive. Perhaps it’s required at the end of the week, month, or quarter and is one of the last things standing between you and vacation. Learning to automate those tasks can help and make you feel like a wizard to boot.

The automation tool to learn depends on your operating system and tool:

  • AppleScript is a simple scripting language for macOS. In addition to support for animating built-in tools, application developers can add automation support to their application, and many have.
  • Visual Basic for Applications is the scripting language used by Word, Excel, and other Microsoft Office applications. Unfortunately, it’s only available for the Windows version of office and not in the web or macOS versions.
  • AutoHotkey is a scripting language that allows for automating a wide variety of programs on Microsoft Windows. As a third party language, it lacks the direct support for specific applications. Instead, you trigger interface elements like a hotkey or a button.
  • Shell scripting allows you to automate software development, system administration, and a variety of other tasks, like resizing images or converting documents. On macOS and Linux, the included shell is Bash. Windows includes PowerShell. It’s actually possible to run PowerShell on macOS and Linux and bash on Windows, but they may not work as well as on their native operating systems.

Like a physical shortcut, it’s possible for a time-saving automation to take longer to build, test, and refine than it actually saves you. One pitfall of automation is that it’s easy for unanticipated problems.

Automating tasks that are done regularly or by multiple people tend to be good candidates. Error-prone tasks are also good candidates, even if the task is easy in the best case scenario, particularly if finding and fixing mistakes manually is time consuming.

Consider the other benefits of automation as well. Automating tasks is great when consistency is valuable. For example, having a shortcut to create an invoice ensures a consistent naming scheme, perhaps with the date and client to help you find them later. Some tasks are short but need to be done when you have little time to spare. For example, automating travel-related tasks means you don’t have to fit them in on top of packing and coordination. Finally, the automation serves as documentation of how to do the task, at least for people who understand the language it’s written in.

The flip side is that tasks that require variety, are mostly done during slow periods (especially when you’re waiting for other things anyway), are already documented, or don’t need to be documented tend to be bad candidates.

Besides the specialty languages, several general-purpose programming languages are also particularly suited for automation. Python and (as discussed) JavaScript are leading contenders, but many popular languages have automation components or variants that are suited for scripting.

Upskilling to a New Career

Much of the hype nowadays is focused on learning coding in order to become a developer, (we’ve even covered it here: How to Upskill Into A Career in Coding). Still, it’s worth reiterating why this advice is common. Software developers are in high demand, and they tend to be paid well. In the United States, the median salary is $107,000, and it’s expected to grow by 20 percent, according to the Bureau of Labor Statistics. Similar trends exist in other countries.

It’s also worth covering the minuses. While a majority of developers are satisfied with their jobs, satisfaction is lower than some other fields. And getting a job in the field can be challenging. For example, while many coding bootcamp graduates find a job, a 2019 report found ten percent do not. This isn’t to discourage you from a career, but to better prepare you.

Because of the demand for more software developers, you have a lot of new options, like bootcamps and online courses. There are also more traditional techniques, like learning from a book, hiring a tutor, or taking graduate, professional, or community college classes.

Coding can make a great second career, but there are a number of useful programming skills beyond learning to make apps, websites or other tasks that require the skills of a full-fledged developer. Regardless of how deeply you study, learning to code will help future-proof your skills and give you a better understanding of technology that your work—and much of the rest of our lives—depend upon.

Related Articles