JAXenter: Which programming languages do you use?
Pamela Prosperi: I usually use Python, but the company I work for is amenable to having teams own their own parts of the code and product, so I have also built in Golang for newer tooling. I find it challenging to pinpoint a universal programming language working at Sauce Labs, as projects run the gamut and each requires different expertise – from Android emulators, iOS simulators, and multiple operating systems.
SEE ALSO: Language satisfaction check-up: Python in the fast lane, Java *still* the language you love to hate
JAXenter: Why do you use them?
Pamela Prosperi: The company’s full-stack for backend was 100 percent Python and I don’t come from a Python background, so I needed to learn the language. Other languages like Node, Ruby, and Golang are assessed and used on a case-by-case basis. Additionally, because the company works very closely with Appium and their team, we use JavaScript to provision iOS and Android devices.
Python is straightforward and the syntax isn’t overly complex.
I started in web development and then transitioned to native mobile development, primarily for Android devices. So, as you might expect, I came from Java and JavaScript origins. Moving to my current role was challenging because it was a more backend/system approach.
The toughest hurdle is that when writing backend and pipeline code, you aren’t armed with the same functionalities and use different processes. Fortunately, Python is straightforward and the syntax isn’t overly complex.
JAXenter: How does language experience factor into your hiring?
Pamela Prosperi: We’re very careful about writing our team’s hiring posts and formulating requirements for job listings. Because Sauce Labs is so diligent, we’re able to pull from a variety of technical backgrounds. As a whole, we prefer great attitudes and those that can bring a new dynamic. This recipe helps keeps our internal culture thriving and prosperous.
JAXenter: Have you had any language migrations over the years?
Pamela Prosperi: When I first joined the company four years ago, I wrote Python for our Real Device Cloud. I have also helped build Native Android and iOS applications to automate tasks like modifying settings and connecting devices to WiFi. I have also crafted Appium automation scripts.
After about a year, I transitioned to the Virtual Device Cloud (Android emulators and iOS simulators) and that journey was vastly different, involving a great deal of knowledge into the systems we’re running – this required me to learn about virtualization, image building, pipelines and many hacky uses of things that were not built for these uses we give them.
As a developer, I am expected to evolve alongside the rapidly changing technology landscape
JAXenter: Is your current language your “forever” language, or do you anticipate switching at some point in the future?
Pamela Prosperi: As a developer, I am expected to evolve alongside the rapidly changing technology landscape. Keeping yourself abreast of the latest updates in technologies and languages is crucial to becoming a better engineer. I’m appreciative that Sauce Labs allows me to explore and stretch beyond my comfort zone.
JAXenter: Which languages are supported (have company tools written in them) v. unsupported?
Pamela Prosperi: The company’s primary backend is written in Python, while our image building is done using tools like Packer and Jenkins with Ansible playbooks, and then there’s some Node and Python scripts in the middle, as well as image testing in Ruby. As you can see, there’s never a dull moment in this position.
Thank you!
The post Finding your “forever” programming language: Is it still possible in today’s rapidly changing technology landscape? appeared first on JAXenter.
Source : JAXenter