المدونة, مقالات مهنية

Why I'm learning Python as a linguist

In early 2020, I started learning Python through the Python for Everybody Specialization on Coursera taught by Dr. Charles Severance of the University of Michigan, and I finished it in about 3 months.

In addition to the "how" and the "what's next?," I'll be discussing the "why" since Python and translation/localization don't seem like an obvious combination and the job market doesn't seem to treat programming as a key skill for translators (yet, but it definitely will).

?Why programming

A few things you can do if you have basic programming skills:

Building and customizing your personal website or portfolio. You'll find basic knowledge of front-end languages such as HTML, CSS, and JavaScript an immensely valuable skill as it opens many possibilities to customize your own blog or website that can drive your business forward and help you reach more clients and sell your services as a freelancer.

Developing time-saving scripts and simple automation to boost your productivity and decrease the time needed to get repetitive tasks done.

Expanding your skillset and capabilities to work on exciting projects that have much lesser competition just because not many linguists know how to code or handle projects that require some elements of coding, software localization, or natural language processing (NLP).

?Why Python

I had been studying the basics of HTML, CSS, and JavaScript on-and-off since I started working in the digital space. It was never something I do on a daily basis, but it always came to the rescue.

Building an online portfolio, customizing a website design or a WordPress theme, handling urgent client requests that involve both copy and design or code while their developer is on leave or unreachable, coming up with quick, efficient, and reliable automation tools that can help you decrease the time and effort needed to organize, send invoices to clients, track your word counts, and all of the things that successful linguists need to do but are sometimes very busy to remember or spend time on… These are all things you can do using surprisingly basic coding skills and a few hours of learning and practice that can get you to a level where you wouldn't necessarily know how to do all of these things, but you would definitely know where to look and how to customize existing code (thank you, Stack Overflow!) to achieve your goals quickly enough.

Python is a general-purpose programming language and it is often praised for its reliability, popularity, and simple syntax that is easy to read and learn. You can read about that in detail here.

I would also like to mention some real-life opportunities for linguists who can code, as this category in the translation, language and localization fields is only growing and will continue to grow with more and more big companies and big money focusing on projects related to natural language processing, automation, computational linguistics, and machine translation,

Some industries that have traditionally been relatively more immune to the effects of automation, such as subtitling and dubbing, are now actively engaged in machine translation projects under some of the biggest names in the market such as Amazon and Netflix with their 'Post-Edit' workflows that involve machine translation in the first step of creating a localized product then a human reviewing the resulting text to correct any mistakes and edit for style and editorial guidelines, actively 'teaching' the machine how to do better next time, and so on. Check out this article on Slator for more details.

While all of these technologies are aimed at decreasing translation costs, increasing machine translation accuracy and ability to contextualize and localize text and voice, potentially threatening the human contribution to the translation process and work that is available to translators worldwide, I choose to see this as an opportunity and as a pressing need for linguists to add coding skills to their essential toolbox to become equipped for the emerging market needs.

This is not some futuristic idea or something that the regular day-to-day language work wouldn't be affected by until 5 or 10 years in the future. Rather, it's a market reality today.

In addition to the applications I mentioned earlier, being able to write code can come in very handy in your translation process:

– If you're an SDL Trados Studio user, you can create your own applications and plugins in SDL OpenExhange.

– You can use AutoHotKey software to create any key binds and scripts that could, literally, save you hundreds of thousands of mouse and keyboard clicks every month, freeing up time for actual productive work. I owe this one to my colleagues, Ibraheem and Moe.

– You can make use of a great number of open-source tools that can run spell and grammar checks and perform targeted checks and fixes in your documents. For almost every language, you will find many open-source libraries you can download, adjust, and/or contribute to, mostly in Python and SQL databases.

One example of a job you can get right now with this intersection of linguistics and programming:

Language Engineer at Amazon (quoting the job description below, but you can also read this interview with an Amazon Language Engineer who graduated linguistics)

BASIC QUALIFICATIONS

– Bachelor’s or higher degree in a relevant field (linguistics or language)
– 2+ years experience in computational linguistics, language data processing, semantics, or syntax
– Experience with language annotation and other forms of data markup
– Experience working with speech and text language data in multiple languages
– Native or near-native fluency in a major non-English language

PREFERRED QUALIFICATIONS

– Experience with database queries and data analysis processes (SQL, R, Matlab, etc.), and Unix
– Experience programming in Perl, Python, or another scripting language
– Expertise in building ontologies, taxonomies, and semantic relation frameworks
– Experience in writing grammars and building FSTs
– Experience with statistical language modeling
– Practical knowledge of version control and agile development

In conclusion, Python is not the only nor necessarily the best thing one needs to learn to be able to make this mindset transformation with regard to looking at coding as a necessary skill rather than something that only programmers need to worry about. There are other concepts, programming languages and frameworks to dive into, but Python is a great start and is very much in demand in the fields at the intersection of computers and human language.

Plus, it is really fun! And I do not say that lightly as it truly contributes to one's learning curve and ability to keep up with all the new info and the storms of acronyms, frameworks, and computer science concepts.

This is why I'm learning Python as a linguist, and why you probably want to consider it, too.

Please feel free to share your thoughts in the comments section below or write to me privately here.


Finally, I would like to share with you some good educational resources to start with and experiment with Pythion if you don't have previous experience in coding or want to refresh your memory.

#1 Introduction to Python for Linguistics is an online free course offered by DigiLing, the Trans-European eLearning Hub for Digital Linguistics. You can enroll through this website.

#2 For Egyptian readers out there, please check out this article for details regarding two scholarship programs that sponsor Specializations and Nanodegrees for both aspiring and experienced programmers, data scientists and analysts, game developers, mobile app developers, and entrepreneurs.

Photo by Max Duzij on Unsplash

‏3 رأي حول “Why I'm learning Python as a linguist”

  1. Heba يقول:

    Thank you so much Ahmed for this great article. Actually, I never thought that programming has anything to do with normal translation tasks. So, every single time I came through Python course I say to myself: "Maybe later!, I better focus on be such a skillful and professional translator".
    After reading your article – and because I deeply believe that this is the era of interdisciplinary- I became much interested and excited to know more about how coding is actually related to
    translating by actual examples. So, kindly, consider presenting a workshop or webinar on this topic.

    Sincere thanks for sharing this.

    1. أحمد الخطيب يقول:

      Thank you very much for your comment and feedback. I will think about it and see how can I share some of the real-life applications I've been experimenting with. Being a beginner, this might take a while, though. Thanks again for taking the time to write this.

  2. Ibrahim Abubakr يقول:

    As expected, an informative and engaging read. I admit, however, that I’m biased because my name was mentioned in the article.
    "محروس مسك المقص"

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *