Linguistics and philology are commonly considered as humanities. They are rarely associated with exact sciences, whereas programming would be more likely related to maths in popular opinion. However, those two areas are closely related and my experience proves that a degree in linguistics can help one become a good web developer. After all, both deal with languages. Linguistic studies provided me with the skills and knowledge necessary to rock in coding. I believe that I’ve got a considerable advantage in learning how to code and here are some arguments to support my point of view.
Linguistics is not about learning new languages, but more about studying their structure and rules that define them, finding abstractions and comparing the different ways they use to convey the same messages. Different languages - whether they are natural or programming languages - might function in different ways. Therefore, understanding the principles of a number of natural languages gives me the ability to quickly spot patterns in the next language I learn.
On top of that, in many cases some elements of structure are similar in two separate languages, so once I picked those up, I could easily leverage this when learning two programming languages that don’t seem to share an immediate ancestor. Therefore, switching from object-oriented Ruby to functional Scala will potentially be much easier for me in the future, should I decide to learn it. And let’s be honest - web development requires you to juggle a few different languages at all times and always be on the lookout for the “next big thing” that may or may not become the new standard.
Standard programming courses online are usually delivered in a clear and easily understable way. They provide basic information about coding, but they are not sufficient for professional development. Advanced, or more academic online courses (provided as MOOCs by universities) on the other hand, provide you with a more in-depth knowledge but are usually conveyed through a more sophisticated language and most of them are currently available for English-speakers only.
Having completed dozens of academic courses on different difficulty levels - and all delivered in English - I learned how to absorb knowledge from more sources than it would have been possible without English academic experience.
What’s more, academic language is more advanced and harder to comprehend. But once I got my head around it, it became much easier to learn new skills from courses organized by Harvard or Stanford Universities that are provided in English.
I majored in English and Arabic translation. And Arabic is nothing like what I was used to when dealing with European languages. It has totally different structure, rules, patterns, let alone the alphabet. Learning it required shifting my way of thinking to totally different tracks. Discrepancies are enormous, especially if one decides to learn Arabic without looking at it through the lens of European language norms and principles. To make it even more interesting, we even touched the basic grammar rules of Klingon.
Experience with Arabic came really useful when I started coding, as I also had to switch off my standard line of thought. Programming languages belong to a totally different group. They allow communication with computers, and therefore require distinct mindset as well.
Each and every language has different rules of punctuation. This also applies to coding. However, in the case of the latter, punctuation principles have even more importance than in natural languages, since your reader may infer your intended meaning despite punctuation errors, but the compiler or browser will not be so forgiving. Punctuation errors will result in either errors or different behavior than you intended.
Having gone through multiple languages and their complex systems of where and why to put a comma in a sentence taught me precision in punctuation. The Ruby programming language, that we embrace at Netguru, might be less strict in that area compared to more strict languages, but our code review is quite demanding, so I believe that my linguistic experience helped me master my code review.
Being a linguist helped me in becoming a better developer. Learning new programming languages came quite easily and now I am more accurate and systematic in my everyday job. However, it doesn’t mean I didn’t have to study coding at all. It still required a lot of effort on my side. But once I picked it up, it’s mostly satisfaction and fun.